机器学习的核心在于使计算机能够从数据和经验中获得洞察,正如人类所做的那样。在机器学习中,程序员教授计算机如何利用其与不同实体的过去经验来在未来的场景中表现得更好。机器学习涉及构建数学模型以帮助理解手头的数据。一旦这些模型适应了之前看到的数据,它们就可以用来预测新观察到的数据。
在机器学习中,模型的实用性仅取决于其预测的质量;因此,根本目标不是创建模型,而是创建具有强大预测能力的高质量模型。现在将检查评估由机器学习算法生成的模型质量的策略。
当涉及到评估二分类器时,准确率是一个众所周知的性能指标,用于区分强大的分类模型和弱模型。准确率,简而言之,就是被正确预测的观察值的总比例。计算准确率的数学公式包括四个主要组成部分,即TP、TN、FP和FN,这些组成部分使能够探索其他机器学习模型评估指标。
准确率评估指标之所以被广泛使用,主要是因为其简单易用。正如之前讨论的,它仅仅是被正确预测的观察值的总比例(总数)。然而,当存在不平衡类别时,准确率评估指标的表现并不好;即准确率值很高,但模型缺乏预测能力,而且大多数(如果不是全部)预测都是错误的。
由于上述原因,当无法使用准确率评估指标时,被迫转向scikit-learn库中的其他评估指标。这些包括但不限于以下评估指标:
这是指所有被预测为正类的观察值中,实际上是正类的比例(总数)。精确度评估指标的公式如下:
Precision = TP / (TP + FP)
这是被预测为正类的观察值中,实际上属于正类的比例。它间接告诉模型随机识别正类观察值的能力。召回率的公式如下:
Recall = TP / (TP + FN)
这是一个平均评估指标,用于生成比率。F1分数也被称为精确度和召回率评估指标的调和平均数。这是一个衡量模型在正类预测环境中整体正确性的指标——即,模型标记为正类的观察值中,有多少实际上是正类。F1分数评估指标的公式如下:
F1 Score = 2 * (Precision * Recall) / (Precision + Recall)
正如从文章的早期信息中学到的,在机器学习中,并非所有输入数据都是平衡的,因此存在不平衡类别的问题。在排除准确率评估指标后,特别转向精确度、召回率和F1分数。使用Python中的参数选项,这些选项用于通过平均值聚合评估值。有三个主要选项可供选择:
目前,通过混淆矩阵来可视化分类器的性能是最流行的方法。混淆矩阵也可以称为错误矩阵。混淆矩阵具有高度的可解释性。它包括一个简单的表格格式,通常生成并可视化为热图。混淆矩阵的每一列代表预测的类别,而每一行显示真实(或实际)的类别。
关于混淆矩阵,有三个重要的事实需要注意:
MSE = (1/n) * Σ(y_i - ŷ_i)^2