KNIME快速入门指南

喜夏-厌秋 提交于 2020-08-15 07:14:47

介绍 

KNIME Analytics Platform是用于创建数据科学应用程序和服务的开源软件。KNIME直观,开放,不断整合新的开发,使人们可以理解数据,设计数据科学工作流程和可重用组件。

借助KNIME Analytics Platform,您可以使用直观的拖放式图形界面创建可视化工作流程,而无需编码。

在本快速入门指南中,我们将引导您完成KNIME Workbench,并向您展示如何构建您的第一个工作流程。

、启动KNIME Analytics Platform 

如果您尚未安装KNIME Analytics Platform,则可以在此https://www.knime.com/downloads 下载。

启动KNIME Analytics Platform,当KNIME Analytics Platform Launcher窗口出现时,在此处定义KNIME工作区,如图1所示。

 

图1. KNIME Analytics Platform Launcher

KNIME工作区是本地计算机上的一个文件夹,用于存储KNIME工作流,节点设置和工作流生成的数据。存储在工作区中的工作流程和数据可通过KNIME Workbench左上角的KNIME Explorer获得。

选择文件夹作为项目的KNIME工作区后,单击“ 启动”。在使用时,KNIME Analytics Platform用户界面 - KNIME Workbench - 看起来就像图2中所示的屏幕截图。

图2. KNIME Workbench

KNIME Workbench由以下组件组成:

l KNIME Explorer:活动KNIME工作区中可用工作流和工作流组的概述,即本地工作区和KNIME服务器。

l Workflow Coach(工作流指导):根据广泛的KNIME用户社区构建的工作流程列出节点建议。如果您不允许KNIME收集您的使用情况统计信息,则它处于非活动状态。

l Node Repository(节点存储库):此处列出了核心KNIME Analytics Platform和您已安装的扩展中可用的所有节点。节点按类别组织,但您也可以使用Node Repository顶部的搜索框来查找节点。

l Workflow Editor(工作流编辑):用于编辑当前活动的工作流。

l Description(描述):当前活动工作流或所选节点的描述(在Workflow Editor或Node Repository中)。

l Outline(大纲):当前活动工作流程的概述。

l Console(控制台):显示执行消息,指示引擎盖下发生了什么。

、节点和工作流程 

在KNIME Analytics Platform中,各个任务由节点表示。每个节点都带有输入和输出端口、以及状态,如图3所示。输入是节点要处理的数据,输出是处理后的数据结果集。每个节点都有特定的设置,我们可以在配置对话框中进行调整。每个节点都有四种状态,未配置的、已配置的、已执行的、错误的。节点可以执行各种任务,包括读/写文件,转换数据,训练模型,创建可视化等等。

 

图3.节点端口和节点状态

互连节点的集合构成工作流,并且通常代表特定数据分析项目的一部分 或者可能全部。

、建立你的第一个工作流程 

现在让我们开始构建一个示例工作流,我们分析一些销售数据。当我们完成它时,它看起来就像图4中所示的工作流程。

 

 

图4.示例工作流程

图4中的示例工作流从CSV文件中读取数据,过滤列的子集,过滤掉一些行,并在两个图中可视化数据:堆积面积图和饼图,您可以在图5中看到:一个显示销售额随时间的变化,另一个显示不同国家在总销售额上的份额。

 

图5.示例工作流的输出视图

首先,请先下载包含我们将在工作流程中使用的数据的CSV文件。下载地址:https://files.knime.com/sites/default/files/sales_data.csv。接下来,通过以下方式创建新的空工作流:

l 单击新建在KNIME工作台的顶部工具栏面板

l 或者右键单击KNIME Explorer中本地工作区的文件夹,如图6所示

 

图6.创建一个新的空工作流程

您需要的第一个节点是文件读取器节点,您可以在节点存储库中找到该节点。您可以导航到IO→读取→文件读取器,或在节点存储库面板的搜索框中键入名称的一部分。

要在工作流程中使用该节点,您可以:

l 将其从节点存储库拖放到工作流编辑器

l 或者双击节点存储库中的节点。它会自动显示在工作流编辑器中。

现在让我们定义这个节点的设置:

l 打开配置对话框或者通过双击文件读取器节点,或通过右键单击并选择配置...,如图7。

 

图7.配置节点

l 在配置对话框中,单击“ 浏览” 按钮定义文件路径,然后检查其他可用设置,并预览数据,如图8所示。

 

