班级 | 消极的 | 田纳西州 | FP |
| 积极的 | FN | TP |
我们现在将计算猫狗分类结果的准确性。我们在这里看到的不是“真”和“假”,而是“猫”和“狗”。我们可以这样计算准确度:
TP = 42
TN = 32
FP = 8
FN = 18
精度 = ( TP + TN ) / ( TP + TN + FP + FN )
打印(精度)
输出:
0.74
假设我们有一个分类器,它总是预测“狗”。
| | 预测类别 |
| — | — |
| 猫 | 狗 |
| 实际
班级 | 猫 | 0 | 50 |
| 狗 | 0 | 50 |
在这种情况下,我们的精度为 0.5:
TP , TN , FP , FN = 0 , 50 , 50 , 0
精度 = (TP + TN )/ (TP + TN + FP + FN )
打印(精度)
输出:
0.5
准确性悖论
我们将证明所谓的准确性悖论。
垃圾邮件识别分类器由以下混淆矩阵描述:
| | 预测类别 |
| — | — |
| 垃圾邮件 | 火腿 |
| 实际
班级 | 垃圾邮件 | 4 | 1 |
| 火腿 | 4 | 91 |
TP , TN , FP , FN = 4 , 91 , 1 , 4
准确性 = (TP + TN )/ (TP + TN + FP + FN )
打印(准确性)
输出:
0.95
以下分类器仅预测“ham”并具有相同的准确性。
| | 预测类别 |
| — | — |
| 垃圾邮件 | 火腿 |
| 实际
班级 | 垃圾邮件 | 0 | 5 |
| 火腿 | 0 | 95 |
TP , TN , FP , FN = 0 , 95 , 5 , 0
精度 = (TP + TN )/ (TP + TN + FP + FN )
打印(准确性)
输出:
0.95
该分类器的准确率为 95%,即使它根本无法识别任何垃圾邮件。
精确
–
精度是正确识别的阳性案例与所有预测的阳性案例的比率,即正确和错误预测的案例为positive
。精度是检索到的与查询相关的文档的比例。公式:
pr电子C一世秒一世○n=吨磷吨磷+F磷
我们将通过一个例子来证明这一点。
| | 预测类别 |
| — | — |
| 垃圾邮件 | 火腿 |
| 实际
班级 | 垃圾邮件 | 12 | 14 |
| 火腿 | 0 | 114 |
我们可以计算precision
我们的例子:
TP = 114
FP = 14
# 公式中不需要 FN (0) 和 TN (12)!
精度 = TP / ( TP + FP )
打印( f "precision: {precision:4.2f} " )
输出:
精度:0.89
练习:在继续阅读文本之前,请先考虑该值的precision
含义。如果您查看我们的垃圾邮件过滤器示例的精确度度量,它会告诉您关于垃圾邮件过滤器质量的什么信息?理想垃圾邮件过滤器的混淆矩阵的结果是什么样的?什么更糟,高 FP 或 FN 值?
您将在以下说明中间接找到答案。
顺便说一下,理想的垃圾邮件过滤器的 FP 和 FN 值都为 0。
先前的结果意味着 100 封邮件中有 11 封会被归类为火腿,即使它们是垃圾邮件。89 个被正确归类为火腿。这是我们应该讨论错误分类成本的地方。当垃圾邮件不被识别为“垃圾邮件”,而是作为“火腿”呈现给我们时,这很麻烦。如果百分比不是太高,这很烦人但不是灾难。相比之下,当非垃圾邮件被错误地标记为垃圾邮件时,该电子邮件在许多情况下不会显示甚至自动删除。例如,这会带来失去客户和朋友的高风险。该措施precision
没有对最后提到的这个问题类别作出任何声明。其他措施呢?
我们将看看recall
和F1-score
。
记起
–
召回率,也称为灵敏度,是正确识别的阳性案例与所有实际阳性案例的比率,它是“假阴性”和“真阳性”的总和。
r电子C一个升升=吨磷吨磷+FN
TP = 114
FN = 0
# 公式中不需要 FT (14) 和 TN (12)!
召回 = TP / ( TP + FN )
打印( f "recall: {recall:4.2f} " )
输出:
召回:1.00
值 1 表示没有非垃圾邮件被错误地标记为垃圾邮件。对于一个好的垃圾邮件过滤器来说,这个值应该是 1 很重要。我们之前已经讨论过这个。
F1-分数
我们将检查的最后一个指标是 F1 分数。
最后
不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~
给大家准备的学习资料包括但不限于:
Python 环境、pycharm编辑器/永久激活/翻译插件
python 零基础视频教程
Python 界面开发实战教程
Python 爬虫实战教程
Python 数据分析实战教程
python 游戏开发实战教程
Python 电子书100本
Python 学习路线规划
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!