KNIME - 构建您自己的模型

在本章中,您将构建自己的机器学习模型,根据一些观察到的特征对植物进行分类。为此,我们将使用来自 UCI 机器学习存储库 的著名 鸢尾花 数据集。该数据集包含三种不同的植物类别。我们将训练我们的模型,将未知植物归入这三个类别之一。

我们将从在 KNIME 中创建一个新的工作流程开始,以创建我们的机器学习模型。

创建工作流程

要创建新的工作流程,请在 KNIME 工作台中选择以下菜单选项。

文件 →新建

您将看到以下屏幕 −

创建工作流

选择新建 KNIME 工作流选项,然后单击下一步按钮。在下一个屏幕上,系统将要求您输入工作流的所需名称以及保存它的目标文件夹。根据需要输入此信息,然后单击完成以创建新的工作区。

具有给定名称的新工作区将添加到工作区视图中,如下所示 −

创建工作区

现在您将在此工作区中添加各种节点以创建模型。在添加节点之前,您必须下载并准备 iris 数据集以供我们使用。

准备数据集

从 UCI 机器学习存储库站点下载 iris 数据集 下载 Iris 数据集。下载的 iris.data 文件为 CSV 格式。我们将在其中进行一些更改以添加列名。

在您最喜欢的文本编辑器中打开下载的文件,并在开头添加以下行。

萼片长度、花瓣长度、萼片宽度、花瓣宽度、类

当我们的文件阅读器节点读取此文件时,它会自动将上述字段作为列名。

现在,您将开始添加各种节点。

添加文件阅读器

转到节点存储库视图,在搜索框中键入"文件"以找到文件阅读器节点。这可以在下面的屏幕截图中看到 −

添加文件阅读器

选择并双击文件阅读器以将节点添加到工作区。或者,您可以使用拖放功能将节点添加到工作区。添加节点后,您必须对其进行配置。右键单击节点并选择配置菜单选项。您已经在之前的课程中完成了此操作。

加载数据文件后,设置屏幕如下所示。

添加数据文件

要加载数据集,请单击浏览按钮并选择 iris.data 文件的位置。节点将加载文件的内容,这些内容显示在配置框的下半部分。一旦您确信数据文件已正确定位并加载,请单击OK按钮关闭配置对话框。

现在您将向此节点添加一些注释。右键单击节点并选择New Workflow Annotation菜单选项。屏幕上将出现一个注释框,如下图所示:

Workflow Annotation

单击框内并添加以下注释 −

Reads iris.data

单击框外的任意位置即可退出编辑模式。根据需要调整框的大小并将其放置在节点周围。最后,双击节点下方的 Node 1 文本,将此字符串更改为以下 −

Loads data

此时,您的屏幕将如下所示 −

Iris Data

我们现在将添加一个新节点,用于将我们加载的数据集划分为训练和测试。

添加分区节点

Node Repository 搜索窗口中,输入几个字符以找到 Partitioning 节点,如下面的屏幕截图所示 −

Locate Partitioning

将节点添加到我们的工作区。将其配置设置为如下 −

Relative (%) : 95
Draw Randomly

以下屏幕截图显示了配置参数。

配置参数

接下来,在两个节点之间建立连接。为此,单击 File Reader 节点的输出,保持鼠标按钮被单击,将出现一条橡皮筋线,将其拖到 Partitioning 节点的输入,释放鼠标按钮。现在两个节点之间建立了连接。

添加注释,更改描述,根据需要定位节点和注释视图。此时您的屏幕应如下所示 −

File Reader Partitioning

接下来,我们将添加 k-Means 节点。

添加 k-Means 节点

从存储库中选择 k-Means 节点并将其添加到工作区。如果您想刷新对 k-Means 算法的了解,只需在工作台的描述视图中查找其描述即可。这显示在下面的屏幕截图中 −

K Means

顺便说一句,您可以在描述窗口中查找不同算法的描述,然后再最终决定使用哪种算法。

打开节点的配置对话框。我们将使用此处显示的所有字段的默认值 −

配置对话框

单击 确定 接受默认值并关闭对话框。

将注释和描述设置为以下 −

  • 注释:对群集进行分类

  • 描述:执行群集

分区 节点的顶部输出连接到 k-Means 节点的输入。重新定位您的项目,您的屏幕应如下所示 −

分区节点

接下来,我们将添加一个 Cluster Assigner 节点。

添加 Cluster Assigner

Cluster Assigner 将新数据分配给现有的一组原型。它需要两个输入 - 原型模型和包含输入数据的数据表。在下面的屏幕截图中显示的描述窗口中查找节点的描述 −

添加 Cluster Assigner

因此,对于此节点,您必须建立两个连接 −

  • 分区节点的 PMML 集群模型输出 → 集群分配器 的原型输入>

  • 分区节点的第二个分区输出 → 集群分配器 的输入数据>

这两个连接显示在下面的屏幕截图中 −

集群分配器

集群分配器 不需要任何特殊配置。只需接受默认值即可。

现在,向此节点添加一些注释和描述。重新排列您的节点。您的屏幕应如下所示 −

形状管理器

此时,我们的聚类已完成。我们需要以图形方式可视化输出。为此,我们将添加一个散点图。我们将在散点图中为三个类设置不同的颜色和形状。因此,我们将首先通过 颜色管理器 节点过滤 k-Means 节点的输出,然后通过 形状管理器 节点过滤。

添加颜色管理器

在存储库中找到 颜色管理器 节点。将其添加到工作区。将配置保留为默认设置。请注意,您必须打开配置对话框并点击 确定 以接受默认设置。设置节点的描述文本。

k-Means 的输出到 Color Manager 的输入建立连接。此时您的屏幕将如下所示 −

Color Manager Screen

添加形状管理器

在存储库中找到 Shape Manager 并将其添加到工作区。将其配置保留为默认配置。与上一个类似,您必须打开配置对话框并点击 OK 以设置默认值。从 Color Manager 的输出到 Shape Manager 的输入建立连接。设置节点的描述。

您的屏幕应如下所示 −

添加形状管理器

现在,您将在我们的模型中添加最后一个节点,即散点图。

添加散点图

在存储库中找到散点图节点并将其添加到工作区。将形状管理器的输出连接到散点图的输入。将配置保留为默认值。设置描述。

最后,为最近添加的三个节点添加组注释

注释:可视化

根据需要重新定位节点。此时您的屏幕应如下所示。

Annotation Visualization

这样就完成了模型构建任务。