问题标签 [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.
catboost - 如何在 CatBoostClassifier.fit() 之后获取评估指标?
我已经训练了一个分类模型调用CatBoostClassifier.fit()
,还提供了一个eval_set
.
现在,我怎样才能获取评估指标的最佳值,以及在训练期间实现的迭代次数?plot=True
我可以通过设置调用来绘制信息fit()
,但是如何将其分配给变量?
我可以在训练模型调用时做到这一点cv()
,因为它会cv()
返回所需的信息。但CatBoostClassifier.fit()
根据文档不返回任何内容。
这是我用来拟合模型的代码片段:
如果我改用以下方法,我将如何设法获取所需的信息cv()
:
python-3.x - LightGMB 中是否有对象重要性?
我知道在 Python API的CatBoost中,可以使用get_object_importance方法计算对象重要性(不要将其与特征重要性混淆)。
我想知道LightGMB中是否有类似的选项?
machine-learning - 当要预测的值是分类值时不起作用
问题:当要预测的值是分类 catboost 版本时不起作用:0.8 操作系统:Windows CPU:intel
当我的值( Y )也被预测为分类时,出现“不能转换为浮动”的错误。我必须对 Y 值进行一次热编码吗?
感谢帮助。
Python代码:
那么错误是:
ValueError:无法将字符串转换为浮点数:“一些缺陷”
python - LightGBM 和 Catboost 都已安装,但在 Jupyter 中导入时会出现 ModuleNotFoundError
我已经使用命令提示符成功安装了 CatBoost 和 LightGbM 模块。它给了我消息 Successly installed catboost-0.2.5(我之前也尝试过另一个)。但是,当我尝试将它们都导入到 jupyter 笔记本中时,我遇到了相同的错误:
我得到:
我也遇到了与 CatBoost 相同的错误。
有任何想法吗?谢谢!
loss-function - catboost 中的 Mlogloss 值开始为负并增加
我正在使用设置运行 catboost 分类器:
我有 5 个类,它从 -ve 值开始,在拟合模型时增加如下:
这是正常行为吗?而在大多数机器学习算法中,logloss 是正的并且随着训练而减小。我在这里想念什么?
python - 如何在 Python 中正确加载 CatBoost 中的预训练模型
我受过训练CatBoostClassifier
来解决我的分类任务。现在我需要保存模型并在另一个应用程序中使用它进行预测。为此,我通过方法保存模型并通过save_model
方法恢复它load_model
。
但是,每次调用predict
恢复的模型时,都会出现错误:
所以看起来我需要再次训练我的模型,而我需要恢复预训练模型并将其仅用于预测。
我在这里做错了什么?我应该使用一种特殊的方式来加载模型进行预测吗?
我的训练过程是这样的:
我使用以下代码恢复模型:
python - 如何让 CatBoost get_object_importance 与 AUC 一起使用?
我在这里复制了这个例子。
该示例试图改进 RMSE(更低-> 更好)。
我有限的理解是 CatBoost 将尝试在底层尽量减少 LogLoss。在这个例子中,较低的 LogLoss 似乎与较低的 RMSE 相关。
除了用 观察 RMSE 之外cb.eval_metrics(validation_pool, ['RMSE'])['RMSE'][-1]
,该示例并没有真正使用 RMSE 作为自定义损失函数。
就我而言,我有一个二元分类问题,我想最大化 AUC。我不确定我是否应该将代码保持原样,并希望较低的 logloss 与较高的 AUC 相关(它没有),或者如果我需要以不同的方式设置它,也许使用 AUC 作为自定义损失/eval_metric函数,然后importance_values_sign
从“正”翻转到“负”。
python - 非常相同的数据和非常相似的 catboost 模型之间的特征重要性截然不同
让我先解释一下我正在使用的数据集。
我有三套。
- 形状为 (1277, 927) 的火车,目标出现的时间约为 12%
- 形状为 (174, 927) 的评估集,目标出现的时间约为 11.5%
- 支持形状为 (414, 927) 的集合,目标出现的时间约为 10%
这组也是使用时间片构建的。训练集是最旧的数据。支持集合是最新数据。并且 Eval 集在中间集。
现在我正在构建两个模型。
型号1:
预测保持集。
型号2:
除了迭代之外,两个模型都是相同的。第一个模型修复了 300 轮,但它会将模型收缩到最佳迭代。第二个模型使用模型1中的最佳迭代。
但是,当我比较特征重要性时。看起来差别很大。
如您所见,在第一个模型中位于 top3 的特性 x3 在第二个模型中下降。不仅如此,给定特征的模型之间的权重也有很大的变化。模型 1 中存在的大约 60 个特征在模型 2 中不存在。模型 2 中存在的大约 60 个特征在模型 1 中不存在。delta 是 Score_m1 和 Score_m2 之间的差异。我已经看到模型变化在哪里得分不是那么剧烈。当我使用模型 1 或模型 2 时,AUC 和 LogLoss 并没有太大变化。
现在我有以下关于这种情况的问题。
由于样本数量少,特征数量多,这个模型是否不稳定。如果是这种情况,如何检查?
此模型中是否有功能只是没有提供有关模型结果的太多信息,并且它正在创建分裂的随机变化。如果这种情况如何检查这种情况?
这种 catboost 是适合这种情况的模型吗?
任何有关此问题的帮助将不胜感激