对于 Weka Explorer (GUI),当我们对任何给定的ARFF文件进行 10 折 CV 时,Weka Explorer 提供的(据我所知)是所有 10 折的平均结果。
Q.有没有什么方法可以得到每个折叠的结果?例如,我需要每个折叠的错误率(错误识别的实例)。
帮助表示赞赏。
对于 Weka Explorer (GUI),当我们对任何给定的ARFF文件进行 10 折 CV 时,Weka Explorer 提供的(据我所知)是所有 10 折的平均结果。
Q.有没有什么方法可以得到每个折叠的结果?例如,我需要每个折叠的错误率(错误识别的实例)。
帮助表示赞赏。
我认为使用 Weka 的 GUI 可以做到这一点。您需要使用 Experimenter 而不是 Explorer。以下是步骤:
Experimenter
从 GUI 选择器
打开New
按钮@右上角)Results Destination
以将结果保存到Number of (cross-validation) folds
(开始尝试 2 折以获得简单的结果)Number of repetitions
(我建议从 1 开始)Run
选项卡和Start
实验并等待它完成Analyse
导入实验结果Experiment
Row
选择:Fold
Column
选择:Percent_incorrect
或Number_incorrect
(或您想查看的任何其他度量)Weka Explorer 在使用交叉验证选项时没有提供单个折叠结果的选项,有一些解决方法。如果您明确不想更改任何代码,则需要进行一些手动摆弄,但我认为这或多或少地提供了您想要的
Cross-validation
,选择Percentage split
并将其设置为 90%More options...
并将Random seed for XVal / % Split
值更改为您以前未使用过的值。不过,这并不完全等同于 10 折交叉验证,因为您以这种方式制作的伪折叠可能会重叠。
RemoveFolds
等效于交叉验证但更麻烦的替代方法是使用无监督实例过滤器或手动进行 10 折RemoveRange
。生成并保存 10 个训练集和 10 个测试集。然后对于每个折叠,加载训练集,Supplied test set
在分类选项卡中选择,然后选择适当的测试折叠。