揭秘机器学习中的混淆矩阵 [惊人]

已发表: 2020-12-07

机器学习是一个总称,它在其中积累数据处理,从数据中获得有意义的见解,以及数据建模。 完成数据建模后,需要测量模型的性能评估和其他基于行业的参数,最常见的指标之一是混淆矩阵。

目录

什么是混淆矩阵以及为什么使用它?

它是一种用于分类问题的性能指标,其中输出类可能是两个或更多,并且该矩阵表示模型的预测值与与该输入相关联的实际值的所有组合。 它被称为“混淆矩阵”,因为按照定义进行定义似乎很容易,但随着我们向前推导出更有价值的参数,关于哪个参数最适合特定位置的混淆出现了。

它用于分类问题高度不平衡且一个类优于其他类的地方。 在这种情况下,您可能会惊讶地看到模型的准确率达到 99% 的峰值,但实际上,该模型高度偏向于主导类。 你几乎不可能得到少数族裔的预测。 因此,为了测试这样一个不平衡的数据集,我们考虑混淆矩阵。

混淆矩阵的结构

矩阵的大小与输出类的数量成正比。 它是一个方阵,我们假设列标题为实际值,行标题为模型预测。 模型预测为真和预测为真的值为真阳性(TP) ,正确的负值预测为真阴性(TN) ,为阴性但预测为真的值为假阳性(FP) ,预测为阴性的阳性值为假阴性(FN) 看看这张图片:

阅读:机器学习中的分类算法类型

我们可以从中学到什么?

一个有效的问题出现了,我们可以用这个矩阵做什么。 有一些基于此的重要术语:

  1. 精度:它是模型识别为正确并与问题陈述解决方案相关的值的一部分。 我们也可以将其引用为值,它们是模型给出的总积极结果的一部分并且是积极的。 因此,我们可以给出其公式为 TP/ (TP + FP)。
  2. 回忆:它是模型正确识别为正值的部分。 它也被称为真阳性率或灵敏度。 其公式为 TP/ (TP+FN)。
  3. F-1 分数: Precision 和 Recall 的调和平均值。 这意味着如果我们要比较两个模型,那么这个指标将抑制极值并同时考虑误报和误报。 它可以引用为 2*Precision*Recall/ (Precision+Recall)。
  4. 准确性:它是正确识别的值的一部分,无论它们是正面还是负面。 这意味着所有真阳性和真阴性都包含在其中。 这个公式是(TP+TN)/(TP+TN+FP+FN)。

在所有术语中,准确率和召回率使用最广泛。 他们的权衡是预测成功与否的有用衡量标准。 期望的模型应该具有高精度和高召回率,但这只是在完全可分离的数据中。 在实际用例中,数据高度无组织且不平衡。

如何在 Python 中为混淆矩阵创建代码?

sklearn 库提供了多种功能来以最高的准确性执行所有机器学习任务,并且几乎所有内容都已在此处实现。 考虑已经完成所有导入语句的著名 Iris 数据集,混淆矩阵的代码将是:

iris = datasets.load_iris()

X = iris.data

y = iris.target

class_names = iris.target_names

X_train, X_test, y_train, y_test = train_test_split (X, y, random_state = 0 )

分类器= svm.SVC (内核= '线性' ,C = 0.01 适合(X_train,y_train)

plot_confusion_matrix(分类器,X_test,y_test,display_labels = class_names,cmap = plt . cm . Blues)

注意:这个返回的矩阵有反面,左边是实际值,顶部是预测值。 如果您想避免混淆,请执行此函数以获得详细的摘要(分类报告),而不是手动计算:

打印(分类报告(y_true=y_test,y_pred=y_pred,target_names=class_names))

另请阅读:深度学习算法

在哪里使用哪一个?

这是数据建模时最常见的问题,解决方案在于问题的陈述域。 考虑以下两种情况:

  1. 假设您正在预测此人是否会心脏骤停。 在这种情况下,您不能承受任何错误分类,并且所做的所有预测都应该是准确的。 话虽如此,假阴性的成本很高,所以这个人很容易受到攻击,但被预测为安全。 应该避免这些情况。 在这些情况下,我们需要一个具有高召回率的模型。
  2. 假设搜索引擎提供的随机结果都被模型预测为正数,那么用户依赖它的可能性很小。 因此,在这种场景下,我们需要一个高精度的模型,这样才能提高用户体验,让网站朝着正确的方向发展。

结论

混淆矩阵是评估分类模型的好方法。 它提供了关于模型根据提供的输入对类别进行分类的准确程度以及该类别如何被错误分类的实际洞察力。

如果您有兴趣了解有关机器学习的更多信息,请查看 IIIT-B 和 upGrad 的机器学习和人工智能 PG 文凭,该文凭专为工作专业人士设计,提供 450 多个小时的严格培训、30 多个案例研究和作业、IIIT- B 校友身份、5 个以上实用的实践顶点项目和顶级公司的工作协助。

引领人工智能驱动的技术革命

机器学习和人工智能的 PG 文凭
了解更多