Machine learning Weka:10倍CV中每个倍的结果
对于Weka Explorer(GUI),当我们对任何给定的ARFF文件执行10倍CV时,Weka Explorer提供的(据我所见)是所有10倍的平均结果 Q.有没有办法得到每次折叠的结果?例如,我需要每个折叠的错误率(错误识别的实例)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没有提供单个折叠结果的选项,有一些解决方法。如果您明确地不想更改任何代码,您需要进行一些手动修改,但我认为这或多或少地满足了您的需求
百分比分割
并将其设置为90%,而不是交叉验证
更多选项…
并将XVal/%Split的随机种子值更改为以前从未使用过的值
RemoveFolds
或removange
手动进行10次折叠。
生成并保存10个培训集和10个测试集。然后,对于每个折叠,加载训练集,在分类选项卡中选择提供的测试集,并选择适当的测试折叠。我认为使用Weka的GUI可以做到这一点。不过,你需要使用实验者而不是浏览器。以下是步骤:
实验者
- 创建一个新实验(
按钮@右上角)new
- [可选]在
结果目标中输入文件名和位置,以将结果保存到
- 根据您的喜好设置(交叉验证)折叠的数量(开始尝试2次折叠以获得简单的结果)
- 添加数据集(如果数据集需要预处理,则应首先在资源管理器中执行此操作,然后保存预处理的数据集)
- 设置重复次数(我建议从1开始)
- 添加要测试的算法(同样,从简单开始,从一个算法开始)
运行
选项卡,然后开始
实验并等待它完成分析
选项卡,通过单击实验
(右上角)导入实验结果
- 对于
选择:行
折叠
- 对于
选择:列
或百分比不正确
(或您想要查看的任何其他度量)数字不正确
- 现在可以看到每个折叠的指定结果
为什么不改用WEKAAPI呢?它将允许您进行更精细的控制。@iinception,只是想了解一些数据的细节(健全性测试)。所以,在这一阶段尝试节省一些编码时间。太好了!它确实工作得很好!非常感谢。我还有几个问题-(1)迭代控制中的值表示什么?(2) 数据集优先/算法优先的选项意味着什么?(3) 在“分析”选项卡中,如何运行显著性测试?很抱歉,这里的问题太多了。=)很高兴听到这个消息。
重复次数
只需执行几次实验,以获得更稳定的结果(10次重复和10次交叉验证折叠意味着100次运行)。通过在行
/列
中选择运行
,可以查看每次重复的结果。如果您希望所有算法首先在每个数据集上运行,或者反之亦然(在第一个算法上运行所有数据集,然后在第二个算法上运行所有数据集,等等),则data/algofirst
选项非常有用。显著性测试只需加载一个已完成的实验,然后单击执行测试即可。更多信息:精彩!有什么想法吗?谢谢。你知道如何从WEKA的命令行运行中得到这个输出吗?因此,如果我想从命令行运行10倍交叉验证,然后按照您所描述的那样获取结果文件并查看它,我们将如何做到这一点?@Astrid我建议将此作为一个新问题提问(可能链接到此问题/答案)。