0

我在 Weka 中使用了 10 倍交叉验证。

我知道这通常意味着数据被分成 10 个部分,90% 的训练,10% 的测试,并且交替进行 10 次。

我想知道 Weka 计算得出的 AUC 是什么。它是所有 10 个测试集的平均值吗?或者(我希望这是真的),它是否使用了保持测试集?我似乎在 weka 书中找不到对此的描述。

4

2 回答 2

2

Weka对测试结果进行平均。这是比坚持集更好的方法,我不明白你为什么希望这种方法。如果您保留测试集(什么大小?),您的测试将不会具有统计意义,它只会说,对于训练数据的最佳选择参数,您在任意一小部分数据上获得了一些分数。交叉验证(作为评估技术)的重点是轮流使用所有数据作为训练和测试,因此得到的度量是真实评估度量的期望值的近似值。如果您使用保持测试,它不会收敛到预期值(至少不是在合理的时间内),更重要的是 - 您必须选择另一个常数(保持集有多大,为什么?)并减少用于训练的样本数量(而交叉验证已经开发出来)用于训练和测试的小数据集的问题)。

于 2013-09-30T20:33:06.237 回答
0

我自己进行了交叉验证(自己进行了随机折叠并创建了 10 个分类器)并检查了平均 AUC。我还检查了是否使用整个数据集来报告 AUC(类似于 Weka 输出 10 倍以下的决策树时)。

具有朴素贝叶斯分类器的信用数据集的 AUC,如...

  1. 10 倍 weka = 0.89559
  2. 10 倍地雷 = 0.89509
  3. 原始火车 = 0.90281

我的平均 AUC 和 Weka 之间存在细微差异,但这可能是由于复制折叠失败(尽管我确实尝试控制种子)。

于 2013-09-30T21:28:07.677 回答