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 - 分类 - 训练和测试集的主要内容,如果未能解决你的问题,请参考以下文章

Weka 中的训练和测试集不兼容

使用 StratifiedRemoveFolds 示例在 weka 中创建训练和测试集

使用 Weka 使用“一类分类器”进行训练和测试

如何在 WEKA 中测试分类数据集?

weka 中用于推文分类的 N 折交叉验证

错误评估分类器训练和测试数据集不兼容