我已经和Weka一起工作了一段时间,在我的研究中,我发现很多代码示例都使用测试和训练集。例如,使用离散化和贝叶斯网络,他们的例子几乎总是用测试和训练集显示。我可能在这里错过了对数据处理的一些基本理解,但我不明白为什么这似乎总是如此。我在一个项目中使用离散化和贝叶斯网络,对于他们两个,我没有使用测试或训练集,也没有看到为什么我需要。我在BayesNet上进行交叉验证,所以我正在测试它的准确性。我误解了什么测试和训练集用于?哦,请使用最简单的术语;我对数据处理世界还不是很有经验。何时使用Weka的测试和训练集?
回答
培训和测试集背后的想法是测试概括性错误。也就是说,如果只使用一个数据集,只需简单地学习这个集合就可以达到完美的精确度(这是最近邻分类器所做的,Weka中的IBk
)。一般而言,这不是您想要的 - 机器学习算法应该学习您给出的示例数据背后的一般概念。测试这种情况的一种方式是使用单独的数据进行培训和测试。
如果您使用的是交叉验证,那么您正在使用单独的培训和测试集。这只是将整个数据集划分为训练和测试的一种方式。例如,如果您进行10次交叉验证,则您的整个数据将被划分为10组大小相等的数据。其中9个被组合并用于训练,剩下的一个用于测试。然后重复这个过程,并结合九个不同的训练集合等等,直到所有十个单独的分区都将被用于测试。
因此,训练/测试集和交叉验证在概念上是做同样的事情,交叉验证通过对整个数据集进行平均来简单地采取更严格的方法。
培训数据是指用于“构建模型”的数据。例如,它使用算法J48(树分类器)对实例进行分类,训练数据将用于生成代表“学习概念”的树,该概念应该是概念的概括。这意味着学习规则,生成树,调整后的神经网络,或其他任何;将能够获得新的(看不见的)实例并将其正确分类(“学习概念”不依赖于培训数据)。
测试集是将用于测试模型是否正确学习概念(它独立于训练数据)的数据的百分比。
在WEKA中,您可以执行将数据集分解为trainig数据(在J48的情况下构建树)和测试数据(测试模型以确定概念已被学习)的执行。例如,您可以将60%的数据用于培训,40%用于测试(确定需要多少数据进行培训和测试是数据挖掘的关键问题之一)。
但我建议您快速查看交叉验证,这是一种在WEKA中实施的稳健测试方法。这里已经很好地解释了: https://stackoverflow.com/a/10539247/1565171
如果您还有其他问题,请发表评论。
- 1. 使用StratifiedRemoveFolds示例在weka中创建训练和测试集
- 2. R训练和测试集
- 3. Weka中的训练和测试集不兼容
- 4. 在weka中使用均衡训练集
- 5. Weka例外:训练和测试文件不兼容
- 6. PROC glmselect训练和测试
- 7. 的R - 计算测试MSE给出从训练集训练模型和测试集
- 8. 如何将文档分割为训练集和测试集?
- 9. 如何修复测试,并使用MATLAB的SVM训练集?
- 10. 如何在Apache Spark中训练Matrix分解模型MLlib的ALS使用训练,测试和验证数据集
- 11. IndexOutOfBoundsException当试图添加更多的实例使用Weka的训练集
- 12. 用MAHOUT测试和训练不同的数据集
- 13. 使用预测模型和TunePareto包测试和训练数据集
- 14. 在Postgres中将数据集分成训练和测试集
- 15. Pyspark - 从数据框创建训练集和测试集
- 16. WEKA的多层感知器:训练然后再训练
- 17. Weka中说,“训练和测试集不兼容”时,两者是相同的文件
- 18. 双向LSTM(BLSTM)的训练,测试和验证集
- 19. 1)从整个训练集中训练CNN和2)训练集中的训练集,然后是整个训练集之间的区别是什么?
- 20. 如何将训练数据转换为weka分类器的测试数据?
- 21. removeSparseTerms培训和测试集
- 22. 在R中创建训练和测试数据集
- 23. 在Pandas中创建训练和测试数据集
- 24. 经常性神经网络训练和测试集
- 25. 什么是训练和测试数据集
- 26. 如何在caffe中训练/测试我自己的数据集?
- 27. 如何在使用Caffe训练时获得训练错误?
- 28. 训练数据集群的BOW预测
- 29. Weka分类与训练集中移除的实例
- 30. 如何使用liblinearutil包来训练和预测python中的测试文件?
相当古老的问题,但有关于此问题。因此,如果我有培训,开发和测试集,WEKA的发展角色是什么?我如何在WEKA中使用我的开发集? – KillBill
不确定你的意思是“开发集”。你通常会有训练,测试和验证集。 –