前言
该文只作为个人懒得每次都百度这个指标问题,收藏东西又太多不好翻找所作总结,仅供参考
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 精准率又称查准率:
P
=
T
P
T
P
+
F
P
P = \frac{TP}{TP + FP}
P=TP+FPTP
2.2 召回率又称查全率:
R
=
T
P
T
P
+
F
N
R = \frac{TP}{TP+FN}
R=TP+FNTP
2.3 F1:精准率和召回率的调和平均
F
1
=
2
∗
P
∗
R
P
+
R
F1 = \frac{2 * P * R}{P + R}
F1=P+R2∗P∗R
2.4 准确率
A c c u r a c y = 预 测 对 的 样 本 数 样 本 总 数 = T P + T N T P + T N + F P + F N Accuracy = \frac{预测对的样本数}{样本总数} = \frac{TP + TN}{TP + TN + FP + FN} Accuracy=样本总数预测对的样本数=TP+TN+FP+FNTP+TN
2.5关于精确率,召回率异同之处,此处简单介绍,可以参考链接2
-
精准率可以解释为,预测为正例的样本中,有多少是真的正例(你认为的该类样本,有多少猜对了(猜的精确性如何))
-
召回率可以解释为,真实的正例的样本中,有多少被预测出来(该类样本有多少被找出来了(召回了多少))
2.6 二分类对数损失
l
o
g
l
o
s
s
=
−
(
y
∗
l
o
g
(
p
)
+
(
1
−
y
)
∗
l
o
g
(
1
−
p
)
)
logloss = -(y * log(p) + (1-y) * log(1-p))
logloss=−(y∗log(p)+(1−y)∗log(1−p))
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是另外一个指标,也能评价不平衡数据的模型表现,其计算公式如下。
对正样本召回率和对负样本召回率相乘再开根号
G − M e a n = R e c a l l ∗ S p e c i f i c i t y = T P T P + F N ∗ T N T N + F P G-Mean = \sqrt{Recall * Specificity} \\ = \sqrt{\frac{TP}{TP+FN} * \frac{TN}{TN+FP}} G−Mean=Recall∗Specificity=TP+FNTP∗TN+FPTN
- 数据不均衡时(小样本)可以参考的评价指标,正例准确率与负例准确率的综合指标
7 MCC
-
MCC是应用在机器学习中,用以测量二分类的分类性能的指标,该指标考虑了真阳性,真阴性,假阳性和假阴性,通常认为该指标是一个比较均衡的指标,即使是在两类别的样本含量差别很大时,也可以应用它。
-
MCC本质上是一个描述实际分类与预测分类之间的相关系数,它的取值范围为[-1,1],取值为1时表示对受试对象的完美预测,取值为0时表示预测的结果还不如随机预测的结果,-1是指预测分类和实际分类完全不一致。
M C C = T P ∗ T N − F P ∗ F N ( T P + F P ) ( T P + F N ) ( T N + F P ) ( T N + F N ) MCC = \frac{TP * TN - FP*FN}{\sqrt{(TP+FP)(TP+FN)(TN+FP)(TN+FN)}} MCC=(TP+FP)(TP+FN)(TN+FP)(TN+FN)TP∗TN−FP∗FN
- 描述实际分类与预测分类之间的相关系数,越接近1越好,-1表示与真实结果相反