原文: https://machinelearningmastery.com/report-classifier-performance-confidence-intervals/
为分类问题选择机器学习算法后,需要向利益相关者报告模型的表现。
这很重要,因此您可以设置模型对新数据的期望。
常见的错误是仅报告模型的分类准确性。
在这篇文章中,您将了解如何计算模型表现的置信区间,以提供模型技能的校准和稳健指示。
让我们开始吧。
如何使用置信区间报告分类器表现 Andrew 的照片,保留一些权利。
分类机器学习算法的技能通常被报告为分类准确性。
这是所有预测的正确预测百分比。计算方法如下:
classification accuracy = correct predictions / total predictions * 100.0分类器可以具有诸如60%或90%的准确度,并且这仅在问题域的上下文中具有意义。
在向利益相关者讨论模型时,谈论分类错误或只是错误可能更为相关。
这是因为利益相关者认为模型表现良好,他们可能真的想知道模型是否容易出错。
您可以将分类错误计算为对预测数量的错误预测百分比,表示为0到1之间的值。
classification error = incorrect predictions / total predictions分类器可能具有0.25或0.02的误差。
该值也可以通过乘以100转换为百分比。例如,0.02将变为(0.02 * 100.0)或2%分类错误。
您使用什么数据集来计算模型技能?
从建模过程中提取验证数据集是一种很好的做法。
这意味着随机选择可用数据的样本并从可用数据中删除,以便在模型选择或配置期间不使用它。
在针对训练数据准备最终模型之后,可以使用它来对验证数据集进行预测。这些预测用于计算分类准确度或分类错误。
不是仅呈现单个错误分数,而是可以计算置信区间并将其呈现为模型技能的一部分。
置信区间由两部分组成:
- 范围。这是模型上可以预期的技能的下限和上限。
- 概率。这是模型技能落在范围内的概率。
通常,分类错误的置信区间可以如下计算:
error +/- const * sqrt( (error * (1 - error)) / n)如果error是分类错误,const是定义所选概率的常数值,sqrt是平方根函数,n是用于评估模型的观察(行)数。从技术上讲,这被称为 Wilson评分区间。
const的值由统计提供,常用值为:
- 1.64(90%)
- 1.96(95%)
- 2.33(98%)
- 2.58(99%)
使用这些置信区间会产生一些您需要确保可以满足的假设。他们是:
- 验证数据集中的观察结果独立地从域中提取(例如它们是独立且相同分布的)。
- 至少使用30个观察值来评估模型。
这是基于抽样理论的一些统计数据,它将分类器的误差计算为二项分布,我们有足够的观测值来逼近二项分布的正态分布,并且通过中心极限定理我们分类的观察结果越多,我们越接近真实但未知的模型技能。
在具有50个示例(n = 50)的验证数据集上考虑具有0.02(错误= 0.02)的错误的模型。
我们可以如下计算95%置信区间(const = 1.96):
error +/- const * sqrt( (error * (1 - error)) / n)
0.02 +/- 1.96 * sqrt( (0.02 * (1 - 0.02)) / 50)
0.02 +/- 1.96 * sqrt(0.0196 / 50)
0.02 +/- 1.96 * 0.0197
0.02 +/- 0.0388或者,换句话说:
置信区间[0.0,0.0588]有95%的可能性涵盖模型对未见数据的真实分类误差。
请注意,分类错误的置信区间必须剪切为值0.0和1.0。不可能有负误差(例如小于0.0)或误差大于1.0。
在这篇文章中,您了解了如何计算分类器的置信区间。
具体来说,你学到了:
- 报告结果时如何计算分类准确度和分类错误。
- 在计算要报告的模型技能时要使用的数据集。
- 如何计算选定可能性水平的分类误差的下限和上限。
您对分类器置信区间有任何疑问吗? 在下面的评论中提出您的问题。