图8. File Reader节点的Configuration对话框

您现在可能需要检查输出表以查看数据文件是否按预期读取。要检查输出表:

l 右键单击节点并选择“ 执行”,执行“文件读取器”节点

l 通过右键单击执行的节点并选择菜单中的最后一个选项打开输出表:文件表

如果正确读取了数据,请将Column Filter节点添加到工作流编辑器并将其连接到File Reader节点:

l 单击File Reader节点的输出端口,按住鼠标按钮并在Column Filter节点的输入端口释放它

l 或者,通过在工作流中单击一次选择“文件读取器”节点,然后双击节点存储库中的“列过滤器”节点。此方法自动将Column Filter节点连接到File Reader节点。

在继续之前,必须配置“列过滤器”节点:

l 将“country”,“date”和“amount”列移动到绿框 Include字段中,方法是双击它们,或者使用图9所示配置对话框中ExcludeInclude字段之间的按钮。

 

图9.配置Column Filter节点

l 单击“ 确定”完成配置

继续构建工作流程:

l 将“行过滤器”节点添加到工作流编辑器并将其连接到“列过滤器”节点

l 打开“行过滤器”节点的配置对话框,并从输入表中排除“country”列的值为“unknown”的行,如图10所示。

 

图10.配置Row Filter节点

现在已经过滤了数据,让我们继续进行数据可视化:

l 在节点存储库中搜索节点Stacked Area Chart(JavaScript)和Pie / Donut Chart(JavaScript),并将它们添加到工作流编辑器,两者都连接到Row Filter节点

l 打开Stacked Area Chart(JavaScript)节点的配置对话框。选择“date”列作为x轴列,如图11所示。

 

图11.配置Stacked Area Chart(JavaScript)节点

l 现在打开饼图/圆环图(JavaScript)节点的配置对话框,选择“country”作为类别列,选择“Sum”作为聚合方法,将“amount”作为饼图的频率列。这两种配置选项如图12所示。

 

图12.配置饼图/圆环图(JavaScript)节点

工作流程已完成,下一步是执行它并查看输出。您可以通过单击图13中所示工具栏中的“执行所有可执行节点”按钮来执行此操作...

 

图13.从工具栏中执行所有可执行节点

...,或者通过选择工作流的不同分支的最后一个节点,右键单击选择,然后单击菜单中的“ 执行 ”。

要检查基于JavaScript的节点的交互式输出视图:

l 为未执行的节点选择Execute和Open Views选项,如图14所示

 

图14.执行和打开交互式视图

l 或者,一旦执行一个节点,右键单击该节点并选择交互视图:...相反,如图15

 

图15.打开已执行节点的交互视图

目前,饼图使用数据中不同国家/地区的默认颜色。使用Color Manager节点,您可以为国家/地区指定其他颜色,而不是图5中所示的默认颜色。在构建图形之前必须分配颜色,因此您必须在颜色管理器中间添加颜色管理器节点。流程。

添加Color Manager节点:

l 通过从节点存储库中拖动节点并在连接变为红色时在工作流中的行过滤器节点和饼图圆点图表节点之间将其释放,如图16所示。红色连接表示它已准备好接受释放鼠标时的新节点。

 

图16.在工作流中的两个节点之间插入一个节点

五、示例工作流程 

使用KNIME Hub上的示例工作流程快速开始分析。您可以直接在hub.knime.com上浏览示例工作流,可以通过KNIME Explorer中的EXAMPLES挂载点浏览。您可以将工作流程复制到本地工作区,根据用例进行修改,或将其中的部分内容复制到工作流程中。KNIME Hub上的工作流程也是了解KNIME Analytics Platform中不同用例的有用资源。

要从KNIME Analytics Platform中访问示例工作流程:

l 在KNIME Explorer中展开EXAMPLES挂载点

l 接下来,双击以查看按类别排序的示例工作流,如图17所示。无需凭据。

 

图17.登录EXAMPLES挂载点

l 在这些类别中,一些工作流组以单个操作命名,例如过滤

l 其他工作流程组的名称涉及更广泛的主题,例如时间序列分析

l “50_Applications”工作流程组包含的工作流程涵盖整个用例,如流失预测或欺诈检测

要下载示例工作流程:

l 拖放

l 或者,复制并粘贴

工作流进入LOCAL工作区。双击下载的示例工作流副本,以打开和编辑它,就像任何其他工作流程一样。

