Knime 简明教程

KNIME - Building Your Own Model

在本教程中,您将基于一些观察到的特征构建自己的机器学习模型以对植物进行分类。为此,我们将使用 UCI Machine Learning Repository 的众所周知的 iris 数据集。该数据集包含三个不同的植物类别。我们将训练我们的模型以将未知植物分类为这三个类别之一。

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

Creating Workflow

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

File → New

您将看到以下屏幕:

creating workflow

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

将带给定名称的新工作空间添加到 Workspace 视图中,如下所示 −

creating workspace

你现在将添加此工作空间中的各个节点以创建模型。在添加节点之前,必须下载和准备 iris 数据集以供我们使用。

Preparing Dataset

从 UCI 机器学习仓库网站 Download Iris Dataset 下载鸢尾花数据集。下载的 iris.data 文件为 CSV 格式。我们将做一些更改以添加列名称。

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

sepal length, petal length, sepal width, petal width, class

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

现在,你将开始添加各个节点。

Adding File Reader

转到 Node Repository 视图,在搜索框中输入“文件”以找到 File Reader 节点。这在下图中可见 −

adding file reader

选择 File Reader 并双击,将节点添加到工作空间。或者,你可以使用拖放功能将节点添加到工作空间。添加节点后,你将需要对其进行配置。右键单击节点并选择 Configure 菜单选项。你已经在前面的课程中这么做过。

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

adding datafile

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

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

workflow annotation

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

Reads iris.data

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

Loads data

此时,屏幕将如下所示 −

iris data

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

Adding Partitioning Node

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

locate partitioning

将节点添加到我们的工作空间。将配置设置为以下内容 −

Relative (%) : 95
Draw Randomly

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

configuration parameters

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

添加注释,更改说明,按需要放置节点和注释视图。此时您的屏幕应如下 -

file reader partitioning

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

Adding k-Means Node

从资源库中选择 k-Means 节点并将其添加到工作区。如果您想要复习有关 k-Means 算法的知识,只需在工作台的说明视图中查找其说明即可。这在下面的屏幕截图中有所展示 -

k means

顺便提一下,在最后决定使用哪种算法之前,您可以在说明窗口中查找不同算法的说明。

打开节点的配置对话框。我们将使用以下所示字段的所有默认值 -

configuration dialog

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

将注释和说明设为以下内容 -

  1. Annotation: Classify clusters

  2. Description:Perform clustering

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

partitioning node

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

Adding Cluster Assigner

Cluster Assigner 为现有原型集分配新数据。它需要两个输入 - 原型模型和包含输入数据的资料表。在说明窗口中查找节点的说明,该说明在下方的屏幕截图中有所描述 -

adding cluster assigner

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

  1. Partitioning 节点的 PMML 集群模型输出 → Cluster Assigner 的原型输入

  2. Partitioning 节点的第二个分区输出 → Cluster Assigner 的输入数据

这两个连接在下方的屏幕截图中有所展示 -

cluster assigner

Cluster Assigner 不需要任何特殊配置。只需接受默认值即可。

现在,向此节点添加一些注释和说明。重新排列您的节点。您的屏幕应如下 -

shape manager

至此,我们的集群完成。我们需要以图表方式可视化输出。为此,我们将添加一个散点图。我们将在散点图中为三个类别分别设置颜色和形状。因此,我们首先将 k-Means 节点的输出通过 Color Manager 节点再通过 Shape Manager 节点进行过滤。

Adding Color Manager

在资源库中查找 Color Manager 节点。将其添加到工作区。保留其默认配置。请注意,您必须打开配置对话框并点按 OK 才能接受默认值。为节点设置说明文本。

k-Means 的输出到 Color Manager 的输入建立一个连接。此时您的屏幕应如下 -

color manager screen

Adding Shape Manager

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

您的屏幕应如下所示 −

adding shape manager

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

Adding Scatter Plot

在存储库中找到“散点图”节点并将其添加到工作区。将 Shape Manager 的输出连接到 Scatter Plot 的输入。将配置保留为默认值。设置描述。

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

注释:可视化

根据需要重新定位这些节点。在这一阶段,您的屏幕应如下所示。

annotation visualization

这完成了模型构建任务。