机器学习常用评价指标:ACC、AUC、ROC曲线 | 您所在的位置:网站首页 › acc认证是什么意思 › 机器学习常用评价指标:ACC、AUC、ROC曲线 |
文章目录
一、混淆矩阵二、评价指标1.准确度(Accuracy)2.AUCROC曲线举例如何画ROC曲线AUC的计算AUC意味着什么为什么使用ROC曲线
参考
一、混淆矩阵
基于样本预测值和真实值是否相符,可得到4种结果: TP(True Positive):样本预测值与真实值相符且均为正,即真阳性 FP(False Positive):样本预测值为正而真实值为负,即假阳性 FN(False Negative):样本预测值为负而真实值为正,即假阴性 TN(True Negative):样本预测值与真实值相符且均为负,即真阴性 通俗解释:以预测值是否与真实值相符,判别真假; 二、评价指标 1.准确度(Accuracy)A C C = T P + T N T P + F P + F N + T N ACC=\frac{TP+TN }{TP+FP+FN+TN} ACC=TP+FP+FN+TNTP+TN 2.AUC ROC曲线这里我们讨论的是二值分类器,ROC曲线示例图如下: 假设我们有100个样本,其中真实的正样本90个,负样本10个;现在我们有分类器A和分类器B 分类器A的预测结果: 真实正真实负预测正9010预测负00FPR=10/10=1; TPR=90/90=1 分类器B的预测结果: 真实正真实负预测正705预测负205FPR=5/10=0.5; TPR=70/90=0.78 将分类器A和分类器B的预测结果在ROC曲线表示如下 接下来我们考虑ROC曲线图中的四个点和一条线。 第一个点(0,1),即FPR(False Positive Rate)=0,TPR(True Positive Rate)=1;这是一个完美的分类器,负样本分错的概率为0,正样本分对的概率为1,即所有的样本预测值与真实值相符。 第二个点(1,0),即FPR(False Positive Rate)=1,TPR(True Positive Rate)=0; 这是一个最糟糕的分类器,负样本分错的概率为1,正样本分对的概率为0,即所有的样本预测值与真实值都不相符。 第三个点(0,0),即FPR(False Positive Rate)=0,TPR(True Positive Rate)=0; 负样本分错的概率为0,正样本分对的概率为0,即所有的样本预测值均为负。 第四个点(1,1),即FPR(False Positive Rate)=1,TPR(True Positive Rate)=1; 负样本分错的概率为1,正样本分对的概率为1,即所有的样本预测值均为正 经过以上的分析,我们可以断言,ROC曲线越接近左上角,该分类器的性能越好。 考虑ROC曲线图中的虚线y=x上的点。这条对角线上的点其实表示的是一个采用随机猜测策略的分类器的结果,例如(0.5,0.5),表示该分类器随机对于一半的样本猜测其为正样本,另外一半的样本为负样本。 如何画ROC曲线对于一个特定的分类器和测试数据集,显然只能得到一个分类结果,即一组FPR和TPR;而要得到一个曲线,我们实际上需要一系列的FPR和TPR的值,这又是如何得到的呢? 我们可以利用sigmoid函数计算样本预测输出为正的概率,然后根据设置不同的threshold,来获得多组FPR和TPR的值 假如我们利用sigmoid函数,已经得到了所有样本输出为正的概率,现在的问题是如何改变threshold,我们可以将所有样本输出为正的概率由大到小排序;下图是一个示例,图中共有20个测试样本,“Class”一栏表示每个测试样本真正的标签(p表示正样本,n表示负样本),“Score”表示每个测试样本输出正样本的概率
AUC(Area Under Curve)被定义为ROC曲线下的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。使用AUC值作为评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而作为一个数值,对应AUC更大的分类器效果更好。 AUC意味着什么那么AUC值的含义是什么呢?根据(Fawcett, 2006),AUC的值的含义是: > The AUC value is equivalent to the probability that a randomly chosen positive example is ranked higher than a randomly chosen negative example. 通俗解释:首先AUC值是一个概率值,当你随机挑选一个正样本以及一个负样本,当前的分类算法根据计算得到的Score值将这个正样本排在负样本前面的概率就是AUC值。当然,AUC值越大,当前的分类算法越有可能将正样本排在负样本前面,即能够更好的分类。 为什么使用ROC曲线既然已经这么多评价标准,为什么还要使用ROC和AUC呢?因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化。下图是ROC曲线和Precision-Recall曲线的对比: 1.https://blog.csdn.net/qq_40006058/article/details/89432773 2.https://blog.csdn.net/u013385925/article/details/80385873 3.https://my.oschina.net/liangtee/blog/340317 |
CopyRight 2018-2019 实验室设备网 版权所有 |