趋近智
在理解了分类模型如何进行预测之后,最自然的问题是:“模型预测正确的频率是多少?” 这直接引出了准确率,它可能是评估分类性能最直观的指标。
准确率衡量模型的整体正确性。它告诉我们模型正确分类的预测数量占总预测数量的比例。可以将其视为模型的命中率。如果模型的准确率为0.9,则表示它正确预测了90%所见样本的类别标签。
准确率的计算简单直接。您只需统计模型正确预测的数量,然后将其除以模型做出的总预测数量。
公式为:
准确率=总预测数量正确预测数量当预测类别标签与给定数据点的实际类别标签一致时,即发生“正确预测”。“总预测数量”通常是指测试集(您用于评估模型的数据)中的数据点总数。
设想我们有一个简单的分类模型,旨在预测邮件是“垃圾邮件”还是“非垃圾邮件”。我们用10封模型未曾见过的邮件测试该模型。结果如下:
| 实际标签 | 预测标签 | 正确? |
|---|---|---|
| 垃圾邮件 | 垃圾邮件 | 是 |
| 非垃圾邮件 | 非垃圾邮件 | 是 |
| 垃圾邮件 | 垃圾邮件 | 是 |
| 垃圾邮件 | 非垃圾邮件 | 否 |
| 非垃圾邮件 | 非垃圾邮件 | 是 |
| 垃圾邮件 | 垃圾邮件 | 是 |
| 非垃圾邮件 | 垃圾邮件 | 否 |
| 非垃圾邮件 | 非垃圾邮件 | 是 |
| 垃圾邮件 | 垃圾邮件 | 是 |
| 垃圾邮件 | 垃圾邮件 | 是 |
我们来统计一下:
现在,我们应用该公式:
准确率=108=0.8因此,我们的邮件垃圾邮件过滤模型在此测试集上的准确率为0.8,即80%。这意味着模型正确分类了10封邮件中的8封。
我们可以将这种简单的计数可视化:
邮件垃圾邮件示例中正确和错误预测的计数。
准确率分数范围从0(意味着模型所有预测都错误)到1(意味着模型所有预测都正确)。较高的准确率通常表示模型性能更好。它能快速、整体地概括模型表现。
由于易于理解和计算,准确率常常是人们首先关注的指标。然而,尽管有用,准确率不总能提供模型性能的全貌。在下一节中,我们将研究仅凭准确率可能产生误导的情况。
这部分内容有帮助吗?
sklearn.metrics.accuracy_score, Scikit-learn Developers, 2023 - accuracy_score 函数的官方文档,详细说明其在 Python 中的使用和实现。© 2026 ApX Machine Learning用心打造