Weka 简明教程

Weka - Classifiers

许多机器学习应用程序与分类相关。例如,您可能希望将肿瘤分类为恶性或良性。您可能希望根据天气条件决定是否进行户外游戏。通常,此决定取决于天气的几个特征/条件。因此,您可能更喜欢使用树分类器来决定是否进行游戏。

在本章中,我们将学习如何基于天气数据构建这样的树分类器来决定游戏条件。

Setting Test Data

我们从上一课中使用预处理后的天气数据文件。使用 Open file …​ 选项在 Preprocess 选项卡中打开已保存的文件,单击 Classify 选项卡,您会看到以下屏幕 −

classify tab

在了解可用的分类器之前,让我们检查测试选项。您会看到以下四个测试选项 −

  1. Training set

  2. Supplied test set

  3. Cross-validation

  4. Percentage split

除非您有自己的训练集或由客户提供的测试集,否则您将使用交叉验证或百分比分割选项。通过交叉验证,您可以设置整个数据将被分割并用于每次训练迭代的折叠数。在百分比分割中,您将使用设置的分割百分比在训练和测试之间分割数据。

现在,将输出类的默认 play 选项保留为 −

play option

接下来,您将选择分类器。

Selecting Classifier

点击选择按钮并选择以下分类器 −

weka→classifiers>trees>J48

This is shown in the screenshot below −

weka trees

单击 Start 按钮以启动分类过程。一段时间后,分类结果将显示在您的屏幕上,如下所示 −

start button

让我们检查屏幕右侧显示的输出。

它说树的大小是 6。您很快将看到树的可视化表示。在摘要中,它说正确分类的实例为 2,错误分类的实例为 3。它还说相对绝对误差为 110%。它还显示了混淆矩阵。对这些结果的分析超出了本教程的范围。但是,您可以轻松地从这些结果中看出分类是不可接受的,并且您需要更多数据进行分析,以完善您的功能选择、重建模型等,直到您对模型的准确性感到满意。无论如何,这就是 WEKA 的全部意义所在。它允许您快速测试您的想法。

Visualize Results

要查看结果的可视化表示,请右键单击 Result list 框中的结果。屏幕上会出现几个选项,如下所示 −

result list

选择 Visualize tree 以获得遍历树的可视化表示,如下面的屏幕截图所示 −

visualize tree

选择 Visualize classifier errors 将显示分类结果,如下所示 −

classifier errors

cross 表示正确分类的实例,而 squares 表示错误分类的实例。在绘图左下角,您可以看到一个 cross ,该 cross 指示如果 outlook 天气晴朗,则 play 比赛。因此,这是一个正确分类的实例。若要定位实例,您可以通过滑动 jitter 滑块来引入一些抖动。

当前绘图是 outlookplay 。这由屏幕顶部的两个下拉列表框指示。

outlook versus play

现在,在这些框中的每一个框中尝试不同的选择,并注意 X 和 Y 轴如何变化。使用绘图右侧的水平条也可以实现相同的效果。每个条代表一个属性。左键单击条将所选属性设置为 X 轴,而右键单击将该属性设置为 Y 轴。

提供了几个其他绘图以供您进行深入分析。明智地使用它们来微调您的模型。 Cost/Benefit analysis 的一个此类绘图如下所示,供您快速参考。

cost benefit analysis

对此类图表中分析内容进行说明超出了本教程的范围。建议读者查阅机器学习算法分析知识。

在下一章中,我们将了解下一组机器学习算法,即聚类。