Spark ML 3.模型评价指标,准确率、精确率、召回率


在机器学习 准确率(accuracy),精确率(Precision),召回率(Recall)和 综合评价指标(F1-Measure )

一、说明

有一个模型,能够在100人中找出程序猿,找的结果如下(混淆矩阵):

实际 \ 预测 True(预测是程序猿) False(预测不是程序猿)
True(实际是程序猿) TP (实际是程序猿,预测是程序猿) FN (实际是程序猿,预测不是程序猿。这个很Negative,因为把应该找到的漏掉了)
False(实际不是程序猿) FP(实际不是程序猿,预测成是程序猿。这个很Positive,因为没有漏掉结果) TN(实际不是程序猿,预测不是程序猿)
名称 公式 描述
准确率 True/total = (TP+TN)/(TP+TN+FP+FN) 预测对了百分之几?
精确度 p= TP/(TP+FP) 找出的程序猿里面,有多少是真的程序猿?
召回率 R=TP/(TP+FN) 所有的程序猿里面,找出来了多少?
F1 (2PR)/(P+R) 公式

二、示例

一共有100个人的数据样本,其中程序猿有20个人,有80个人不是程序猿。

现在有一个系统,能够预测人员分类的情况。预测结果为:找到了50个人是程序猿。与标签对比后发现,这50个人里,有20个人确实是程序猿,有30个人不是程序猿。

模型准确率 = 判断对的人数/总人数=(程序猿判断为程序猿(20)+ 非程序猿判断为非程序猿(50))/ 总人数(100)=(20+50)/100= 70%
模型精确度 = 判断是程序猿的人里面(50),有多少真的是程序猿(20)= 20/50= 40%
召回率 = 在程序猿的总数中(20),找到了多少(20)= 20 /20 = 100%
F 1 = 2 * 精确度(40%) * 召回率(100%) / (精确度(40%) + 召回率(100%))= 2 * 40% * 100% / ( 40% + 100% )= 57.1%

文章作者: hnbian
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 hnbian !
评论
 上一篇
Spark ML 4.特征提取 Spark ML 4.特征提取
1. 特征处理介绍特征处理主要分三部分: 特征提取:从原始数据中提取特征 特征转换:特征的维度、特征的转化、特征的修改 特征选取:从大规模特征中选取一个子集 Spark 特征提取提供三种算法:分别是 TF-IDF、 Word2Ve
2018-12-27
下一篇 
Spark ML 2.管道与工作流 Spark ML 2.管道与工作流
1. 介绍一个典型的机器学习构建包含若干个步骤 源数据ETL 数据预处理 特征选取 模型训练与验证 以上四个步骤可以抽象为一个包括多个步骤的流水线式工作,从数据收集开始至输出我们需要的最终结果,因此,对以上多个步骤,进行抽象模型,简化流
2018-12-03
  目录