问题标签 [catboost]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
649 浏览

python - 打印 CatBoost 超参数

训练模型后如何打印 CatBoost 超参数?

我们sklearn可以只打印模型对象,它将显示所有参数,但catboost只打印对象的引用:<catboost.core.CatBoostRegressor object at 0x7fd441e5f6d8>

0 投票
1 回答
2341 浏览

python - NameError:名称'y_train'未定义

我收到错误“NameError: name 'y_train' is not defined”。我在这里复制了 CatBoost 示例中的代码:https ://towardsdatascience.com/catboost-vs-light-gbm-vs-xgboost-5f93620723db

我搜索了类似的问题,发现表明该变量只能在函数中使用,但由于我没有创建函数,因此列出的解决方案不适用...

错误信息如下:

0 投票
1 回答
643 浏览

python - 使用具有相同 random_seed 的 CPU 和 GPU 的 CatBoost 回归时的不同指标得分

使用 CPU 和 GPU 运行相同的代码会给我不同的 RMSE 分数。为什么?

我一遍又一遍地运行以下代码,同时在特征工程和特征选择阶段进行调整。

一段时间后,我厌倦了等待训练,所以我将第二行代码替换为以下代码,转而在 GPU 而不是 CPU 上进行训练

现在训练速度提高了大约 5 倍,但我注意到指标显着下降(测试集的 RMSE 从 0.13955@CPU 变为 0.14377@GPU)。GPU 和 CPU 是否通过相同的接口使用不同的随机数生成器,还是我还缺少其他东西?

我正在使用以下硬件

  • Intel Core i9-8950HK (CPU @ 2.90GHz)
  • 英伟达 Quadro P2000
0 投票
3 回答
4489 浏览

python - Catboost 默认超参数

如何返回 CatBoost 模型的所有超参数?

注意:我认为这不是Print CatBoost 超参数的重复,因为该问题/答案不能满足我的需求。

例如,使用 sklearn 我可以:

这将返回所有超参数、我定义的超参数和其他默认值。

使用 Catboost 我可以使用 .get_params() 但它似乎只返回用户指定的参数:

例如,我想知道 learning_rate 使用了什么,但理想情况下得到整个列表。

0 投票
1 回答
524 浏览

catboost - skopt 的 BayesSearchCV 与 CatBoost

我正在尝试将 skopt 的 BayesSearchCV 方法与 Catboost 一起使用。但是,我对将 catboost 原生的分类特征的索引传递到bayesSearch 对象的 fit() 方法的位置感到困惑。

fit() 抛出错误无法将分类转换为浮点数,

我知道,错误是因为我没有传递分类变量的索引,但我无法在贝叶斯的 fit() 方法中传递它们。还尝试了 catboost 的 pool() 方法,它也不起作用。

0 投票
1 回答
1844 浏览

python - CatBoost LossFunctionChange 中的负特征重要性值

我正在使用 CatBoost 进行排名任务。我使用 QueryRMSE 作为我的损失函数。我注意到某些特征,特征重要性值为负数,我不知道如何解释它们。

它在文档中说,第 i 个特征重要性计算为损失(排除第 i 个特征的模型)-损失(模型)之间的差异。

所以一个负的特征重要性值意味着这个特征让我的损失增加了?那说明什么呢?

0 投票
1 回答
55 浏览

python - 如何从 CatboostClassifier 中的“experiment.cbsnapshot”文件中恢复模型?

我正在使用 CatboostClassifier 进行培训。然后训练被杀死,但我检查了save_snapshot=True,因为experiment.cbsnapshot创建的文件。如何从中恢复模型experiment.cbsnapshot

0 投票
1 回答
168 浏览

python - 是否可以使用 Catboost 在 Python 中导出 MultiClassification 模型?

我正在尝试将我的 MultiClassification 模型保存在 Python 中。

我知道目前 Catboost 目前不支持在 Python 中保存 MultiClassification 模型。

是否有任何解决方法,如果我想保存并应用此模型,我是否必须使用 Java 或其他东西?

0 投票
2 回答
65 浏览

catboost - 是否可以防止命令行 CatBoost 在交叉验证模式下对输入数据进行混洗?

我的数据包含 10 周的观察结果。我想以 9 对 1 周模式交叉验证模型。所以,我不希望 CatBoost 在拆分之前对数据进行洗牌。命令行可以吗?

我不确定“--cv-rand 0”(或任何其他值)是否可以作为“非随机播放”。

0 投票
0 回答
715 浏览

python - 如何在 CatBoost 中实现自定义多类目标函数?

我正在尝试按照以下指南为多分类实现自定义目标函数: https ://catboost.ai/docs/concepts/python-usages-examples.html#custom-objective-function

我想知道在 calc_ders_multi() 中定义的梯度和 Hessian 矩阵的预期格式是什么。

为了了解它是如何工作的,我尝试重现 MultiClass 损失函数,但是使用定义的梯度和 Hessian 矩阵,程序启动并卡住而没有抛出任何错误。如果我没有定义 Hessian(返回 []),程序运行没有问题。