美文网首页
[Python与数据分析]-17分类算法中常用的评价指标

[Python与数据分析]-17分类算法中常用的评价指标

作者: 六千宛 | 来源:发表于2020-08-05 17:35 被阅读0次

  本文来自网络,属于对各评价指标的总结,如果看完之后,还不是很理解,可以针对每个评价指标再单独搜索一些学习资料。
  对于分类算法,常用的评价指标有:
(1)Precision
(2)Recall
(3)F-score
(4)Accuracy
(5)ROC
(6)AUC
  ps:不建议翻译成中文,尤其是Precision和Accuracy,容易引起歧义。

1 混淆矩阵

  混淆矩阵是监督学习中的一种可视化工具,主要用于比较分类结果和实例的真实信息。矩阵中的每一行代表实例的预测类别,每一列代表实例的真实类别。


图片.png

  如图1所示,在混淆矩阵中,包含以下四种数据:
  a、真正(True Positive , TP):被模型预测为正的正样本
  b、假正(False Positive , FP):被模型预测为正的负样本
  c、假负(False Negative , FN):被模型预测为负的正样本
  d、真负(True Negative , TN):被模型预测为负的负样本
  根据这四种数据,有四个比较重要的比率,其中TPR和TNR更为常用:
    真正率(True Positive Rate , TPR)【灵敏度(sensitivity)】:TPR = TP /(TP + FN) ,即正样本预测结果数/ 正样本实际数
    假负率(False Negative Rate , FNR) :FNR = FN /(TP + FN) ,即被预测为负的正样本结果数/正样本实际数
    假正率(False Positive Rate , FPR) :FPR = FP /(FP + TN) ,即被预测为正的负样本结果数 /负样本实际数
    真负率(True Negative Rate , TNR)【特异度(specificity)】:TNR = TN /(TN + FP) ,即负样本预测结果数 / 负样本实际数

2 评价指标

  1)(Precision): P = TP/(TP+FP)
  2)(Recall): R = TP/(TP+FN),即真正率
  3)F-score:Precision和Recall的调和平均值, 更接近于P, R两个数较小的那个: F=2* P* R/(P + R)
  4)(Aaccuracy): 分类器对整个样本的判定能力,即将正的判定为正,负的判定为负: A = (TP + TN)/(TP + FN + FP + TN)
  5)ROC(Receiver Operating Characteristic):ROC的主要分析工具是一个画在ROC空间的曲线——ROC curve,横坐标为false positive rate(FPR),纵坐标为true positive rate(TPR)。
  如何画ROC曲线?
  对于二值分类问题,实例的值往往是连续值,通过设定一个阈值,将实例分类到正类或者负类(比如大于阈值划分为正类)。因此,可以变化阈值,根据不同的阈值进行分类,根据分类结果计算得到ROC空间中相应的点,连接这些点就形成ROC curve。ROC curve经过(0,0) (1,1),实际上(0,0)和(1,1)连线形成的ROC curve实际上代表的是一个随机分类器。一般情况下,这个曲线都应该处于(0,0)和(1,1)连线的上方,如图2所示。

图片.png

ROC上几个关键点的解释:

  (TPR=0,FPR=0):把每个实例都预测为负类的模型
  (TPR=1,FPR=1):把每个实例都预测为正类的模型
  (TPR=1,FPR=0):理想模型,全部预测正确
  (TPR=0,FPR=1):最差模型,全部预测错误
  一个好的分类模型应该尽可能靠近图形的左上角,而一个随机猜测模型应位于连接点(TPR=0,FPR=0)和(TPR=1,FPR=1)的主对角线上。
  既然已经这么多评价标准,为什么还要使用ROC和AUC呢?
  因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化。
  6)AUC(Area Under ROC Curve)
  AUC的值就是处于ROC curve下方的那部分面积的大小。通常,AUC的值介于0.5到1.0之间,较大的AUC代表了较好的performance。如果模型是完美的,那么它的AUG = 1,如果模型是个简单的随机猜测模型,那么它的AUG = 0.5,如果一个模型好于另一个,则它的曲线下方面积相对较大。

相关文章

  • [Python与数据分析]-17分类算法中常用的评价指标

      本文来自网络,属于对各评价指标的总结,如果看完之后,还不是很理解,可以针对每个评价指标再单独搜索一些学习资料。...

  • 【机器学习基础】

    1、常用分类算法的优缺点? 2、评价指标 1)正确率(accuracy) 正确率是我们最常见的评价指标,accur...

  • 分类算法评价

    分类算法评价 在之前分类中我们常用MSE MAE等 算法来做分类评价。举个例子,极度偏斜的情况。在1000个人中,...

  • 分类算法常用的模型评价指标

    首先模型预测后的数据包括这几种情况: TP(True Positive):实际为正例,被预测为正例,预测正确 FP...

  • 数据挖掘

    预测指标 分类常见的评估指标:对于二类分类器/分类算法,评价指标主要有accuracy, [Precision,R...

  • day05-二分类问题(二)

    二分类评价指标 准确率: 缺点:在数据类别不平衡的时候使用这个评价指标不能客观评价算法的优劣。混淆矩阵首先定义:T...

  • 评价-分类算法的评价指标

    二元分类评价 混淆矩阵 对于二元分类,通常可以输出混淆矩阵,看预测的情况,并从中总结出一些指标,给予评价。混淆矩阵...

  • 回归评价指标MSE、RMSE、MAE、R-Squared

    前言 分类问题的评价指标是准确率,那么回归算法的评价指标就是MSE,RMSE,MAE、R-Squared。下面一一...

  • python数据结构教程 Day2

    本节重点 抽象、接口、实现 ADT 评价算法的指标 python原始数据类型的性能 一、抽象、实现 1、概念: 从...

  • 机器学习中的评估指标

    机器学习中需要使用模型,优化,评价,其中评价指标也是用来优化的一环,这里总结一下常用的评估指标,主要分为分类和回归...

网友评论

      本文标题:[Python与数据分析]-17分类算法中常用的评价指标

      本文链接:https://www.haomeiwen.com/subject/udkbrktx.html