我在Weka Experimenter中尝试在鸢尾花和大豆数据集上测试id3算法。
但是当运行id3
算法时,出现了以下错误:
weka.classifiers.trees.Id3: Cannot handle numeric attributes!
在Google上搜索上述错误时,我找到了这个问题:Weka J48 Classifier: Cannot handle numeric class?
但我不确定如何使用那个被接受的答案,因为我是通过Weka Experimenter的GUI进行实验的!
回答:
过程将如下所述:
- 打开你想要转换的Iris文件(或任何数据文件)。
- 选择你想要应用到数据上的过滤器(在这种情况下,选择了NumericToBinary)。
- 根据需要更改过滤器的设置。
- 点击“应用”按钮,将更改应用到数据集上。
- 你应该会看到数据集的一些变化,如下图所示。
- 点击“保存…”按钮,并将数据保存到另一个文件中。
- 关闭Explorer
- 从Weka中打开Experimenter
- 点击“新建”按钮,然后设置结果ARFF目标文件
- 在“数据集”组下,点击“添加新…”,然后添加修改后的ARFF数据文件
- 在“算法”组下,点击“添加新…”并选择你的算法
- 在“运行”标签下,点击“开始”按钮。
- 你应该会看到如下的0错误:
请注意,这里使用的过滤器可能对建模问题不太有效(因为所有属性似乎都返回true),所以其他过滤器可能更适合这个问题。
希望这对你有帮助!