Weka - 数据预处理



从现场收集的数据包含许多不需要的东西,这些东西会导致错误的分析。例如,数据可能包含空字段,可能包含与当前分析无关的列,等等。因此,必须预处理数据以满足您正在寻求的分析类型的要求。这在预处理模块中完成。

为了演示预处理中可用的功能,我们将使用安装中提供的Weather数据库。

使用预处理选项卡下的打开文件…选项,选择weather-nominal.arff文件。

Weather Nominal

打开文件后,屏幕将如下所示:

Weka Explore

此屏幕告诉我们有关加载数据的几件事,这些将在本章中进一步讨论。

理解数据

让我们首先看看突出显示的当前关系子窗口。它显示当前加载的数据库的名称。您可以从此子窗口推断出两点:

  • 共有 14 个实例 - 表中的行数。

  • 表包含 5 个属性 - 字段,这些将在接下来的部分中讨论。

在左侧,请注意属性子窗口,它显示数据库中的各个字段。

Weka Attributes

weather数据库包含五个字段 - outlook(天气),temperature(温度),humidity(湿度),windy(有风)和 play(玩耍)。当您通过单击选择此列表中的属性时,属性本身的更多详细信息将显示在右侧。

让我们首先选择temperature(温度)属性。单击它后,您将看到以下屏幕:

Temperature Attribute

选定属性子窗口中,您可以观察到以下内容:

  • 显示属性的名称和类型。

  • temperature(温度)属性的类型为Nominal(名义)。

  • 缺失值的个数为零。

  • 有三个不同的值,没有唯一值。

  • 此信息下方的表格显示此字段的名义值为 hot(热),mild(温和)和 cold(冷)。

  • 它还显示每个名义值的计数和权重(百分比)。

在窗口底部,您可以看到类别值的直观表示。

如果您单击可视化全部按钮,您将能够在一个窗口中看到所有特征,如下所示:

Visualize All

删除属性

很多时候,您想要用于模型构建的数据包含许多不相关的字段。例如,客户数据库可能包含他的手机号码,这与分析他的信用评级无关。

Removing Attributes

要删除属性,请选择它们并单击底部的删除按钮。

选定的属性将从数据库中删除。完全预处理数据后,您可以将其保存以进行模型构建。

接下来,您将学习如何通过对数据应用过滤器来预处理数据。

应用过滤器

一些机器学习技术,例如关联规则挖掘,需要分类数据。为了说明过滤器的使用,我们将使用包含两个数值属性 - temperature(温度)和humidity(湿度)的weather-numeric.arff数据库。

我们将通过对原始数据应用过滤器将其转换为名义数据。单击过滤器子窗口中的选择按钮,然后选择以下过滤器:

weka→filters→supervised→attribute→Discretize

Weka Discretize

单击应用按钮并检查temperature(温度)和/或humidity(湿度)属性。您会注意到它们已从数值类型更改为名义类型。

Humidity Attribute

现在让我们来看另一个过滤器。假设您想选择决定play(玩耍)的最佳属性。选择并应用以下过滤器:

weka→filters→supervised→attribute→AttributeSelection

您会注意到它从数据库中删除了 temperature(温度)和 humidity(湿度)属性。

Weka Attribute Selection

对数据预处理满意后,请单击保存…按钮保存数据。您将使用此保存的文件进行模型构建。

在下一章中,我们将探索使用几种预定义的 ML 算法进行模型构建。

广告