我在 Weka 中使用了 10 倍交叉验证。
我知道这通常意味着数据被分成 10 个部分,90% 的训练,10% 的测试,并且交替进行 10 次。
我想知道 Weka 计算得出的 AUC 是什么。它是所有 10 个测试集的平均值吗?或者(我希望这是真的),它是否使用了保持测试集?我似乎在 weka 书中找不到对此的描述。
我在 Weka 中使用了 10 倍交叉验证。
我知道这通常意味着数据被分成 10 个部分,90% 的训练,10% 的测试,并且交替进行 10 次。
我想知道 Weka 计算得出的 AUC 是什么。它是所有 10 个测试集的平均值吗?或者(我希望这是真的),它是否使用了保持测试集?我似乎在 weka 书中找不到对此的描述。
Weka对测试结果进行平均。这是比坚持集更好的方法,我不明白你为什么希望这种方法。如果您保留测试集(什么大小?),您的测试将不会具有统计意义,它只会说,对于训练数据的最佳选择参数,您在任意一小部分数据上获得了一些分数。交叉验证(作为评估技术)的重点是轮流使用所有数据作为训练和测试,因此得到的度量是真实评估度量的期望值的近似值。如果您使用保持测试,它不会收敛到预期值(至少不是在合理的时间内),更重要的是 - 您必须选择另一个常数(保持集有多大,为什么?)并减少用于训练的样本数量(而交叉验证已经开发出来)用于训练和测试的小数据集的问题)。
我自己进行了交叉验证(自己进行了随机折叠并创建了 10 个分类器)并检查了平均 AUC。我还检查了是否使用整个数据集来报告 AUC(类似于 Weka 输出 10 倍以下的决策树时)。
具有朴素贝叶斯分类器的信用数据集的 AUC,如...
我的平均 AUC 和 Weka 之间存在细微差异,但这可能是由于复制折叠失败(尽管我确实尝试控制种子)。