机器学习中的评估指标

时间:2016-10-20 03:29:25

标签: r machine-learning classification data-mining

对于二进制分类问题作为下面的例子,如果我在训练中使用“Accuracy”作为度量并使用ROCR包找到AUC分数,那将是多么合乎逻辑?或者我应该使用“ROC”作为计算AUC分数的指标吗?数据集不平衡。

control <- trainControl(method="cv", number=5)

fit <- train(diabetes~., data=PimaIndiansDiabetes, method="gbm", metric="Accuracy", trControl=control)

2 个答案:

答案 0 :(得分:1)

为了评估任何分类器性能,最基本的度量标准/基准标记是混淆矩阵,因为准确度,精度,召回率,F度量,ROC和AUC都来自混淆矩阵。提出您的问题,准确度是否足以判断二元分类器的性能指标?答案是&#34;是&#34;,只有当数据分布是平衡时,即类-1和类2对象的数量相等。但是,如果数据不平衡(如您的情况那样),那么使用准确性作为关键绩效指标是一个很大的 NO 。揭示准确性的吸引力/谬误的一个简单例子是:考虑***电话公司想要检查它产生的有缺陷的手机的数量。现在平均每1000个手机中就有10个不良手机,并且内置的分类器从未在其采样的1000部手机中捕获有缺陷/坏手机,那么分类器的准确度仍为99%,因为TP = 990且TN = 0且准确度= TP + TN / 1000。因此,评估绩效的最佳或最重要的基准是每个级别的F-得分,从那以后可以进入下一级绘制ROC曲线并评估AUC。

答案 1 :(得分:0)

我认为,如果您想使用准确性,则应该首先使用上采样或下采样等技术使数据集平衡。 就可解释性而言,AUC优于准确性。