【问题标题】:How can I use WEKA Machine Learning software to classify the following type of data?如何使用 WEKA 机器学习软件对以下类型的数据进行分类?
【发布时间】:2013-12-27 12:10:57
【问题描述】:

我有一个包含 10 列的 .csv 文件。前 9 列与特定项目的属性有关,而第 10 列有“类”,说明它是哪个项目。

我正在尝试运行以下分类器 -

  • 朴素贝叶斯
  • 零R
  • IBK
  • 神经网络

我在尝试继续时遇到了一些问题。我应该这样划分我的数据 - 前半部分将被训练并使用后半部分数据测试结果。

我首先转到“资源管理器”并打开 .csv 文件。我选择了所有属性,包括“CLASS”,然后转到分类选项卡。

从那里,我选择“百分比拆分”为 50%,然后简单地“启动”不同的分类器(如前所述)。

所以这些是问题 -

  • 是正确的方法吗?
  • 我是否也需要将“CLASS”列作为属性包含在内?
  • 我可以在 GUI 中进行哪些修改来改进 分类器的测试结果而不更改数据?我是 试图理解这些算法 w.r.t WEKA 的工作原理 好吧,所以想尝试不同的东西。

谁能帮我解决这个问题?

谢谢!

【问题讨论】:

    标签: machine-learning classification weka


    【解决方案1】:

    您的问题有点笼统,但我会尽力提供帮助:

    1. 确保在“分类”选项卡(位于“更多选项”按钮下方)中选择了“分类”列

    2. 您可以使用对应于 50%/50% 拆分的 2 折交叉验证

    3. 增加训练集大小 - 使用 80%/20% 百分比拆分甚至 90%/10% 而不是 50%/50%(分别对应于 5 倍和 10 倍交叉验证)。如果您的样本量较小,这可能会有所帮助

    4. 明智地选择分类器 - 根据您的问题,您还可以使用决策树(例如 J48)和随机森林。

    【讨论】:

      【解决方案2】:
      • 是的,方法是正确的(无论如何对于 Weka)
      • 是的,您需要包含 CLASS。特别是对于需要监督训练的算法。它用于训练算法。没有它,培训师怎么知道答案应该是什么?
      • 您可以尝试调整参数,但您应该这样做以获得对 TRAINING 数据的更好响应。当然,总是存在过拟合的可能性。如果您允许测试影响训练,那么您只是将测试数据用作辅助训练集——它不再是测试数据。

      有人在这里问过类似的问题 How to build a good training data set for machine learning and predictions? 它们看起来像不同的问题,但涉及相同的考虑因素。

      【讨论】:

        猜你喜欢
        • 2014-04-21
        • 2019-11-08
        • 2019-01-27
        • 1970-01-01
        • 1970-01-01
        • 2018-08-15
        • 2016-02-25
        • 2018-09-07
        • 1970-01-01
        相关资源
        最近更新 更多