、扩展和集成 

如果要向KNIME Analytics Platform添加功能,可以安装扩展和集成。可用的扩展包括KNIME提供的免费开源扩展和集成,以及由社区和商业扩展提供的免费扩展。

由KNIME开发和维护的KNIME扩展和集成包含Keras提供的深度学习算法,H2O提供的高性能机器学习,Apache Spark提供的大数据处理,以及Python和R提供的脚本,仅举几例。

安装扩展程序:

l 单击文件菜单栏上,然后安装KNIME扩展...。将打开如图18所示的对话框。

l 选择要安装的扩展程序

l 单击“下一步”并按照说明操作

l 重新启动KNIME Analytics Platform

 

图18.安装扩展和集成

默认情况下,KNIME扩展和受信任的社区扩展可通过其更新站点的URL获得。可以通过首先添加其更新站点来安装其他扩展。

要添加更新站点:

l 导航到“文件”→“首选项”→“安装/更新”→“可用软件站点”

l 点击“添加...”

l 并通过“位置”字段提供URL来添加新的更新站点

l 或者,通过提供包含本地更新站点的zip文件的文件路径,通过“存档...”

l 最后,给更新站点一些有意义的名称并单击“确定”

完成此操作后,可以如上所述安装扩展。

通过以下方式更新到最新的KNI​​ME版本:

l 单击文件,然后更新KNIME ......以确保您使用KNIME软件的最新版本,并已安装的扩展

l 在打开的窗口中,选择更新,接受条款和条件,等待更新完成,然后重新启动KNIME Analytics Platform

、提示与技巧 

  • 在KNIME论坛上获得帮助和讨论
    登录KNIME社区论坛,加入KNIME分析平台,扩展和集成,特殊兴趣小组和KNIME开发等不同类别的讨论。论坛是一个充满活力的社区,KNIME的工作人员以及其他经验丰富的KNIME用户可以回答您的问题。
  • 导入和导出工作流程
    要导入工作流程或工作流程组,在KNIME Explorer –>LOCAL的任意位置单击右键,然后选择Import(Export)KNIME Workflow...,如图19

 

图19.导入和导出工作流和工作流组

要导出工作流程或工作流程组,请首先选择要导出的工作流程(或组)

接下来,写入目标文件夹的路径和文件名。如果导出工作流组,则可以从文件夹中选择要导出的元素。如图20所示

 

图20.定义要导入或导出的文件的路径

  • 通过拖放数据文件
    导入数据您可以从KNIME工作区或系统上的任何位置导入数据文件,方法是将其从KNIME Explorer,桌面或文件资源管理器拖放到工作流编辑器,如图21所示。方法自动创建正确的节点以读取文件类型,并通过使用相对于KNIME Explorer位置的文件路径URL填充文件路径设置来预先配置节点。

图21.通过拖放读取数据文件

  • 替换工作流中的节点
    您可以通过从存储库拖动节点并在其中出现白色箭头和方框时将其放在现有节点之上来替换工作流中的节点,如图22所示。

 

图22.替换工作流中的节点

  • 展开您的节点搜索:模糊搜索和清晰搜索
    如果您不确定要搜索的节点的名称,请通过单击搜索字段旁边的图标切换到节点存储库中的模糊搜索模式,如图23所示您的搜索结果现在将包含与搜索词相关的任何节点。在清晰搜索模式下,搜索文本必须与节点名称本身完全匹配。通过更多练习构建工作流程,您将记住越来越多的节点名称。一段时间后,您可能会切换回清晰的搜索模式,以便更快地找到您正在寻找的节点。

 

图23. Crisp和模糊搜索模式

  • 监视节点的状态
    如果要查看工作流中的中间输出表,可以将节点监视器面板添加到KNIME Workbench:

n 单击View→Other→KNIME Views→Node Monitor,如图24所示

图24.将节点监视器添加到KNIME Workbench

n 接下来,在Node Monitor右上角的View菜单中选择Show Output Table,如图25所示。此面板现在显示您在工作流程中选择的节点的输出。

 

图25.在节点监视器中显示输出表

l 除了输出表之外,您还可以让面板显示节点的执行时间。您还可以固定一个节点的输出。这意味着当前所选节点的输出与工作流编辑器中的选择无关。

扫码关注获取 KNIME 最新动态

公众号:Spark技术学习

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!