机器学习性能评估指标---

机器学习的算法主要有分类和回归两种算法,这两种算法有着自己各自的性能评估指标。
回归算法主要性能评估指标有:
平均绝对误差(MAE)、平均平方误差(MSE)
分类算法主要评估指标有:
精确率、召回率、ROC曲线、AUC

分类算法的性能评价指标

1、精确率 召回率
精确率是针对预测结果而言,预测结果中预测为正的中有多少是真正是正的;
召回率是针对原来样本而言,样本中有多少是正的最终也被预测为正;
关于TP、TN、FP、FN的定义:

这里写图片描述

上面式子的计算方法,T和F代表这个判断是对的还是错的(true false),P和N代表这个样本是正的还是负的。
精确率P = TP/(TP+FP); 召回率R = TP/(TP+FN)

2、F1值:
F1 = 2*P*R/(P+R)

3、ROC和AUC
在二分类问题中,很多模型输出的是该样例属于类别1的概率,比如LR模型。AUC输出的是该模型对随机抽取的一个正样本和一个负样本,模型输出正样本的概率大于负样本的概率有多大 所以AUC反映更多的是模型的排序能力,将类别为1 的样本的概率排在类别为0的样本的前面的概率。 AUC反映了模型的排序能力,将正样本排在负样本前面的能力,与阈值无关,只和模型有关这可以通过数学进行证明。
计算AUC有两种计算方式:
(1)ROC曲线下的面积。
ROC曲线是什么?要算ROC首先要知道两个指标:true positive rate,和false positive rate,计算公式如下:
这里写图片描述
给出的一个例子如下:
这里写图片描述
看一条曲线是很难判断出这个分类器的好坏的,计算AUC是这条曲线ROC下的面积,是一个数值能看出哪个模型比较好。
4、AUC曲线的优势:
在测试集中,当正负样本比例不平衡时,ROC曲线能在测试上的表现结果和在训练集上的表现效果是一样的。训练集上可以针对过多的类别进行负采样,这个指标在训练集上和在测试集上的表现效果是一样的(测试集上会存在类别不平衡的情况)。ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。这是和ROC的计算方式相关的(这个可以用ROC的第二种计算方法来理解)。
直观上的一点理解:对于ROC上的每一个点,这个点表示在一个阈值下,样本预测为类别1 ,横坐标代表的是这个点来源于负样本的模型输出的概率,而纵坐标代表的是这个点来源于正样本的模型输出的概率,进行积分的话,其实就是代表一个点被判断为1后,来源于1 比来源于0的概率大多少的概率积分。

5、AUC的计算方法

6、根据不同业务场景选用不同的准则
举例说明一下:(1)对于预测地震而言,我们更加看重的是召回率,希望每一次地震都可以被预测到;(2)对于垃圾邮件预测而言,我们更加看重精确率,被判断为垃圾邮件的要有很大把握才能判断为垃圾邮件;
AUC计算方法

主要参考文章
参考文章

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页