混淆矩阵中:
模型整体效果:准确率:
1. 准确率
Accuracy
就是所有预测正确的所有样本除以总样本,通常来说越接近
1
越好
2.
捕捉少数类的艺术:精确度,召回率和
F1 score:
精确度
Precision
,又叫查准率,表示所有被我们预测为是少数类的样本中,真正的少数类所占的比例。
精确度是
”
将多数类判
错后所需付出成本
“
的衡量。
# 所有判断正确并确实为 1 的样本 / 所有被判断为 1 的样本# 对于没有 class_weight ,没有做样本平衡的灰色决策边界来说:( y [ y == clf . predict ( X )] == 1 ). sum () / ( clf . predict ( X ) == 1 ). sum ()
# 对于有 class_weight ,做了样本平衡的红色决策边界来说:( y [ y == wclf . predict ( X )] == 1 ). sum () / ( wclf . predict ( X ) == 1 ). sum ()
召回率
Recall
,又被称为敏感度
(sensitivity)
,真正率,查全率,表示所有真实为
1
的样本中,被我们预测正确的样
本所占的比例。
#所有predict为1的点 / 全部为1的点的比例
#对于没有class_weight,没有做样本平衡的灰色决策边界来说:
(y[y == clf.predict(X)] == 1).sum()/(y == 1).sum()#对于有class_weight,做了样本平衡的红色决策边界来说:
(y[y == wclf.predict(X)] == 1).sum()/(y == 1).sum()
假负率(
False Negative Rate
)
,它等于
1 - Recall
,用于衡量所有真实
为
1
的样本中,被我们错误判断为
0
的
判错多数类的考量:特异度与假正率:
特异度
(Specifificity)
表示所有真实为
0
的样本中,被正确预测为
0
的样本所占的比例。在支持向量机中,可以形象地
表示为,决策边界下方的点占所有紫色点的比例。
#所有被正确预测为0的样本 / 所有的0样本
#对于没有class_weight,没有做样本平衡的灰色决策边界来说:
(y[y == clf.predict(X)] == 0).sum()/(y == 0).sum()#对于有class_weight,做了样本平衡的红色决策边界来说:
(y[y == wclf.predict(X)] ==0).sum()/(y == 0).sum()
特异度衡量了一个模型将多数类判断正确的能力,而
1 - specifificity
就是一个模型将多数类判断错误的能力
,这种
能力被计算如下,并叫做
假正率。
类
含义
sklearn.metrics.confusion_matrix 混淆矩阵
sklearn.metrics.accuracy_score 准确率accuracy
sklearn.metrics.precision_score 精确度precision
sklearn.metrics.recall_score 召回率recall
sklearn.metrics.precision_recall_curve 精确度-
召回率平衡曲线
sklearn.metrics.f1_score F1 measure