根据估计的分类精度,我想测试一个分类器在基础集上是否比另一个分类器在统计上更好。对于每个分类器,我从基集中随机选择一个训练和测试样本,训练模型并测试模型。我对每个分类器执行十次。因此,我对每个分类器有十个估计分类准确度测量值。我如何在基础数据集上是否比什么t检验适合使用?
如何统计比较机器学习分类器的性能?
在基于校准测试选择两种学习算法、比较监督分类学习算法的近似统计测试和比较分类器:要避免的陷阱和推荐方法中对一些 t 检验方法进行了回顾和批评
我手头没有 Fleiss 的书,所以这一切都是 IIRC。
暂时在评论中回答@JohnMoeller 的问题:原来的问题是恕我直言,无法回答。
所以假设我有 30 个样本,我在每个样本上测试 c1 和 c2,并记录每个样本的准确度。
这样做,你最终得到一个 2 x 2 列联表,给出分类器 1 正确/错误与分类器 2 正确/错误。这是McNemar 测试的起点。因此,这是用于配对比较,它比比较“独立”比例(如果它们来自同一有限样本随机抽取,则不完全独立)更强大。
我现在无法查找 McNemar 的“小字”,但 30 个样本并不多。因此,您甚至可能不得不从 McNemar's 切换到计算二项式概率的Fisher 精确检验[或其他东西]。
比例平均值:
无论您是用 10 个测试用例测试同一个分类器 10 倍,还是用所有这 100 个用例测试一次(2 x 2 表只计算所有测试用例)都没有关系。
如果原始问题中每个分类器的 10 个准确度估计是通过随机保留或 10 倍交叉验证或 10 倍自举得到的,则通常假设为每个分类器计算的 10 个代理模型是等效的(=具有相同的准确性),因此可以合并测试结果*。然后,对于 10 倍交叉验证,您假设测试样本大小等于测试样本的总数。对于其他方法,我不太确定:您可以多次测试同一个案例。根据数据/问题/应用程序,这并不像测试一个新案例那样提供更多信息。
*如果代理模型不稳定,这个假设就会失效。但是您可以衡量这一点:进行迭代折交叉验证。每次完整运行都会为每种情况提供一个预测。因此,如果您在多个不同的代理模型上比较同一测试用例的预测,您可以测量由交换一些训练数据引起的方差。由于总样本量有限,该方差是对方差的补充。
将您的迭代 CV 结果放入“正确分类矩阵”中,每一行对应一个案例,每一列对应一个代理模型。现在,沿行的方差(删除所有空元素)完全是由于代理模型的不稳定性。列中的差异是由于您用于测试此代理模型的案例数量有限。假设您测试用例中个正确的预测。精度的点估计是,它受方差。
检查由于不稳定性引起的方差与有限测试样本量引起的方差相比是大还是小。