WEKA - 分类 - 训练和测试集

时间:2015-12-30 12:01:33

标签: classification weka

我正在使用3种不同的分类器执行分类问题,即Decision Tree,Naive Bayes和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

如果Target Class值为Low,Med或High,我希望我的决策树使用12个属性进行预测,基于ViolentCrimesPerPop数字,在此示例中为0.2。

我的问题是......在我的测试集上,我只是以相同的格式提供更多未见的示例,或者我应该删除其中一个属性,以便我可以看到它是否学到了什么?

2 个答案:

答案 0 :(得分:1)

在同一个训练数据上测试分类器并不是一件好事,因为您的模型已经学会了,希望能够正确地对这些实例进行分类。

通常的设置是训练训练数据集,然后在不同的数据集(具有相同的格式/结构)上进行测试,以查看它的表现。

答案 1 :(得分:1)

将数据集分成三个独立的集合是一个好主意:培训,测试和验证。

训练集用于训练您正在构建的每个模型。通常使用测试集检查性能。随着设计人员继续调整模型的参数(例如,决策树上的修剪选项和k-NN或神经网络参数的k),您可以看到模型对测试集的执行情况。

最后,一旦为您的模型完成了这些参数,您就可以针对验证集运行这些参数,以确认模型没有过度拟合测试数据(由于应用于模型本身的参数调整)。

可以找到对这些集合的进一步讨论here

一般来说,我使用了60-20-20的数据分割,但是通常也使用50-25-25,这实际上取决于您需要使用多少数据。

我希望这有帮助!