Tit*_*llo 28 validation fold weka
我一直在想,我读到的交叉验证是这样执行的:
在k倍交叉验证中,原始样本被随机分成k个子样本.在k个子样本中,保留单个子样本作为用于测试模型的验证数据,并且剩余的k-1个子样本用作训练数据.然后将交叉验证过程重复k次(折叠),其中每个k个子样本仅使用一次作为验证数据.然后可以对折叠的k结果进行平均(或以其他方式组合)以产生单个估计
所以建立了k个模型,最后一个是平均值.在Weka指南中写道,每个模型总是使用所有数据集构建.那么Weka中的交叉验证如何工作呢?是否根据所有数据构建模型,"交叉验证"意味着创建了k折叠,然后对其进行评估,最终输出结果只是折叠的平均结果?
Rus*_*ams 51
所以,再次出现这种情况:您有100个标记数据
使用训练集
使用10倍CV
Weka需要100个标记数据
它产生10个相同大小的集合.每组分为两组:90个标记数据用于训练,10个标记数据用于测试.
它使用来自90个标记数据的算法生成分类器,并将其应用于集合1的10个测试数据.
对于集合2到10,它做同样的事情,并产生9个分类器
它平均了10个同等大小(90个训练和10个测试)集合生成的10个分类器的性能
如果这回答了你的问题,请告诉我.
我会在评论中回答,但我的声誉仍然不允许我:
除了Rushdi接受的答案之外,我想强调的是,在进行性能测量并进行平均后,为交叉验证折叠集创建的模型都被丢弃.
无论您的测试选项如何,生成的模型始终基于完整的训练集.由于MTA要求更新引用的链接,这里是:http://list.waikato.ac.nz/pipermail/wekalist/2009-December/046633.html.这是WEKA维护者之一的答案,指出了我写的内容.
小智 5
我想我明白了.拿(例如)weka.classifiers.rules.OneR -x 10 -d outmodel.xxx.这有两件事:
outmodel.xxx.此模型不用作交叉验证的一部分.| 归档时间: |
|
| 查看次数: |
54596 次 |
| 最近记录: |