机器学习性能评估指标(综合性总结)

转自:http://charleshm.github.io/2016/03/Model-Performance/

此处输入图片的描述

分类

混淆矩阵1

  • True Positive(真正, TP):将正类预测为正类数.
  • True Negative(真负 , TN):将负类预测为负类数.
  • False Positive(假正, FP):将负类预测为正类数  误报 (Type I error).
  • False Negative(假负 , FN):将正类预测为负类数  漏报 (Type II error).

此处输入图片的描述

精确率(precision)定义为:

P=TP / (TP+FP)

需要注意的是精确率(precision)和准确率(accuracy)是不一样的,

ACC=TP+TN/ (TP+TN+FP+FN)

在正负样本不平衡的情况下,准确率这个评价指标有很大的缺陷。比如在互联网广告里面,点击的数量是很少的,一般只有千分之几,如果用acc,即使全部预测成负类(不点击)acc 也有 99% 以上,没有意义。

召回率(recall,sensitivity,true positive rate)定义为:

R=TP/TP+FN

此外,还有 F1 值,是精确率和召回率的调和均值

2 / F1=1 / P+1 / RF1=2TP/ (2TP+FP+FN)

精确率和准确率都高的情况下,F1 值也会高。


通俗版本

刚开始接触这两个概念的时候总搞混,时间一长就记不清了。

实际上非常简单,精确率是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是对的。那么预测为正就有两种可能了,一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP)。

召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。那也有两种可能,一种是把原来的正类预测成正类(TP),另一种就是把原来的正类预测为负类(FN)。

此处输入图片的描述


在信息检索领域,精确率和召回率又被称为查准率和查全率,

查准率检索出的相关信息量检索出的信息总量查全率检索出的相关信息量系统中的相关信息总量


ROC 曲线

我们先来看下维基百科的定义,

In signal detection theory, a receiver operating characteristic (ROC), or simply ROC curve, is a graphical plot which illustrates the performance of a binary classifier system as its discrimination threshold is varied.

比如在逻辑回归里面,我们会设一个阈值,大于这个值的为正类,小于这个值为负类。如果我们减小这个阀值,那么更多的样本会被识别为正类。这会提高正类的识别率,但同时也会使得更多的负类被错误识别为正类。为了形象化这一变化,在此引入 ROC ,ROC 曲线可以用于评价一个分类器好坏。

ROC 关注两个指标,

true positive rate:TPR=TP / TP+FNfalse positive rate:FPR=FP / FP+TN

直观上,TPR 代表能将正例分对的概率,FPR 代表将负例错分为正例的概率。在 ROC 空间中,每个点的横坐标是 FPR,纵坐标是 TPR,这也就描绘了分类器在 TP(真正率)和 FP(假正率)间的 trade-off2

此处输入图片的描述


AUC

AUC(Area Under Curve)被定义为ROC曲线下的面积,显然这个面积的数值不会大于1。

The AUC value is equivalent to the probability that a randomly chosen positive example is ranked higher than a randomly chosen negative example.

翻译过来就是,随机挑选一个正样本以及一个负样本,分类器判定正样本的值高于负样本的概率就是 AUC 值。

简单说:AUC值越大的分类器,正确率越高3

  • AUC=1完美分类器,采用这个预测模型时,不管设定什么阈值都能得出完美预测。绝大多数预测的场合,不存在完美分类器。
  • 0.5<AUC<1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。
  • AUC=0.5,跟随机猜测一样(例:丢铜板),模型没有预测价值。
  • AUC<0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测,因此不存在 AUC<0.5 的情况。

此处输入图片的描述

既然已经这么多评价标准,为什么还要使用ROC和AUC呢?因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反)


回归4

平均绝对误差 

平均绝对误差MAE(Mean Absolute Error)又被称为 l1 范数损失(l1-norm loss):

MAE(y,ˆy)=1nsamplesnsamplesi=1|yiˆyi|

平均平方误差

平均平方误差 MSE(Mean Squared Error)又被称为 l2 范数损失(l2-norm loss):

