当前位置:   article > 正文

分类算法模型的评价标准_分类模型的评价标准有哪些

分类模型的评价标准有哪些

分类模型的评价标准

  • 如果对一个事物进行好坏的评价,一定是在指定场景下,使用符合该场景相关的评价标准对其进行好坏的评价

  • 分类模型的评价有如下几种方式

    • 准确率
    • 精准率
    • 召回率
    • f1_score
    • auc曲线

1.混淆矩阵

在这里插入图片描述

概念

  • 在分类任务中,预测结果(Predict Condition)和真实结果(True Condition)之间存在的四种不同的组合,适用于二分类和多分类

    • 真正例率
      T P R = T P T P + F N TPR=\frac{TP}{TP+FN} TPR=TP+FNTP

      • 预测为正例且实际为正例的样本占所有训练集中为正例样本的比例
      • 将正例预测对的占正样本的比例(预测对的比例),比例越大越好
    • 伪反例率
      F P R = F P F P + T N FPR=\frac{FP}{FP+TN} FPR=FP+TNFP

      • 预测为正例但实际为负例的样本占训练集中所有负例样本的比例
      • 将负例预测错的占负样本的比例(预测错的比例),比例越小越好

在这里插入图片描述

  • 注意:如果有其他的类别,其他的每一个类别也有其对应的混淆矩阵表示真伪正例和真伪反例的比例

2.准确率

A c c u r a c y = T P + T N T P + F N + F P + T N Accuracy=\frac{TP+TN}{TP+FN+FP+TN} Accuracy=TP+FN+FP+TNTP+TN

  • (预测正确)/(预测对的和预测错的所有结果),即预测对的比例
  • 模型.score()方法

3.召回率(较多使用)

R e c a l = T P T P + F N Recal=\frac{TP}{TP+FN} Recal=TP+FNTP

  • 真正为正例的样本中预测结果为正例的比例。正样本有多少被找出来了(召回了多少)

4.精确率

P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP+FP} Precision=TP+FPTP

  • 预测结果为正例样本(TP+FP)中真实值为正例(TP)的比例

5. f1_score:精确率和召回率的调和平均数

在这里插入图片描述

  • 模型的精确率和召回率是有矛盾的,而F1分数(F1-score)是分类问题的一个衡量指标。一些多分类问题的机器学习竞赛,常常将F1-score作为最终测评的方法.最大值为1,最小值为0
    f 1 _ s c o r e = 1 1 r e c a l l + 1 p r e = 2 ∗ p r e ∗ r e c a l l p r e + r e c a l l

    f1_score=11recall+1pre=2prerecallpre+recall
    f1_score=recall1+pre11=pre+recall2prerecall

  • 反应了模型的稳健性

  • 是一个综合的评判标准

6. AUC

  • AUC是一个模型评价指标,只能用于二分类模型的评价,该评价指标通常应用的比较多

  • 很多的机器学习的分类模型计算结果都是概率形式(比如逻辑回归),对于概率而言,我们就需要去设定一个阈值来判定分类,那么这个阈值的设定就会对我们的正确率和准确率造成一定程度的影响

    • 逻辑回归默认阈值为0.5
  • AUC(Area under Curve)表面上的意思是曲线下边的面积

    • ROC曲线(receiver operating characteristic curve,接收者操作特征曲线)

      • 真正例率
        T P R = T P T P + F N TPR=\frac{TP}{TP+FN} TPR=TP+FNTP

        • 预测为正例且实际为正例的样本占所有训练集中为正例样本的比例
        • 将正例预测对的占正样本的比例(预测对的比例),比例越大越好
      • 伪反例率
        F P R = F P F P + T N FPR=\frac{FP}{FP+TN} FPR=FP+TNFP

        • 预测为正例但实际为负例的样本占训练集中所有负例样本的比例
        • 将负例预测错的占负样本的比例(预测错的比例),比例越小越好

在这里插入图片描述

  • 在理想情况下,最佳的分类器应该尽可能地处于左上角,这就意味着分类器在伪反例率(预测错的概率)很低的同时获得了很高的真正例率(预测对的概率)。

  • 即ROC曲线面积越大越好,因为ROC曲线越大,则曲线上面的面积越小,则分类器越能停留在ROC曲线的左上角

    • AUC的取值固定在0-1之间,AUC的值越大越好
  • API

    • from sklearn.metrics import roc_auc_score
    • y_pre=predict_proba(x_test)返回预测的概率
    • auc=roc_auc_score(y_test,y_pre[:,1])
import sklearn.datasets as datasets
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import recall_score,accuracy_score,f1_score,roc_auc_score
iris=datasets.load_iris()
feature=iris.data
target=iris.target
x_train,x_test,y_train,y_test=train_test_split(feature,target,test_size=0.2,random_state=2020)
l=LogisticRegression()
l.fit(x_train,y_train)
#准确率
l.score(x_test,y_test)#0.8666666666666667

#精准率
y_pred=l.predict(x_test)
accuracy_score(y_test,y_pred)#0.8666666666666667

#召回率
recall_score(y_test,y_pred,average='macro')  #0.8666666666666667

#f1_score
f1_score(y_test,y_pred,average='macro')#0.8666666666666668

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/909051
推荐阅读
相关标签
  

闽ICP备14008679号