改善weka分类器的结果

时间:2014-11-06 20:56:01

标签: weka

我有一个由27个属性和597个实例组成的数据库。  我希望使用Weka将其尽可能好地分类。  哪个分类器不重要.class属性是名义上的,其余的是数字。 迄今为止最好的结果是LWL(83.2215)和oneR(83.389)。我使用了属性选择过滤器,但结果没有得到改进,即使是NN或SMO或元类,其他分类器也无法提供更好的结果。 任何关于如何改进这个数据库的想法,知道没有缺失值,数据库是在三年内聚集的约597名患者。

2 个答案:

答案 0 :(得分:1)

你尝试过提升或装袋吗?这些通常可以帮助改善结果。

http://machinelearningmastery.com/improve-machine-learning-results-with-boosting-bagging-and-blending-ensemble-methods-in-weka/

推进

  

Boosting是一种以基础分类器开始的集合方法   这是根据培训数据准备的。然后是第二个分类器   在它背后创建,专注于培训数据中的实例   第一个分类器出错了。这个过程继续增加   分类器,直到达到模型数量的限制或   精度。

     

AdaBoostM1中​​的Weka提供了Boosting(自适应增强)   算法

     

单击“算法”部分中的“添加新...”。点击“选择”   按钮。单击“元”选项下的“AdaBoostM1”。点击   “选择”按钮选择“分类器”并选择“树”下的“J48”   部分并单击“选择”按钮。单击上的“确定”按钮   “AdaBoostM1”配置。

装袋

  

Bagging(Bootstrap Aggregating)是一种创建的集合方法   分离训练数据集的样本并为其创建分类器   每个样本。然后是这些多个分类器的结果   合并(如平均或多数表决)。诀窍是每一个   训练数据集的样本是不同的,给出每个分类器   这是训练有素,一种微妙的不同焦点和观点   问题

     

单击“算法”部分中的“添加新...”。点击“选择”   按钮。点击“元”选项下的“装袋”。点击“选择”   “分类器”按钮,在“树”部分下选择“J48”   然后单击“选择”按钮。点击“Bagging”上的“OK”按钮   配置。

答案 1 :(得分:0)

我尝试过Boosting and Bagging,如 @applecrusher 所述。精度有所提高。但是对于与SKLearn相同的数据,我获得了更好的准确性。当我比较每个步骤的代码和输出时,我发现默认情况下,SKLearn中的训练测试拆分功能是对数据进行混排。当我使用WEKA整理Collections.shuffle()的数据时,我看到了更好的结果。试试看。