混淆矩阵中
模型整体效果:准确率:
 
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
 
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