联系我们

AI 101

什么是混淆矩阵?

mm

更新

 on

最强大的分析工具之一 机器学习数据科学混乱矩阵。混淆矩阵能够为研究人员提供有关机器学习分类器相对于数据集中目标类别的执行情况的详细信息。混淆矩阵将显示已针对错误分类的示例正确分类的显示示例。让我们更深入地研究混淆矩阵的结构以及如何解释它。

什么是混淆矩阵?

让我们首先给出一个混淆矩阵的简单定义。混淆矩阵是一种预测分析工具。具体来说,它是一个表格,用于显示实际值并将其与模型的预测值进行比较。在机器学习的上下文中,混淆矩阵被用作度量来分析机器学习分类器如何在数据集上执行。混淆矩阵生成可视化的指标,如精度,准确性,特异性和召回率。

混淆矩阵之所以特别有用的原因是,与其他类型的分类指标(例如简单的准确性)不同,混淆矩阵生成了模型执行情况的更完整图片。仅使用诸如准确性之类的度量会导致该模型完全一致地误识别一个类的情况,但是由于平均性能良好,因此它不会被注意到。同时,混淆矩阵 给出不同值的比较 如假阴性,真阴性,假阳性和真阳性。

让我们定义混淆矩阵代表的不同指标。

回忆混淆矩阵

召回率是真正肯定的例子数除以假阴性的例子数和总肯定的例子数。换句话说,回忆代表了机器学习模型已分类的真实肯定示例的比例。召回率是模型能够从数据集中包含的所有阳性示例中进行分类的阳性示例的百分比。该值也可以称为“点击率”,而相关的值为“灵敏度”,它描述了召回的可能性或真实阳性预测的发生率。

精确 在混乱矩阵中

像召回一样,精度是根据肯定的示例分类来跟踪模型性能的值。但是,与召回不同,精度与模型标记为阳性的示例中有多少是真正的阳性有关。为了计算这一点,将真实阳性样本的数量除以假阳性样本的数量加上真实阳性的数量。

区分 召回率和精确度清除器精确度旨在找出所有标记为阳性的样本中确实为阳性的百分比,而召回率则跟踪模型可以识别的所有阳性样本的百分比。

特异性 在混乱矩阵中

虽然召回率和精确度是可以追踪积极示例和真实积极率的值, 特异性 量化真实的否定率或模型定义为否定的示例的数量,这些示例是真实的否定。这是通过将归类为否定的示例数除以错误肯定的示例数与真实否定的示例数相除得出的。

理解混乱矩阵

Photo: Jackverr via Wikimedia Commons, (//commons.wikimedia.org/wiki/File:ConfusionMatrix.png), CC BY SA 3.0

混淆矩阵示例

定义必要的术语(如精度,召回率,敏感性和特异性)后,我们可以检查这些不同的值如何在混淆矩阵中表示。在分类的情况下会生成混淆矩阵,适用于两个或多个类别。生成的混淆矩阵可以根据需要的高度和宽度而定,可以容纳任意数量的类,但是为简单起见,我们将检查2 x 2的混淆矩阵用于二进制分类任务。

例如,假设正在使用分类器来确定患者是否患有疾病。要素将输入分类器,分类器将返回两个不同分类之一–病人没有疾病或确实有疾病。

让我们从矩阵的左侧开始。混淆矩阵的左侧代表分类器针对各个类别所做的预测。二进制分类任务将在此处有两行。关于矩阵的顶部,它跟踪数据实例的真实值,实际的类标签。

可以通过检查行和列相交的位置来解释混淆矩阵。根据模型的真实标签检查模型的预测。在这种情况下,True Positives值(正确的正预测的数量)位于左上角。误报位于右上角,示例实际上是负的,但分类器将其标记为正。

网格的左下角显示分类器已标记为负但确实为正的实例。最后,混淆矩阵的右下角是找到“真负值”的地方,或者是真正错误的例子的地方。

当数据集包含两个以上的类时,矩阵将增加那么多个类。例如,如果存在三个类别,则矩阵将是3 x 3矩阵。无论混淆矩阵的大小如何,解释它们的方法都是完全相同的。左侧包含预测值,实际类标签横穿顶部。分类器正确预测的实例从左上角到右下角呈对角线排列。通过查看矩阵,您可以辨别上面讨论的四个预测指标。

例如,您可以通过将真阳性和假阴性,将它们加在一起并除以真阳性示例的数量来计算召回率。同时,可以通过将假阳性与真阳性组合,然后将值除以真阳性的总数来计算精度。

尽管人们可能会花一些时间手动计算精度,召回率和特异性等指标,但这些指标非常常用,以至于大多数机器学习库都有显示这些指标的方法。例如,Python的Scikit-learn具有生成混淆矩阵的函数。

专门从事以下工作的Blogger和程序员 机器学习 深度学习 话题。 Daniel希望帮助他人将AI的力量用于社会公益。