MSE(y,ˆy)=1nsamplesnsamplesi=1(yiˆyi)2
  1. 统计学习方法 ↩

  2. ROC和AUC介绍以及如何计算AUC ↩

  3. AUC与ROC - 衡量分类器的好坏 ↩

  4. 机器学习评价指标大汇总 ↩


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/330861.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单列集合List的实现类

List接口 [Collection】的子类 1.ArrayList【查询快&#xff0c;增删慢】 &#xff08;1&#xff09;ArrayList常见方法【部分】 //list[Collection的子类,也是接口],ArrayList也是其实现类 public class Demo2 {public static void main(String[] args) {List<String>…

8张图带你轻松温习Java知识

转载自 8张图带你轻松温习Java知识 1 字符串不变性 下面这张图展示了这段代码做了什么 [code ]String s "abcd"; s s.concat("ef");[/code] 2 equals()方法、hashCode()方法的区别 HashCode被设计用来提高性能。equals()方法与hashCode()方法的区别在…

Linux的安装及管理程序

一、如何在linux安装卸载软件 1. 编译安装 灵活性较高 难度较大 可以安装较新的版本 2. rpm安装&#xff08;redhat&#xff09; linux 包安装 查软件信息&#xff1a;是否安装&#xff0c;文件列表 rpm 软件名 3. yum yum是RPM升级版本&#xff0c;解决rpm的弊端 安装软件 首…

机器学习评价指标大汇总

转自&#xff1a; http://www.zhaokv.com/2016/03/ml-metric.html 在使用机器学习算法的过程中&#xff0c;针对不同场景需要不同的评价指标&#xff0c;在这里对常用的指标进行一个简单的汇总。 &#xff08;分类和拟合的评价指标&#xff0c;正好应用到本人的论文中&#xff…

阿里Druid连接池监控的两个坑

转载自 注意&#xff1a;阿里Druid连接池监控的两个坑阿里的Druid大家都知道是最好的连接池&#xff0c;其强大的监控功能是我们追求的重要特性。但在实际情况中也有不少坑&#xff0c;说下最近遇到的一个坑吧&#xff01; 问题1&#xff1a;不断打印error级别的错误日志sessio…

List集合相关应用

1.定义一个Collection类型的集合&#xff0c;存储以下字符串&#xff1a; “JavaEE企业级开发指南”, “Oracle高级编程”, “MySQL从入门到精通”, “Java基础教程” 完成以下功能 1.删除书名字符小于10个的元素&#xff0c;并打印 2.打印书名中包含“Java”的元素 public cl…

消息中间件ActiveMQ、RabbitMQ、RocketMQ、ZeroMQ、Kafka如何选型

转载自 消息中间件ActiveMQ、RabbitMQ、RocketMQ、ZeroMQ、Kafka如何选型&#xff1f; 最近要为公司的消息队列中间件进行选型&#xff0c;市面上相关的开源技术又非常多&#xff0c;如ActiveMQ、RabbitMQ、ZeroMQ、Kafka&#xff0c;还有阿里巴巴的RocketMQ等。 这么多技术&am…

机器学习(周志华)- 第2章模型评估与选择笔记

转自&#xff1a; https://samanthachen.github.io/2016/08/03/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0_%E5%91%A8%E5%BF%97%E5%8D%8E_%E7%AC%94%E8%AE%B02/ 经验误差与过拟合 错误率&#xff1a; 分类错误样本数占样本总数 精度&#xff1a; 1 - 错误率 误差&#xff1a;学习器…

单列集合Set的实现类TreeSet

Set接口 [Collection】的子类 TreeSet a.特点【无序&#xff0c;不可重复&#xff0c;查询快&#xff0c;可自动排序】&#xff0c;但需要指定排序规则&#xff0c;API中有一些类已经实现了Comparable接口],给出了默认排序规则&#xff0c;如:Integer:数值大小[升序] String:…

关于Java你不知道的10件事

转载自 关于Java你不知道的10件事 作为 Java 书呆子&#xff0c;比起实用技能&#xff0c;我们会对介绍 Java 和 JVM 的概念细节更感兴趣。因此我想推荐 Lukas Eder 在 jooq.org 发表的原创作品给大家。 你是从很早开始就一直使用 Java 吗&#xff1f;那你还记得它的过去吗&…

模型评估与选择 ( Bias(偏差),Error(误差),和Variance(方差) )

转自&#xff1a; https://github.com/familyld/Machine_Learning/blob/master/02model_evaluation_and_model_selection.md 机器学习中的Bias(偏差)&#xff0c;Error(误差)&#xff0c;和Variance(方差)有什么区别和联系&#xff1f; 参见 https://www.zhihu.com/question…

单列集合Set的实现类HashSet

Set接口 [Collection】的子类 HashSet 特点【无序&#xff0c;不可重复,不能排序】 默认比较地址值【地址相同的值相同】&#xff0c;重写后可比较内容【内容相同的值相同】 1.比较地址值【默认】 public class Demo1 {public static void main(String[] args) {HashSet<…

双列集合Map的实现类

Map接口【和Collection接口并列】 Map接口 成员方法【实现于Map接口&#xff0c;TreeMap也可实现&#xff0c;这里以HashMap为例】 //HashMap实现类 :无序[HashSet底存原理] 哈希表 public class Demo1 {public static void main(String[] args) {HashMap<String, Intege…

机器学习指标大汇总

转自&#xff1a; http://www.36dsj.com/archives/42271 作者&#xff1a;无影随想 在使用机器学习算法的过程中&#xff0c;针对不同场景需要不同的评价指标&#xff0c;在这里对常用的指标进行一个简单的汇总。 一、分类 1. 精确率与召回率 精确率与召回率多用于二分类问题。…

到底什么是分布式系统

转载自 到底什么是分布式系统分布式系统背景 说分布式系统必须要说集中式系统&#xff0c;集中式系统中整个项目就是一个独立的应用&#xff0c;整个应用也就是整个项目&#xff0c;所有的东西都在一个应用里面。 如下图所示如一个网站就是一个应用&#xff0c;最后是多个增加多…

Map集合相关应用

1.键盘录入一个字符串&#xff0c;求该字符串中每一个字符出现的次数。 要求&#xff1a;按照字母顺序打印 如: 录入的字符串为"apple"&#xff0c;打印 a(1) e(1) l(1) p(2) public class Demo4 {public static void main(String[] args) {//键盘录入Scanner sc n…

机器学习算法常用指标总结

转自&#xff1a; http://www.cnblogs.com/maybe2030/p/5375175.html#_label2 阅读目录 1. TPR、FPR&TNR 2. 精确率Precision、召回率Recall和F1值 3. 综合评价指标F-measure 4. ROC曲线和AUC 5. 参考内容 考虑一个二分问题&#xff0c;即将实例分成正类&#xff08;positi…

SLA服务可用性4个9是什么意思?怎么达到?

转载自 SLA服务可用性4个9是什么意思&#xff1f;怎么达到&#xff1f;SLA&#xff1a;服务等级协议&#xff08;简称&#xff1a;SLA&#xff0c;全称&#xff1a;service level agreement&#xff09;。是在一定开销下为保障服务的性能和可用性&#xff0c;服务提供商与用户间…

ROC和AUC介绍以及如何计算AUC

转自&#xff1a; http://alexkong.net/2013/06/introduction-to-auc-and-roc/ ROC&#xff08;Receiver Operating Characteristic&#xff09;曲线和AUC常被用来评价一个二值分类器&#xff08;binary classifier&#xff09;的优劣&#xff0c;对两者的简单介绍见这里。这篇…

为什么Netty这么火?与Mina相比有什么优势?

转载自 为什么Netty这么火&#xff1f;与Mina相比有什么优势&#xff1f;Netty是什么&#xff1f;为什么这么火&#xff1f; Netty是目前最流行的由JBOSS提供的一个Java开源框架NIO框架&#xff0c;Netty提供异步的、事件驱动的网络应用程序框架和工具&#xff0c;用以快速开发…