Weka的:在10倍CV每个折叠的结果(Weka: Results of each fold in

2019-06-25 02:47发布

对于Weka的资源管理器(GUI),当我们对于任何给定ARFF文件做了10倍CV,那么什么Weka的资源管理器提供了(据我可以看到)是所有的10倍的平均结果。

问:有什么办法让每个折叠的结果吗? 举例来说,我需要为每个倍的错误率(不正确地确定的情况)。

帮助表示赞赏。

Answer 1:

我认为这可能使用Weka中的GUI。 您需要使用实验者虽然,而不是浏览器。 具体操作步骤如下:

  1. 打开Experimenter从GUI选配
    • 创建一个新的实验( New按钮@右上)
    • [可选]输入的文件名和位置Results Destination到结果保存到
    • 设置Number of (cross-validation) folds根据自己的喜好(开始2倍,便于试验结果)
    • 添加数据集(如果数据集需要预处理,那么你应该先做到这一点在资源管理器,然后保存预处理后的数据集)
    • 设置Number of repetitions (我建议1与开始的)
    • 添加算法(S)你想测试(重新开始容易,先从一个算法)
  2. 转至Run选项卡,并Start实验,并等待,直到它完成
  3. 转至Analyse选项卡,并单击导入实验结果Experiment (右上)
    • 对于Row选择: Fold
    • 对于Column选择: Percent_incorrectNumber_incorrect (或任何其他措施要查看)
    • 您现在可以看到每个折叠指定的结果


Answer 2:

WEKA Explorer没有一个选项,使用交叉验证选项时,给各个褶皱的结果,也有一些解决方法。 如果您明确地不想改变任何代码,你需要做一些手工摆弄,但我认为这给了或多或少你想要什么

  1. 取而代之的Cross-validation ,选择Percentage split并将其设置为90%
  2. 启动分类
  3. 点击More options...并更改Random seed for XVal / % Split值你以前没用过的东西。
  4. 重复十次。

这不完全等同于10倍交叉验证不过,因为伪折叠你做这样可能会重叠。

一种替代,它等效于交叉验证,但更繁琐,会通过使用无监督实例滤波器使手动10倍RemoveFoldsRemoveRange 。 生成并保存10分训练集和10个测试台。 然后对于每个倍,加载训练集,选择Supplied test set在分类标签中,并选择适当的测试折。



文章来源: Weka: Results of each fold in 10-fold CV