Machine learning Weka:10倍CV中每个倍的结果

Machine learning Weka:10倍CV中每个倍的结果,machine-learning,weka,Machine Learning,Weka,对于Weka Explorer(GUI),当我们对任何给定的ARFF文件执行10倍CV时,Weka Explorer提供的(据我所见)是所有10倍的平均结果 Q.有没有办法得到每次折叠的结果?例如,我需要每个折叠的错误率(错误识别的实例) 感谢您的帮助。使用交叉验证选项时,Weka Explorer没有提供单个折叠结果的选项,有一些解决方法。如果您明确地不想更改任何代码,您需要进行一些手动修改,但我认为这或多或少地满足了您的需求 选择百分比分割并将其设置为90%,而不是交叉验证 启动分类器 单击

对于Weka Explorer(GUI),当我们对任何给定的ARFF文件执行10倍CV时,Weka Explorer提供的(据我所见)是所有10倍的平均结果

Q.有没有办法得到每次折叠的结果?例如,我需要每个折叠的错误率(错误识别的实例)


感谢您的帮助。

使用交叉验证选项时,Weka Explorer没有提供单个折叠结果的选项,有一些解决方法。如果您明确地不想更改任何代码,您需要进行一些手动修改,但我认为这或多或少地满足了您的需求

  • 选择
    百分比分割
    并将其设置为90%,而不是
    交叉验证
  • 启动分类器
  • 单击
    更多选项…
    并将XVal/%Split的
    随机种子值更改为以前从未使用过的值
  • 重复十次
  • 但这并不完全等同于10倍交叉验证,因为用这种方法进行的伪折叠可能会重叠

    与交叉验证等效但更麻烦的另一种方法是使用无监督的实例过滤器
    RemoveFolds
    removange
    手动进行10次折叠。 生成并保存10个培训集和10个测试集。然后,对于每个折叠,加载训练集,在分类选项卡中选择提供的测试集,并选择适当的测试折叠。

    我认为使用Weka的GUI可以做到这一点。不过,你需要使用实验者而不是浏览器。以下是步骤:

  • 从GUI选择器中打开
    实验者
    • 创建一个新实验(
      new
      按钮@右上角)
    • [可选]在
      结果目标中输入文件名和位置,以将结果保存到
    • 根据您的喜好设置(交叉验证)折叠的数量(开始尝试2次折叠以获得简单的结果)
    • 添加数据集(如果数据集需要预处理,则应首先在资源管理器中执行此操作,然后保存预处理的数据集)
    • 设置重复次数(我建议从1开始)
    • 添加要测试的算法(同样,从简单开始,从一个算法开始)
  • 转到
    运行
    选项卡,然后
    开始
    实验并等待它完成
  • 转到
    分析
    选项卡,通过单击
    实验
    (右上角)导入实验结果
    • 对于
      选择:
      折叠
    • 对于
      选择:
      百分比不正确
      数字不正确
      (或您想要查看的任何其他度量)
    • 现在可以看到每个折叠的指定结果

  • 为什么不改用WEKAAPI呢?它将允许您进行更精细的控制。@iinception,只是想了解一些数据的细节(健全性测试)。所以,在这一阶段尝试节省一些编码时间。太好了!它确实工作得很好!非常感谢。我还有几个问题-(1)迭代控制中的值表示什么?(2) 数据集优先/算法优先的选项意味着什么?(3) 在“分析”选项卡中,如何运行显著性测试?很抱歉,这里的问题太多了。=)很高兴听到这个消息。
    重复次数
    只需执行几次实验,以获得更稳定的结果(10次重复和10次交叉验证折叠意味着100次运行)。通过在
    /
    中选择
    运行
    ,可以查看每次重复的结果。如果您希望所有算法首先在每个数据集上运行,或者反之亦然(在第一个算法上运行所有数据集,然后在第二个算法上运行所有数据集,等等),则
    data/algofirst
    选项非常有用。显著性测试只需加载一个已完成的实验,然后单击执行测试即可。更多信息:精彩!有什么想法吗?谢谢。你知道如何从WEKA的命令行运行中得到这个输出吗?因此,如果我想从命令行运行10倍交叉验证,然后按照您所描述的那样获取结果文件并查看它,我们将如何做到这一点?@Astrid我建议将此作为一个新问题提问(可能链接到此问题/答案)。