WEKA - 分类 - 训练和测试集
Posted
技术标签:
【中文标题】WEKA - 分类 - 训练和测试集【英文标题】:WEKA - Classification - Training and Test Set 【发布时间】:2016-04-04 09:47:16 【问题描述】:我正在使用 3 个不同的分类器执行分类问题,即决策树、朴素贝叶斯和 IBK。我有两个数据集,它们的布局和属性名称相同,但每个数据集的值不同。
Training Set Example;
State
Population
HouseholdIncome
FamilyIncome
perCapInc
NumUnderPov
EducationLevel_1
EducationLevel_2
EducationLevel_3
UnemploymentRate
EmployedRate
ViolentCrimesPerPop
Crime
Rate
8, 0.19, 0.37, 0.39, 0.4, 0.08, 0.1, 0.18, 0.48, 0.27 ,0.68 ,0.2 ,Low
我希望我的决策树根据 ViolentCrimesPerPop 数字(在本例中为 0.2)使用 12 个属性来预测目标类别值是低、中还是高。
我的问题是....在我的测试集上,我是只提供更多相同格式的未见示例,还是应该删除其中一个属性,以便我可以查看它是否学到了什么?
【问题讨论】:
嗨@david-buchanan,欢迎来到SO。你做了什么,例如你能告诉我们你的步骤吗? 你在weka中选择了属性吗? 【参考方案1】:在相同的训练数据上测试您的分类器并不是一件好事,因为您的模型希望能够正确地对这些实例进行分类。
通常的设置是在训练数据集上进行训练,然后在不同的数据集(具有相同的格式/结构)上对其进行测试,看看它的表现如何。
【讨论】:
【参考方案2】:最好将您的数据集分成三个独立的集合:训练、测试和验证。
训练集用于训练您正在构建的每个模型。这通常使用测试集来检查性能。随着设计人员不断调整模型的参数(例如,决策树的修剪选项和 k-NN 或神经网络参数的 k),您可以看到模型在测试集上的表现如何。
最后,一旦为您的模型完成了这些参数,您就可以针对验证集运行这些参数,以确认模型没有过度拟合测试数据(由于对模型本身进行了参数调整)。
关于这些集合的进一步讨论可以在here找到。
一般情况下,我使用了 60-20-20 的数据拆分,但通常也使用 50-25-25,这实际上取决于您必须使用多少数据。
我希望这会有所帮助!
【讨论】:
我同意你的观点,他可以进行数据拆分并检查不同组合以获得最大准确性(如果这是要考虑的措施。)以上是关于WEKA - 分类 - 训练和测试集的主要内容,如果未能解决你的问题,请参考以下文章