何时在Weka中使用测试和训练集?

Ket*_*108 3 testing networking bayesian weka

我已经和Weka一起工作了一段时间,在我的研究中,我发现很多代码示例都使用了测试和训练集.例如,通过Discretization和Bayesian Networks,他们的示例几乎总是使用测试和训练集来显示.我可能在这里缺少对数据处理的一些基本理解,但我不明白为什么这似乎总是如此.我在一个项目中使用Discretization和Bayesian Networks,对于他们两个,我没有使用测试或训练集,也不明白为什么我需要.我正在BayesNet上进行交叉验证,所以我正在测试它的准确性.我误解了测试和训练集用于什么?哦,请使用最简单的术语; 我对数据处理的世界还不是很有经验.

Lar*_*off 5

训练和测试集背后的想法是测试泛化错误.也就是说,如果你只使用一个数据集,你可以通过简单地学习这个集合来实现完美的准确性(这是最近的邻居分类器IBk在Weka中所做的).一般来说,这不是你想要的 - 机器学习算法应该学习你给它的示例数据背后的一般概念.测试是否发生这种情况的一种方法是使用单独的数据进行培训和测试.

如果您使用交叉验证,则使用单独的培训和测试集.这只是一种将整个数据集划分为训练和测试的方法.例如,如果您进行10倍交叉验证,则整个数据将被划分为10组相同大小的数据.其中9个被组合并用于训练,剩下的一个用于测试.然后重复该过程,结合九个不同的集合进行训练,依此类推,直到所有十个单独的分区都用于测试.

因此,训练/测试集和交叉验证在概念上做同样的事情,交叉验证只需要通过对整个数据集进行平均而采用更严格的方法.