Answers:
简而言之,是的。统计意义在这里很重要。您正在查看分类错误(或者,如此处所给,精度= 1-分类错误)。如果在不同的1000个样本上比较分类器,则可以仅使用二项式检验,如果相同,则需要使用McNemar检验的1000个样本。请注意,仅以这种方式测试分类错误是次优的,因为您假设分类错误与真实类无关,或者在潜在应用程序中真实类的比例相同。
这意味着您应该查看诸如真阳性率,假阳性率或AUC之类的量度。使用哪种度量以及如何对其进行测试,取决于您的分类器的输出。它可能只是一个类,也可能是一个连续的数字,给出了属于某个类的可能性。
选择性能度量时,您可以做Erik所指的同样的想法。
我发现通过它们回答的问题来引用不同的措施很有帮助(这里是我最熟悉的医学诊断语言-但也许您可以用文本代替患者,而用垃圾邮件代替疾病;-)):
敏感性:鉴于患者确实患有该疾病,分类器实现该疾病的可能性有多大?
特异性:给定患者确实没有疾病,分类器实现该疾病的可能性有多大?
积极的预测价值:鉴于分类器声称患者患病,患者真正患病的可能性有多大?
负预测价值:鉴于分类器声称患者未患病,患者真正没有疾病的可能性有多大?
如您所见,预测值是医生和患者真正感兴趣的。但是,几乎每个人都通过敏感性和特异性来表征其分类器。原因是预测值需要考虑到疾病的发生率,并且对于不同类型的患者可能会有很大的差异(数量级!)。
有关您的问题的更多主题:
我敢打赌,您在担心中是对的。
以两种Erik场景为例:
以下是独立的测试样本:
> binom.test (x = 810, n = 1000, p = 0.8)
Exact binomial test
data: 810 and 1000
number of successes = 810, number of trials = 1000, p-value = 0.4526
alternative hypothesis: true probability of success is not equal to 0.8
95 percent confidence interval:
0.7842863 0.8338735
sample estimates:
probability of success
0.81
(请注意,此测试是双向的,假设即使结果相反,两个分类器也会被发布...)
最好的情况是:配对测试,新分类器适用于所有样本,旧分类器也适用,再加上10个样本:
> ## mc.nemar: best possible case
> oldclassif <- c (rep ("correct", 800), rep ("wrong", 200))
> newclassif <- c (rep ("correct", 810), rep ("wrong", 190))
> table (oldclassif, newclassif)
newclassif
oldclassif correct wrong
correct 800 0
wrong 10 190
> mcnemar.test (oldclassif, newclassif)
McNemar's Chi-squared test with continuity correction
data: oldclassif and newclassif
McNemar's chi-squared = 8.1, df = 1, p-value = 0.004427
(只要两个分类器以不同的方式预测了1000个样本中的不超过10个样本,则p值将保持在神奇的0.05以下)。
即使p值是错误问题的正确答案,也有迹象表明,这是一个比较狭小的地方。
但是,考虑到通常的科学实践,即测试了一个未知数量(未发布)的新功能,并且仅发布了效果更好的功能,该位置变得更加紧凑。然后,80%的分类器可能只是79%的分类器的后继产品...
如果您喜欢阅读德语,Beck-Bornhold和Dubben会写一些非常好的书。如果我没记错的话,Mit a Wahrscheinlichkeit grenzender Sicherheit对这些问题进行了很好的讨论。(我不知道是否有英文版,标题的字面意思是“确定性与可能性接壤”)
我强烈不鼓励使用任何不连续的不正确评分规则(如准确性,敏感性,特异性,按正确的比例分类的正确评分,当优化结果为假模型时),而应使用似然比检验或部分F检验作为新产品的附加值变量。
查看正确分类的问题的几种方法之一是,如果一个类别中的总比例为0.9,则通过忽略数据并将每个观察结果归类为该类别,您将在0.9的时间内正确。