选择合适的指标



在构建机器学习模型时,我们首先要选择性能指标,然后测试模型的表现如何。相关的指标有多个,具体取决于我们要尝试解决的问题。



在可以选择性能指标之前,首先务必要认识到,机器学习研究的是如何学习根据数据进行预测。对于本课程和后续的“监督式机器学习”课程,我们将重点关注那些创建分类或创建预测回归类型的已标记数据。



此外,在测试模型时,也务必要将数据集分解为训练数据和测试数据。如果不区分训练数据集和测试数据集,则在评估模型时会遇到问题,因为它已经看到了所有数据。我们需要的是独立的数据集,以确认模型可以很好地泛化,而不只是泛化到训练样本。在下一课中,我们将探讨模型误差的一些常见来源,并介绍如何正确分解本课程的“数据建模和验证”部分中的数据集。



 



 



 



分类和回归



分类涉及到根据未见过的样本进行预测,并确定新实例属于哪个类别。例如,可以根据蓝色或红色或者方形或圆形来组织对象,以便在看到新对象时根据其特征来组织对象。



在回归中,我们想根据连续数据来进行预测。例如,我们有包含不同人员的身高、年龄和性别的列表,并想预测他们的体重。或者,像在本课程的最终项目中一样,我们可能有一些房屋数据,并想预测某所住宅的价值。



手头的问题在很大程度上决定着我们如何评估模型。



 



 



分类指标与回归指标



在分类中,我们想了解模型隔多久正确或不正确地识别新样本一次。而在回归中,我们可能更关注模型的预测值与真正值之间差多少。



在本节课的余下部分,我们会探讨几个性能指标。对于分类,我们会探讨准确率、精确率、召回率和 F 分数。对于回归,我们会探讨平均绝对误差和均方误差



 



 



分类指标



对于分类,我们处理的是根据离散数据进行预测的模型。这就是说,此类模型确定新实例是否属于给定的一组类别。在这里,我们测量预测是否准确地将所讨论的实例进行分类。



 



 



准确率



最基本和最常见的分类指标就是准确率。在这里,准确率被描述为在特定类的所有项中正确分类或标记的项的数量。



举例而言,如果教室里有 15 个男孩和 16 个女孩,人脸识别软件能否正确识别所有男孩和所有女孩?如果此软件能识别 10 个男孩和 8 个女孩,则它识别男孩和女孩的准确率分别为 66% 和 50%:



准确率 = 正确识别的实例的数量/所有实例数量



有关准确率和如何在 sklearn 中使用它的更多信息,请查看此链接  此处



 



 



 



 



F1 分数



既然我们已讨论了精确率和召回率,接下来可能要考虑的另一个指标是 F1 分数。F1 分数会同时考虑精确率和召回率,以便计算新的分数。



可将 F1 分数理解为精确率和召回率的加权平均值,其中 F1 分数的最佳值为 1、最差值为 0:



F1 = 2 * (精确率 * 召回率) / (精确率 + 召回率)



有关 F1 分数和如何在 sklearn 中使用它的更多信息,请查看此链接 此处



 



 



 



回归指标



正如前面对问题的回归类型所做的介绍,我们处理的是根据连续数据进行预测的模型。在这里,我们更关注预测的接近程度。



例如,对于身高和体重预测,我们不是很关心模型能否将某人的体重 100% 准确地预测到小于零点几磅,但可能很关心模型如何能始终进行接近的预测(可能与个人的真实体重相差 3-4 磅)。



 



 



平均绝对误差



您可能已回想起,在统计学中可以使用绝对误差来测量误差,以找出预测值与真实值之间的差距。平均绝对误差的计算方法是,将各个样本的绝对误差汇总,然后根据数据点数量求出平均误差。通过将模型的所有绝对值加起来,可以避免因预测值比真实值过高或过低而抵销误差,并能获得用于评估模型的整体误差指标。



有关平均绝对误差和如何在 sklearn 中使用它的更多信息,请查看此链接 此处



 



 



均方误差



均方误差是另一个经常用于测量模型性能的指标。与绝对误差相比,残差(预测值与真实值的差值)被求平方。



对残差求平方的一些好处是,自动将所有误差转换为正数、注重较大的误差而不是较小的误差以及在微积分中是可微的(可让我们找到最小值和最大值)。



有关均方误差和如何在 sklearn 中使用它的更多信息,请查看此链接 此处



 



 



 



回归分数函数



除了误差指标之外,scikit-learn还包括了两个分数指标,范围通常从0到1,值0为坏,而值1为最好的表现。



虽然在课程最后的项目中,我们不会用到这两个指标,但是需要知道他们很重要。他们还有一个优点,就是看起来和分类指标类似,都是数字越接近1.0分数就越好。



其中之一是 R2分数,用来计算真值预测的可决系数。在 scikit-learn 里,这也是回归学习器默认的分数方法。



另一个是 可释方差分数



虽然眼下我们不会详细探讨这些指标,一个要记住的重点是,回归的默认指标是“分数越高越好”;即,越高的分数表明越好的表现。而当我们用到前面讲的误差指标时,我们要改变这个设定。