前言
该文只作为个人懒得每次都百度这个指标问题,收藏东西又太多不好翻找所作总结,仅供参考
1 混淆矩阵
混淆矩阵
预测正例 | 预测反例 | |
真实正例 | TP(真正例) | FN(假反例) |
真实反例 | FP(假正例) | TN(真反例) |
1.1 二分类问题的预测结果可以根据情况分成以下四类:
- 真正例(True Positive):预测值为1,真实值为1
- 假正例(False Positive):预测值为1,真实值为0
- 真反例(True Negative):预测值为0,真实值为0
- 假反例(False Negative):预测值为0,真实值为1
1.2 构造成结果的混淆矩阵
分类 真实值:1 真实值:0
预测值:1 TP(True Positive) FP(False Positive)
预测值:0 FN(False Negative) TN(True Negative)
1.3 关于混淆矩阵使用api接口生成结果的一个注意说明
- 我们利用 sklearn中的 confusion_matrix 函数来得到混淆矩阵,函数原型为:
sklearn.metrics.confusion_matrix(y_true, y_pred, labels=None, sample_weight=None)
- y_true:样本真实的分类标签列表
- y_pred:样本预测的分类结果列表
- labels:类别列表,可用于对类别重新排序或选择类别子集。如果默认,则将y_true 或y_pred 中至少出现一次的类别按排序顺序构成混淆矩阵。
- sample_weight:样本权重
1.4注意:生成结果对应关系为:
TN|FP
FN|TP
- 注:这个顺序才是api输出的顺序,而不是按照上方混淆矩阵表格那样的顺序
- api使用的例子见参考链接1,此处不再赘述
2 准确率,精确率,召回率,F1得分,logloss
2.1 精准率又称查准率:
2.2 召回率又称查全率:
2.3 F1:精准率和召回率的调和平均
2.4 准确率
2.5关于精确率,召回率异同之处,此处简单介绍,可以参考链接2
- 精准率可以解释为,预测为正例的样本中,有多少是真的正例(你认为的该类样本,有多少猜对了(猜的精确性如何))
- 召回率可以解释为,真实的正例的样本中,有多少被预测出来(该类样本有多少被找出来了(召回了多少))
2.6 二分类对数损失
3 AUC值与ROC曲线
3.1 AUC是ROC曲线的量化指标,即ROC曲线下的面积。AUC值越大越好,即面积曲线下面积越大越好。
- AUC的意义:随机抽取一对正负样本,AUC是把正样本预测为1的概率大于把负样本预测为1的概率的概率。这句话有点拗口,用公式写就是:
- 求解AUC方法
3.2 ROC曲线
- ROC曲线
横轴FPR,纵轴TPR
下面积,反映整体性能,也就是预测结果的好坏(正例在前,反例在后)。
此处也是搬运同事对评级指标的总结,感谢🙇
3.3 auc使用api注意事项
- 此处直接看参考链接,注意使用api的参数问题以及不同api的区别
4 GAUC
5 KS
7
- KS(Kolmogorov-Smirnov):好坏样本之间累计分布的差值(最大值),用于评估模型的风险区分能力。好坏样本的累计差异越大,模型的风险区分能力越强,KS指标越大。
- 具体KS例子以及评级指标该参考链接中也有
- 正负样本的洛伦兹曲线构成,反映了模型对正负样本的区分能力,大于0.2才有区分能力,接近1更好
6 G-Mean
- G-Mean是另外一个指标,也能评价不平衡数据的模型表现,其计算公式如下。
对正样本召回率和对负样本召回率相乘再开根号
- 数据不均衡时(小样本)可以参考的评价指标,正例准确率与负例准确率的综合指标
7 MCC
- MCC是应用在机器学习中,用以测量二分类的分类性能的指标,该指标考虑了真阳性,真阴性,假阳性和假阴性,通常认为该指标是一个比较均衡的指标,即使是在两类别的样本含量差别很大时,也可以应用它。
- MCC本质上是一个描述实际分类与预测分类之间的相关系数,它的取值范围为[-1,1],取值为1时表示对受试对象的完美预测,取值为0时表示预测的结果还不如随机预测的结果,-1是指预测分类和实际分类完全不一致。
- 描述实际分类与预测分类之间的相关系数,越接近1越好,-1表示与真实结果相反