Advertisement

数据挖掘之模型评估(AUC和F-measure)

阅读量:

最近在打一个数据挖掘的比赛,看到评分标准如下:

通过以下公式计算得分为:

score = 0.6 \times auc + 0.4 \times F1

其中,

  • auc 值基于测试集上的预测结果以及预设的标准AUC指标进行评估得到的数值;
  • F1 值则针对标注为正类(即风险用户的)的所有样本,并基于预设的标准F1指标进行评估得到的结果。

对于刚入数据挖掘领域的新手而言,对评分规则完全看不懂是常有的事。于是他赶紧去查了一下AUC的用法。

AUC是一种用于评估模型性能的重要指标,在实际应用中仅适用于评估二分类问题中的模型表现。许多机器学习算法在处理分类问题时会输出概率值,在计算准确率时需要将这些概率转换为类别标签。为了实现这一目标,通常需要手动设定一个临界值作为判断依据:如果某个样本的概率高于该临界值,则将其归类到指定类别中;反之,则分配到另一个类别中。

AUC被定义为,在随机选取一个正样本和一个负样本的情况下,分类器将该正样本判定为阳性的概率值大于其将该负样本判定为阳性的概率值所具有的较大可能性

给定一组包含M个正样本和N个负样本的数据集,在数据集中随机选取一对正负样本来构建事件集合(作为分母)。针对每个正样本x_i,在测试集中计算其概率估计P(x_i),然后统计所有对应的负样例y_j的概率估计P(y_j)中满足P(y_j) < P(x_i)的数量,并将此数量加1得到分子部分的数值总和。遍历全部的M个正样例后所得的结果即为AUC评估指标的计算值

知乎上有说法指出,AUC方法能够有效防止将预测概率直接转换为类别标签。个人认为,在运用AUC评估模型性能时,通常会直接使用预测的概率值来进行评估,并不受分类阈值的影响。

参考:https://www.zhihu.com/question/39840928?from=profile_question_card

接下来要掌握F-measure方法。这个方法基于精确率(precision)和召回率(recall)的基础上。

比赛要求的提交格式如下:

参赛队伍在初赛及复赛阶段均采用CSV文件格式提交其预测结果

按照风险程度由高到低进行排序后, 系统能够根据排序结果计算出每个样本的AUC值, 并以此对模型进行评估. 其评估结果不受阈值变化的影响, 而F测度则会受到阈值变化的影响. 在调整模型参数时需要权衡不同指标的影响.

全部评论 (0)

还没有任何评论哟~