【问题标题】:Why doesn't ID3 algorithm work on the UCI Mushroom dataset in Weka?为什么 ID3 算法不适用于 Weka 中的 UCI Mushroom 数据集?
【发布时间】:2018-10-08 12:42:38
【问题描述】:

我似乎无法将 ID3 分类算法应用于 Mushroom.arff 数据集。该数据集仅包含名义属性。我认为我需要对其进行预处理才能使其正常工作,但我不知道如何操作。我该如何进行?

【问题讨论】:

  • 感谢编辑和回答问题。

标签: machine-learning classification weka decision-tree


【解决方案1】:

ID3 算法是一种未经修剪的决策树生成算法,具有以下properties

  1. 只能处理名义属性。
  2. 它无法处理缺失值。
  3. 空叶子可能会导致未分类的实例。

Mushroom dataset 包含 22 个标称属性并满足第一个条件,但检查后您会发现属性 'stalk-root' 有 2480 (31 %) 缺失值。这就是当你尝试分类时默认情况下在 Weka 中无法选择它的原因。

为了解决这个问题,您可以继续使用这两种解决方案。

  1. 您可以删除该属性。

    • 打开 .arff 文件,在 Attributes 选项卡中选择 stalk-root 属性,然后单击 Remove。
      1. 您现在会看到 ID3 可用。我能够获得 1.0 的 F 分数。

  1. 您可以使用技术来处理缺失值。

    • 在您不想丢失信息的情况下(在本例中为“stalk-root”属性),您可以继续使用这些techniques
      1. 使用属性的集中趋势度量,例如平均值、中位数来替换空值。
      2. 对与给定元组属于同一类的所有样本使用属性均值或中位数。
      3. 使用基于推理的工具,使用贝叶斯形式,使用最可能的值来填充缺失值。

【讨论】:

  • 兄弟我已经应用了特征选择过滤器并且 id3 再次启用了为什么?
  • 我无法可视化 id3 树
  • @GhulamDastgeer 右键单击​​结果列表选项卡中的结果并选择“可视化树”选项。
  • 此选项已禁用
  • 兄弟你能回答我的问题吗stackoverflow.com/questions/50099119/…
猜你喜欢
  • 2012-08-08
  • 2021-09-06
  • 1970-01-01
  • 2015-03-10
  • 2020-08-15
  • 1970-01-01
  • 1970-01-01
  • 2015-08-11
  • 1970-01-01
相关资源
最近更新 更多