使用 J48 构建分类器

Posted

技术标签:

【中文标题】使用 J48 构建分类器【英文标题】:Building a classifier with J48 【发布时间】:2018-04-04 11:44:45 【问题描述】:

Weka 旨在让构建分类器变得非常容易。有很多不同的种类,这里我想使用一种称为“J48”的方案来生成决策树

Weka 可以通过在“打开文件”对话框中选择适当的文件格式来读取逗号分隔值 (.csv) 格式的文件。

我创建了一个小型电子表格文件(见下图),将其保存为 .csv 格式,并将其加载到 Weka。

.csv 文件的第一行具有属性名称,以逗号分隔,在本例中为 classe realresultado modelo

我已经在资源管理器中打开了数据集。 如果我转到分类面板,选择一个分类器,打开树并单击 J48,我应该运行它(我有数据集,分类器)。 (见下一张图片)

好吧,它不允许按开始。(见下图)

我需要做些什么来解决这个问题?

【问题讨论】:

【参考方案1】:

如果您回顾预处理,您会发现 resultado modelo 可能被视为数字属性。 J48 仅适用于名义类属性。 (预测属性可以是数字,正如评论者@nekomatic 所指出的那样。)

您可以使用“预处理”选项卡中的过滤器来更改此设置。选择无监督属性过滤器 NumericToNominal,这会将所有变量(或它们的子集)从数字转换为名义。那么你应该可以正常运行J48了。

【讨论】:

太棒了。直到现在还没有达到使用过滤器的地步。感谢您的帮助,它有效 具体来说,J48 仅适用于名义上的 class 属性。您可以完美地使用数字预测器构建 J48 树(正如 Weka 提供的许多示例数据集所展示的那样),但您尝试预测的类必须是标称的。

以上是关于使用 J48 构建分类器的主要内容,如果未能解决你的问题,请参考以下文章

J48树分类器的叶子节点是啥意思

尝试将 AdaBostM1 weka 分类器与配置用于修剪的 J48 决策树分类器一起使用时,Weka 引发命令行错误

我可以防止 J48 分类器在同一字段上拆分 x 次以上吗?

使用测试集中的缺失值评估 weka 分类器 J48,R RWeka

Weka 过滤分类器 arrayOutOfBoundsException

Weka - 获得“准确率”?