Weka 特征选择


当数据库包含大量属性时,将有几个属性在你当前正在寻找的分析中并不重要。因此,从数据集中删除不需要的属性成为开发良好机器学习模型的一项重要任务。

你可以直观地检查整个数据集并确定不相关的属性。对于包含大量属性的数据库来说,这可能是一项艰巨的任务,例如你在前面课程中看到的超市案例。幸运的是,WEKA 提供了一个用于特征选择的自动化工具。

本章在包含大量属性的数据库上演示此功能。

加载数据中


In the 预处理 WEKA 资源管理器的标签,选择 劳动力.arff 文件加载到系统中。当你加载数据时,你会看到如下画面:

Loading Data

请注意,有 17 个属性。我们的任务是通过消除一些与我们的分析无关的属性来创建一个简化的数据集。

特征提取


点击 选择属性 TAB.你将看到以下屏幕:

Select Attributes

在下面 属性评估器 and 搜索方法 ,你会发现几个选项。我们将在这里使用默认值。在里面 属性选择模式 ,使用完整的训练集选项。

单击开始按钮以处理数据集。你将看到以下输出:

Start Dataset

在结果窗口的底部,你将获得 Selected 属性。要获得视觉表示,请右键单击结果中的 Result list.

输出如下图所示:

Screenshot 输出

单击任何方块将为你提供数据图,以供你进一步分析。一个典型的数据图如下所示:

Data Plot

这与我们在前几章中看到的类似。尝试使用可用于分析结果的不同选项。

下一步是什么?


到目前为止,你已经看到了 WEKA 在快速开发机器学习模型方面的强大功能。我们使用的是一个图形工具,叫做 Explorer 用于开发这些模型。 WEKA 还提供了一个命令行界面,它为你提供了比资源管理器中提供的更多功能。

单击 简单的命令行 G 中的按钮 界面选择器 应用程序启动这个命令行界面,如下图所示:

Gui Chooser

在底部的输入框中键入你的命令。你将能够完成迄今为止在资源管理器中所做的所有事情以及更多。参考 WEKA 文件 (https://www.cs.waikato.ac.nz/ml/weka/documentation.html)了解更多详情。

最后,WEKA 是用 Java 开发的,并为其 API 提供了一个接口。因此,如果你是一名 Java 开发人员并热衷于将 WEKA ML 实现包含在你自己的 Java 项目中,那么你可以轻松地做到这一点。

结论


WEKA 是用于开发机器学习模型的强大工具。它提供了几种最广泛使用的 ML 算法的实现。在将这些算法应用于你的数据集之前,它还允许你对数据进行预处理。受支持的算法类型分类在 Classify、Cluster、Associate 和 Select 属性下。不同处理阶段的结果可以通过美观而强大的视觉表示来可视化。这使数据科学家更容易在他的数据集上快速应用各种机器学习技术,比较结果并为最终使用创建最佳模型。