分类任务模型评价指标

在分类任务下,预测结果(Predicted Condition)与正确标记(True Condition)之间存在四种不同的组合,构成混淆矩阵(适用于多分类)
在这里插入图片描述
TP: True Positives, 表示实际为正例且被分类器判定为正例的样本数
FP: False Positives, 表示实际为负例且被分类器判定为正例的样本数
FN: False Negatives, 表示实际为正例但被分类器判定为负例的样本数
TN: True Negatives, 表示实际为负例且被分类器判定为负例的样本数

Positive Nagative表示正,负样本 True,Fase表示分类正确与错误

评估指标的计算

准确率(accuracy):分类器正确分类的样本数与总样本数的比值
在这里插入图片描述
精确率(precision):被分类器判为正类的所有样本中有多少是真正的正类样本,精确率高,意味着分类器要尽量在 “更有把握” 的情况下才将样本预测为正样本, 这意味着精确率能够很好的体现模型对于负样本的区分能力,精确率越高,则模型对负样本区分能力越强。
在这里插入图片描述
召回率(Recall):所有正类样本中有多少被分类器判为正类样本.召回率高,意味着分类器尽可能将有可能为正样本的样本预测为正样本,这意味着召回率能够很好的体现模型对于正样本的区分能力,召回率越高,则模型对正样本的区分能力越强。
在这里插入图片描述

F1-ScoreF1-Score指标综合了Precision与Recall的产出的结果。F1-Score的取值范围从0到1的,1代表模型的输出最好,0代表模型的输出结果最差。
在这里插入图片描述

ROC曲线、AUC值评估指标

  • 实际的数据集中经常会出现正负样本不平衡现象,即负样本比正样本多很多(或者相反),例如一个样本数据集中,90%的样本为正样本,10%是负样本,这样计算得出的准确率是不能作为模型的评价指标的,为了解决这个问题,引入ROC,ROC的TPR只关注90%正本有多少是被预测对的,与10%的负样本没有关系,FPR只关注10%负样本有多少是被预测错误的,与90%的正本没有关系,ROC曲线有这样一个很好的特性:当测试集中正负样本的分布变化的时候,ROC曲线能够保持不变,很好避免了样本不平衡问题

  • 在分类模型输出分类结果前,需要预测结果与阈值进行比较,如果大于该阈值则预测为正例,否则为反例,ROC曲线能够描述模型的表现随着阈值变化而变化的过程,为了形象的描述上述的这种变化, 引入ROC曲线来评价一个分类器的好坏

  • ROC曲线中的主要两个指标就是真正率和假正率,其中横坐标为假正率(FPR),纵坐标为真正率(TPR),
    在这里插入图片描述
    在这里插入图片描述

  • 在上图的ROC曲线中,对角线的虚线是“随机猜测“模型的ROC曲线,这时TPR和FPR相等,即预测对和预测错的概率一致,理想目标:TPR=1,FPR=0,即图中(0,1)点,,分类器对应的ROC曲线应该尽可能靠近坐标轴的左上角,TPR越高,同时FPR越低,那么模型的性能就越好

  • AUC:Area under Curve(只有在二分类模型中,ROC和AUC才适用)
    AUC 为ROC 曲线下的面积, 这个面积的数值介于0到1之间, 能够直观的评价出分类器的好坏, AUC的值越大, 分类器效果越好

  • sklearn机器学习库的metrics进行ROC和AUC的实现

from sklearn.metrics import roc_auc_score
sklearn.metrics.roc_auc_score(y_true, y_score)
计算ROC曲线面积,即AUC值
y_true:每个样本的真实类别,必须为0(反例),1(正例)标记
y_score:预测得分,可以是正类的估计概率、置信值或者分类器方法的返回值
# 0.5~1之间,越接近于1约好
y_test = np.where(y_test > 2.5, 1, 0)

print("AUC指标:", roc_auc_score(y_test, y_predict)
from sklearn import metrics
from sklearn.metrics import auc 
import numpy as np
y = np.array([1, 3, 1, 2])  
scores = np.array([0.2, 0.3, 0.4, 0.7])  
fpr, tpr, thresholds = metrics.roc_curve(y, scores, pos_label=2)
metrics.auc(fpr, tpr) 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值