混淆矩阵让我不困惑
混淆矩阵让我不困惑
大家第一次接触到一个新的概念都会迷茫,这对任何人来说都很正常,没有人知道宇宙中的一切,所以我不知道 什么是机器学习中的混淆矩阵 ,而今天我将解释 什么是混淆矩阵 给你帮助你理解它,然后 如何在 Python 编程语言中使用它 .
目录
- 是什么 混淆矩阵 ?
- 为什么我们称它为 混淆矩阵 ?
- 如何计算 准确性 & 错误 的 混淆矩阵 ?
- 混淆矩阵的度量
- Python中的混淆矩阵
是什么 混淆矩阵 ?
当您要构建分类模型时,您将在准备好数据后执行以下步骤:
1.选择型号
2.训练模型
3.做一些预测
4.检查模型的性能
所以,最后一步是检查模型的性能,并且 混淆矩阵 可以完成这项任务,因为它是 一种找到实际数据和预测数据之间关联的方法 ,见下图:
Created By Mohammad Al Jadallah
如上图所示,我们有两件事( 实际的 , 预言 )。 实际是指给定观察值的真实值 . 预测意味着模型预测它们的值 .
采取以下一些规则可以帮助您更好地理解:
- 之间的值 + 和 + 我们称之为 真阳性 ( TP )
- 之间的值 + 和 - 我们称之为 假阴性 ( FN )
- 之间的值 - 和 + 我们称之为 假阳性 ( FP )
- 之间的值 - 和 - 我们称之为 真阴性 ( TN )
让我在下图中代表它们 :
Created By Mohammad Al Jadallah
每个 列代表实际数据 ,并且每个 行表示预测数据 .
现在让我给你解释一下TP、TN、FP和FN是什么意思:
- TP : 的数量 准确分类正例
- TN : 的数量 准确分类反例
- FN :模型预测为负例的正例数
- FP :模型预测为正例的负例数
请记住, 混淆矩阵 用于描述分类模型的执行情况 (或者 ” 分类器 ”),它是 一种找到实际数据和预测数据之间关联的方法 .
为什么我们称它为 混淆矩阵 ?
- 让您了解模型在哪里变得混乱
- 这是一种将模型预测与实际数据进行比较的快速方法
如何计算 准确性 & 错误 的 混淆矩阵 ?
Created By Mohammad Al Jadallah
有两种度量可用于计算混淆矩阵的准确性:
-
准确性 :所有正确值/所有值
-
错误 :所有错误值/所有值
准确度 = (TP + TN) / (TP + TN + FP + FN) 误差 = (FP + FN) / (TP + TN + FP + FN)
混淆矩阵的度量
有一些度量用于测量混淆矩阵:
-
精确 :所有真正的正例中实际上是正例的百分比
-
记起 :正确预测为真正例的所有真正例的百分比
-
F1-Score:旨在衡量召回率和准确率的指标
精度 = TP / (TP + FP) 召回率 = TP / (TP + FN) F1-Score = 2 * Precision * Recall / (Precision + Recall)
Python中的混淆矩阵
sklearn 模块 包含很多指标,使用的指标之一是 混淆矩阵 方法,安装sklearn模块:
pip install -U scikit-learn
现在,让我们看一个例子:
mohammadjadallah Github
简单的输出
数组([[2, 0, 0],
[0, 0, 1],
[1, 0, 2]])
在二进制情况下,我们可以提取真阳性等,如下所示:
mohammadjadallah Github
简单的输出
(0, 2, 1, 1)
要使用 sklearn 绘制混淆矩阵,请参见以下示例:
from sklearn documentation
简单的输出
confusion matrix graph
你在这里,我要感谢你抽出时间阅读今天最好的文章,我相信你现在很高兴,因为你在这篇文章中学到了很多东西。
谢谢阅读…
现在流行的故事
其他
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明