Weka 简明教程
Weka - Preprocessing the Data
从该字段收集的数据包含许多导致错误分析的不需要的事物。例如,数据可能包含空字段,它可能包含与当前分析无关的列,等等。因此,必须对数据进行预处理,以满足您所寻求的分析类型要求。这是在预处理模块中完成的。
为了展示预处理中可用的功能,我们将使用安装中提供的 Weather 数据库。
使用 Preprocess 标记下的 Open file … 选项选择 weather-nominal.arff 文件。
当打开文件后,你的屏幕类似于如下所示:
该屏幕告诉我们有关已加载数据的若干信息,这些将在本章中进一步讨论。
Understanding Data
我们先看看高亮的 Current relation 子窗口。它表明当前加载的数据库的名称。你可以从这个子窗口推断出两点:
-
共有 14 个实例 - 表中行的数量。
-
该表包含 5 个属性 - 字段,将在即将到来的部分讨论。
在左侧,注意显示数据库中各个字段的 Attributes 子窗口。
weather 数据库包含五个字段 - outlook、temperature、humidity、windy 和 play。当通过点击从该列表中选择一个属性时,会在右侧显示属性本身的更多详细信息。
我们先选择 temperature 属性。当你点击它时,你将会看到以下屏幕:
在 Selected Attribute 子窗口中,你可以看到以下内容:
-
会显示属性的名称和类型。
-
temperature 属性的类型为 Nominal 。
-
Missing 值的数量为 0。
-
有三个不同的值,没有唯一值。
-
该信息下面的表将该字段的名义值显示为 hot、mild 和 cold。
-
它还显示每个标称值的计量和占百分比的权重。
在窗口的底部,你可以看到 class 值的可视化表示。
如果你点击 Visualize All 按钮,你将能够在一个窗口中看到所有功能,如下所示:
Removing Attributes
很多时候,用于建模的数据包含许多不相干的字段。例如,客户数据库可能包含其移动电话号码,这与分析其信用评级相关。
要删除属性,请选择它们并单击底部的 Remove 按钮。
选定的属性将从数据库中删除。完全预处理数据后,可以将其保存以供建模。
接下来,您将学习通过对数据应用筛选来预处理数据。
Applying Filters
某些机器学习技术(例如关联规则挖掘)需要分类数据。为了说明筛选的使用,我们将使用 weather-numeric.arff 数据库,该数据库包含两个 numeric 属性—— temperature 和 humidity 。
我们将通过对原始数据应用筛选器将它们转换为 nominal 。单击 Filter 子窗口中的 Choose 按钮并选择以下筛选器−
weka→filters→supervised→attribute→Discretize
单击 Apply 按钮并检查 temperature 和/或 humidity 属性。您会注意到它们已从数字类型更改为标称类型。
让我们来看另一个筛选器。假设您想要选择用于决策的最佳属性 play 。选择并应用以下筛选器 −
weka→filters→supervised→attribute→AttributeSelection
您会注意到它会从数据库中移除温度和湿度属性。
满意数据预处理后,单击 Save … 按钮保存数据。您将使用此保存的文件进行建模。
在下一章中,我们将使用几个预定义的 ML 算法探索建模。