gpt4 book ai didi

python - 如何抑制 CatBoost 迭代结果?

转载 作者:行者123 更新时间:2023-12-04 11:13:28 29 4
gpt4 key购买 nike

我正在尝试使用 CatBoost 来拟合二元模型。当我使用以下代码时,我想到了 verbose=False可以帮助抑制迭代日志。但它没有。有没有办法避免打印迭代?

model=CatBoostClassifier(iterations=300, depth=6, learning_rate=0.1, 
loss_function='Logloss',
rsm = 0.95,
border_count = 64,
eval_metric = 'AUC',
l2_leaf_reg= 3.5,
one_hot_max_size=30,
use_best_model = True,
verbose=False,
random_seed = 502)

model.fit(X_train, y_train,
eval_set=(X_test_filtered, y_test_num),
verbose = False,
plot=True)

enter image description here

最佳答案

CatBoost 有几个参数来控制详细程度。那些是 verbose , silentlogging_level .

默认情况下,日志记录是详细的,因此您可以在每次迭代中看到损失值。
如果您希望看到更少的日志记录,则需要使用这些参数之一。
不允许同时设置两个。
silent有两个可能的值 - TrueFalse .
verbose也可以TrueFalse ,但也可以是整数。如果是整数 N,则每次第 N 次迭代都会打印出日志记录。
logging_level可以 'Silent' , 'Verbose' , 'Info''Debug' :

  • 'Silent'意味着没有输出到标准输出(重要警告除外)
    silent=True 相同或 verbose=False .
  • 'Verbose'是个
    默认记录模式。同verbose=True或者silent=False .
  • 'Info'打印出被选中的树
    每一次迭代。
  • 'Debug'打印大量调试信息。

  • 有两个地方可以使用这些参数。
    第一个是模型创建。第二个是拟合创建的模型。
    如果您在创建模型时使用了参数,则在拟合函数中未指定参数时,将在拟合期间使用该参数。

    如果在 fit 函数中使用参数,则将使用此参数选择的模式。

    在您的情况下,您似乎遇到了错误。下次你看到一些错误时,最好的办法是使用 GitHub 页面上的问题向 CatBoost 团队报告。此错误应该已经修复,因此请尝试升级到最新版本或从源代码构建代码。

    关于python - 如何抑制 CatBoost 迭代结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51111323/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com