zoukankan      html  css  js  c++  java
  • 机器学习中precision、recall、F-Measure

    详细参考文档:https://www.cnblogs.com/Zhi-Z/p/8728168.html

                             https://zhuanlan.zhihu.com/p/104917232

    数据挖掘、机器学习和推荐系统中的评测指标——准确率precision、召回率(Recall)、F值(F-Measure)

    不同机器学习算法的评价指标也不一样,如下图所示:

    本文针对二元分类器对几个常用的性能评估指标进行介绍

    • 混淆矩阵
    True Positive(真正,TP):将正类预测成为正类数
    True Negative(真负,TN):将负类预测为负类数

                 False Positive (假正, FP):将负类预测为正类数---->误报

                 False Negative(假负,FN):将正类预测为负类数---->漏报

    1.  准确率(Accuracy)

              计算公式:

                                         

              被分对的样本数除以所有的样本数,通常来说正确率越高,分类器越好。但是在正负样本不平衡的情况下,准确率这个评价指标有很大的缺陷,所以单纯靠准确率来评价一个算法模型是远远不够的。

              2. 错误率(Error rate)

                 错误率则与准确率相反,描述被分类器错分的比例,accuracy = 1-error rate

              3. 灵敏度(sensitive)

                   sensitive = TP/P,     表示的是所有正例中被分对的比例,衡量了分类器对正例的识别能力。

               4. 特效度(specificity)

                   specificity= TN/N      表示是所有负例中被分对的比例,衡量了分类器对负例的识别能力

                5、精确率、精度(precision)

                    精确率(precision):表示被分为正例的示例中实际为正例的比例

                                   

                  6、召回率(recall)

                        召回率是覆盖面的度量,度量有多个正例被分为正例,与灵敏度一样recall = TP/(TP+FN) = TP/P

                  7、综合评价指标(F-Measure)

                        P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure(F-score)

                   

                       8、 其他评价指标

                              计算速度:分类器训练和预测需要时间

                              鲁棒性: 处理缺失值和异常值的能力

                              可扩展性: 处理大数据集的能力

                              可解释性: 分类器的预测标准的可理解性

                        9、PR曲线和ROC曲线

                              TPR真正率=TP/(TP+FN)      指实际正样本中真正被预测为正样本的概率

                              FPR假正率=FP/(FP+TN)      指实际负样本中错误被预测为正样本的概率

                              在ROC曲线中,以FPR为x轴,TPR为y轴,如下图所示:

     在PR曲线中,以Recall(貌似翻译为召回率或者查全率)为X轴,Precision为y轴。Recall指的是所有正样本中被识别成正样本的概率等于TPR。而Precision指正确分类的正样本数占总的被分类成正样本的比例(被分成正样本例中实际为正样本的概率)

                             

                             

     

                                     如何绘制ROC曲线和PR曲线,预测效果如下图所示:

           no那一栏是样本号,True是样本实际的属性(P/N),Hyp(x)是在x阈值下该样本被预测的属性(Y/N),Score是得分,通常分类器输出的都是score,如SVM,神经网络等。

           当阈值x=0.5时,可以根据样本实际/预测属性算出TPR和FPR即可得到ROC的一个坐标(FPR,TPR),不同的阈值(给定数据集中)/不同参数的模型都有不同的ROC值,每次训练一段时间都需要进行测试,每次测试的ROC坐标即可绘制出ROC曲线,观察算法的性能。

           在ROC空间,ROC曲线越凸向左上方向效果越好。与ROC曲线左上凸不同的是,PR曲线是右上凸效果越好。ROC和PR曲线都被用于评估机器学习算法对一个给定数据集的分类性能,每个数据集都包含固定数目的正样本和负样本。

     

                 Recall----x轴,Precision----y轴  构成PR曲线; False Positive Rate------x轴,True Positive Rate-----y轴  构成 ROC曲线;

                 在给定数目的正负样本数据集中,ROC和PR曲线存在一一对应关系,当正负样本差距不大时,ROC和PR的趋势差不多,但是当负样本很多时,两者差异较大,ROC效果依然很好,但是PR反映效果一般。

                10、 AUC

                        AUC(Area Under Curve)指的是曲线下面积占总方格的比例,当不同分类算法的ROC曲线存在交叉,很多时候可以用AUC值作为算法好坏的评判标准,面积越大,表示分类性能越好,跟左上角方向凸和右上角方向凸的评判标准一个道理。

                       

  • 相关阅读:
    cassandra复制到一个新机器编译失败的问题
    cassandra在服务端像leveldb一样进行插入初试成功
    git push不成功 insufficient permission for adding an object to repository database
    fuse进级
    fuse入门
    cassandra的写过程
    cassandra-执行请求入口函数
    cassandra-replication_factor 和 consistency level
    根据金额大小升序排序
    PL/SQL Developer连接本地Oracle 11g 64位数据库(转)
  • 原文地址:https://www.cnblogs.com/zzc-Andy/p/15125014.html
Copyright © 2011-2022 走看看