精确率与召回率
混淆矩阵
在分类任务下,预测结果(Predicted Condition)与正确标记(True Condition)之间存在四种不同的组合,构成混淆矩阵(适用于多分类)

精确率(Precision)与召回率(Recall)

我们实际有50个样例,50个负样例,然后经过分类器分类之后。50个正样例中有45个预测为正样例(预测准了),5个被预测成为了负样例。50个负样例中(预测错误),有40个被预测为了负样例(预测准了),10个被预测为了正样例(预测错误)。


作者:奔向算法的喵
链接:https://www.jianshu.com/p/2ad360edd219
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
分类评估报告api
sklearn.metrics.classification_report(y_true, y_pred, labels=[], target_names=None )
y_true:真实目标值
y_pred:估计器预测目标值
labels:指定类别对应的数字
target_names:目标类别名称
return:每个类别精确率与召回率
假设这样一个情况,如果99个样本癌症,1个样本非癌症,不管怎样我全都预测正例(默认癌症为正例),准确率就为99%但是这样效果并不好,这就是样本不均衡下的评估问题
问题:如何衡量样本不均衡下的评估?
ROC曲线与AUC指标
TPR与FPR
TPR = TP / (TP + FN)所有真实类别为1的样本中,预测类别为1的比例
FPR = FP / (FP + TN)所有真实类别为0的样本中,预测类别为1的比例
ROC曲线
ROC曲线的横轴就是FPRate,纵轴就是TPRate,当二者相等时,表示的意义则是:对于不论真实类别是1还是0的 样本,分类器预测为1的概率是相等的,此时AUC为0.5

AUC指标
AUC的概率意义是随机取一对正负样本,正样本得分大于负样本得分的概率
AUC的范围在[0, 1]之间,并且越接近1越好,越接近0.5属于乱猜AUC=1,完美分类器,采用这个预测模型时,不管设定什么阈值都能得出完美预测。绝大多数预测的场合,不存
在完美分类器。
0.5<AUC<1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。
AUC计算API
from sklearn.metrics import roc_auc_score sklearn.metrics.roc_auc_score(y_true, y_score)
计算ROC曲线面积,即AUC值y_true:每个样本的真实类别,必须为0(反例),1(正例)标记y_score:预测得分,可以是正类的估计概率、置信值或者分类器方法的返回值
AUC只能用来评价二分类
AUC非常适合评价样本不平衡中的分类器性能

