选择auc,error或logloss作为XGBoost的eval_metric如何影响其性能?假设数据不平衡。它如何影响准确性,召回率和准确性?
答案 0 :(得分:5)
在不同评估矩阵之间进行选择不会不会直接影响性能。 用户可以使用评估矩阵来评估他的模型。 accuracy 是另一种评估方法, precision-recall 也是如此。另一方面,目标函数 是会影响所有这些评估矩阵
例如,如果一个分类器对标签1的概率为0.7,对标签0的概率为0.3,而另一个分类器对标签1的概率为0.9,对标签0的概率为0.1,则它们之间的误差将不同。 ,尽管它们都会正确分类标签。
大多数情况下,我个人使用roc auc评估二进制分类,如果我想更深入地研究一下,我会看一看混淆矩阵。
在处理不平衡数据时,需要知道多少不平衡,是30%-70%的比率还是0.1%-99.9%的比率?我读过一篇文章,内容涉及精度召回如何更好地评估高度不平衡的数据。
还有更多阅读材料:
ROC and precision-recall with imbalanced datasets
使用 early_stopping 时,评估指标唯一可影响模型准确性(或其他评估矩阵)的方法。 early_stopping 根据您的评估指标来决定何时停止训练额外的助推器。 early_stopping 旨在防止过度拟合。