机器学习(14)之评价准则RoC与PR

关键字全网搜索最新排名

【机器学习算法】:排名第一

【机器学习】:排名第二

【Python】:排名第三

【算法】:排名第四

前言

在机器学习的算法评估中,尤其是分类算法评估中,我们经常听到精确率(precision)与召回率(recall),RoC曲线与PR曲线这些概念,那这些概念到底有什么用处呢?

TP, FP, TN, FN

1. True Positives,TP:预测为正样本,实际也为正样本的特征数

2. False Positives,FP:预测为正样本,实际为负样本的特征数

3. True Negatives,TN:预测为负样本,实际也为负样本的特征数

4. False Negatives,FN:预测为负样本,实际为正样本的特征数

听起来还是很费劲,不过我们用一张图就很容易理解了。图如下所示,里面绿色的半圆就是TP(True Positives), 红色的半圆就是FP(False Positives), 左边的灰色长方形(不包括绿色半圆),就是FN(False Negatives)。右边的浅灰色长方形(不包括红色半圆),就是TN(True Negatives)。这个绿色和红色组成的圆内代表我们分类得到模型结果认为是正值的样本。

精确率(precision)与召回率(Recall)

精确率(Precision)的定义在上图可以看出,是绿色半圆除以红色绿色组成的圆。严格的数学定义如下:

P=TP/(TP+FP)

召回率(Recall)的定义也在图上能看出,是绿色半圆除以左边的长方形。严格的数学定义如下

R=TP/(TP+FN)

特异性(specificity)的定义图上没有直接写明,这里给出,是红色半圆除以右边的长方形。严格的数学定义如下:

S=FP/(FP+TN)

F1值来综合评估精确率和召回率,它是精确率和召回率的调和均值。当精确率和召回率都高时,F1值也会高。严格的数学定义如下:

2/F1=1/P+1/R

有时候我们对精确率和召回率并不是一视同仁,比如有时候我们更加重视精确率。我们用一个参数β来度量两者之间的关系。如果β>1, 召回率有更大影响,如果β<1,精确率有更大影响。自然,当β=1的时候,精确率和召回率影响力相同,和F1形式一样。含有度量参数β的F1我们记为Fβ, 严格的数学定义如下:

Fβ=(1+β2)∗P∗R/(β2∗P+R)

RoC和PR

以召回率为y轴,以特异性为x轴,我们就直接得到了RoC曲线。从召回率和特异性的定义可以理解,召回率越高,特异性越小,我们的模型和算法就越高效。也就是画出来的RoC曲线越靠近左上越好。如下图左图所示。从几何的角度讲,RoC曲线下方的面积越大越大,则模型越优。所以有时候我们用RoC曲线下的面积,即AUC(Area Under Curve)值来作为算法和模型好坏的标准。

小结

以精确率为y轴,以召回率为x轴,我们就得到了PR曲线。仍然从精确率和召回率的定义可以理解,精确率越高,召回率越高,我们的模型和算法就越高效。也就是画出来的PR曲线越靠近右上越好。如上图右图所示。使用RoC曲线和PR曲线,我们就能很方便的评估我们的模型的分类能力的优劣了。

参考:

1. 周志华《机器学习》

2. 博客园:作者(刘建平)http://www.cnblogs.com/pinard/p/5993450.html

3. 李航 《统计学习方法》

原文发布于微信公众号 - 机器学习算法与Python学习(guodongwei1991)

原文发表时间:2017-08-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏自学笔记

Some methods of deep learning and dimensionality reduction

上一篇主要是讲了全连接神经网络,这里主要讲的就是深度学习网络的一些设计以及一些权值的设置。神经网络可以根据模型的层数,模型的复杂度和神经元的多少大致可以分成两类...

10220
来自专栏量化投资与机器学习

Matlab编程之——卷积神经网络CNN代码解析

这这是之前我共享的一个深度学习工具包,这是解释代码的一部分,具体的一些细节还还望大家根据自己的能力去做,慢慢去理解。不急昂! 源代码我公布出来希望大家学习交流,...

521100
来自专栏程序生活

文本分类(下)-卷积神经网络(CNN)在文本分类上的应用

原先写过两篇文章,分别介绍了传统机器学习方法在文本分类上的应用以及CNN原理,然后本篇文章结合两篇论文展开,主要讲述下CNN在文本分类上的应用。前面两部分内容主...

14920
来自专栏深度学习入门与实践

【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理

上篇文章我们给出了用paddlepaddle来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度。有的同学表示不是很理解原理,为什么传统的机器...

1.4K100
来自专栏cloudskyme

小白也能懂的手写体识别

手写体识别与Tensorflow 如同所有语言的hello world一样,手写体识别就相当于深度学习里的hello world。 TensorFlow是当前最...

60660
来自专栏窗户

为什么有导师的基于梯度下降的机器学习喜欢用欧氏距离来度量误差

  bp神经网络为大家所熟知,推导中使用了基于梯度下降。而对于更为一般的情况,解决问题的出发点是建立一组函数fi(Ci,Xi), i=1..n,n为输出的个数,...

25660
来自专栏智能算法

主成分分析到底怎么分析?

PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提...

343100
来自专栏机器学习算法工程师

基础|认识机器学习中的逻辑回归、决策树、神经网络算法

逻辑回归。它始于输出结果为有实际意义的连续值的线性回归,但是线性回归对于分类的问题没有办法准确而又具备鲁棒性地分割,因此我们设计出了逻辑回归这样一个算法,它的输...

16930
来自专栏机器学习算法工程师

基础|认识机器学习中的逻辑回归、决策树、神经网络算法

作者:石文华 编辑:田 旭 逻辑回归 1 逻辑回归。它始于输出结果为有实际意义的连续值的线性回归,但是线性回归对于分类的问题没有办法准确而又具备鲁棒性地分割,...

39380
来自专栏刘笑江的专栏

Deep Learning

27630

扫码关注云+社区

领取腾讯云代金券