首页 > 解决方案 > catboost eval_metrics 返回值

问题描述

我正在使用CatBoostClassifier'seval_metrics来计算我的测试集上的一些指标,但我对它的输出感到困惑。对于给定的指标,默认情况下,它似乎返回一个数组,其大小等于迭代次数。

这似乎与predict仅返回单个值的函数不一致。返回的数组中哪个数字eval_metricspredict函数一致?

我检查了https://catboost.ai/docs/concepts/python-reference_catboostclassifier_eval-metrics.html#python-reference_catboostclassifier_eval-metrics__output-format上的文档,但我仍然不清楚。

标签: decision-treecatboost

解决方案


Catboost 分类器是一种使用 Boosting 方法的集成分类器。简单地说,Boosting 算法迭代训练较弱的算法(在这种情况下为决策树)来进行预测。创建的每棵树都从先前较弱的树所犯的集体错误中学习,并试图从这些错误中学习。Catboost 基于 Gradient Boosting,我不会深入探讨。这里相关的是,在该过程中生成了许多较弱的树,当您调用该eval_metrics()方法时,您将获得每个生成树的评估指标。您指定在提供 、 或创建模型时生成的树数iterations(如果num_boost_round未指定,则默认值为 1000)。n_estimatorsnum_trees

您为该方法指定的其他参数eval_metrics()将定义间隔ntree_start为. 如果未提供这些,您将获得所有生成的较弱树的数据的指定指标,这就是您获得值列表的原因。ntree_endeval_period


推荐阅读