【问题标题】:improve weka classifier results改进 weka 分类器结果
【发布时间】:2015-01-03 12:51:00
【问题描述】:

我有一个包含 27 个属性和 597 个实例的数据库。 我想使用 Weka 以尽可能好的结果对其进行分类。 哪个分类器不重要。类属性是名义的,其余的是数字的。 迄今为止最好的结果是 LWL (83.2215) 和 oneR(83.389)。我使用了属性选择过滤器,但结果没有得到改善,没有其他分类器可以提供更好的结果,即使是 NN 或 SMO 或元类。 知道如何改进这个数据库的任何想法都知道没有缺失值,并且该数据库是在三年内收集的大约 597 名患者。

【问题讨论】:

    标签: weka


    【解决方案1】:

    我尝试了 @applecrusher 提到的 Boosting 和 Bagging。准确率略有提高;但是对于与SKLearn 相同的数据,我得到了更好的准确性。当我比较每一步的代码和输出时,我发现 SKLearn 中的训练-测试拆分功能默认情况下会打乱数据。当我使用Collections.shuffle()WEKA 的数据进行洗牌时,我看到了改进的结果。试试看吧。

    【讨论】:

      【解决方案2】:

      您是否尝试过 boosting 或 bagging?这些通常有助于改善结果。

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

      提升

      Boosting 是一种从基分类器开始的集成方法 这是根据训练数据准备的。然后是第二个分类器 在它后面创建以专注于训练数据中的实例 第一个分类器出错了。该过程继续添加 分类器,直到模型数量达到限制或 准确性。

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

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

      装袋

      Bagging (Bootstrap Aggregating) 是一种集成方法,可创建 分离训练数据集的样本并为 每个样本。然后将这些多个分类器的结果 合并(例如平均投票或多数投票)。诀窍是每个 训练数据集的样本不同,给每个分类器 这是经过培训的,对 问题。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-17
        • 2014-11-11
        • 2014-05-31
        • 1970-01-01
        • 2017-06-26
        • 2019-08-08
        • 2014-03-28
        • 2015-07-02
        相关资源
        最近更新 更多