二元分类效果的评估方法
优质
小牛编辑
136浏览
2023-12-01
真阳性
true positives, TP
真阴性
true negatives, TN
假阳性
false positives, FP
假阴性
false negatives, FN)
准确率
分类器预测正确性的比例,可以通过LogisticRegression.score() 来计算准确率
精确率
分类器预测出的脏话中真的是脏话的比例
P=TP/(TP+FP)
召回率
也叫灵敏度。所有真的脏话被分类器正确找出来的比例。
R=TP/(TP+FN)
综合评价指标
F-measure,精确率和召回率的调和均值。精确率和召回率都不能从差的分类器中区分出好的分类器,综合评价指标平衡了精确率和召回率。
1/F+1/F=1/P+1/R即
F=2*PR/(P+R)
误警率
假阳性率,所有阴性样本中分类器识别为阳性的样本所占比例
F=FP/(TN+FP)
ROC(Receiver Operating Characteristic)
ROC曲线画的是分类器的召回率与误警率(fall-out)的曲线
AUC(Area Under Curve)
ROC曲线下方的面积,它把ROC曲线变成一个值,表示分类器随机预测的效果
scikit-learn画ROC曲线和AUC值的方法如下:
import matplotlib.pyplot as plt
from sklearn.metrics import roc_curve, auc
false_positive_rate, recall, thresholds = roc_curve(pred, predictions)
roc_auc = auc(false_positive_rate, recall)
plt.plot(false_positive_rate, recall, 'b', label='AUC = %0.2f' % roc_auc)
plt.show()