KNIME 白皮书 2.0 中文版 重庆大学软件学院
KNIME 白皮书
关于 2.0版本以及更多信息
作 者:
Michael R. Berthold, Nicolas Cebron, Fabian Dill,
Thomas R. Gabriel, Tobias Kotter,Thorsten Meinl,
Peter Ohl, Kilian Thiel and Bernd Wiswedel
德国康斯坦茨大学
University of Konstanz
Michael.Berthold@Uni-Konstanz.DE
译 者
董 理
重庆大学软件学院
KNIME 白皮书
第 1页 /共 17页
目 录
摘要................................................................................................................................ 3
1 简介......................................................................................................................... 3
2 概述......................................................................................................................... 4
3 软件架构................................................................................................................. 6
3.1 数据结构 ...................................................................................................... 7
3.2 节点 .............................................................................................................. 7
3.3 工作流 .......................................................................................................... 8
3.4 自己开发新节点 .......................................................................................... 8
3.5 视图与交互式数据标记刷 .......................................................................... 9
3.6 元节点 .......................................................................................................... 9
3.7 分布式处理 ................................................................................................ 10
4 软件的扩展........................................................................................................... 10
5 2.0 版本中的新特性............................................................................................. 11
5.1 对循环结构的支持 .................................................................................... 11
5.2 端口对象 .................................................................................................... 13
5.3 改进对数据库的支持 ................................................................................ 13
5.4 PMML ........................................................................................................ 14
6 结语....................................................................................................................... 14
7 参考文献............................................................................................................... 15
8 部分术语中英文对照........................................................................................... 16
KNIME 白皮书
第 2页 /共 17页
图 表 目 录
图 1:运行一个小示例的 KNIME 界面 .................................. 3
图 2:KNIME 工作流中数据或模型的流动示意图 ........................ 6
图 3:数据结构示意图以及其依赖的主要类.............................. 7
图 4:KNIME 中与节点相关的类 ...................................... 9
图 5:一个在元节点中的特征淘汰循环模型............................. 12
图 6:使用新数据库连接节点的工作流................................. 13
KNIME 白皮书
第 3页 /共 17页
摘要
KNIME,康斯坦茨信息挖掘软件(The Konstanz Information Miner)是一个
模块化的开发环境,它能够简单地进行可视化构建、并交互式地执行数据流(data
pipeline)。它被
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
为一个用于教学、研究和协作工作的平台,能够方便地集成
出新算法和新工具,同时也可以在新模块或节点上对数据进行操作和可视化查
看。本文我们将讨论 KNIME 底层架构的设计思想,然后简要介绍如何开发整合
新节点,最后展示一下在 2.0 版本中值得一提的新特性。
1 简介
在过去的几年里,对模块化数据分析环境的需求出现极大的增长。为了充分
使用多种多样的数据分析
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
,一个最基本数据分析环境必须易于使用且十分直
观,允许用户快速并且交互式地改变分析流程,同时也能够使用户能够可视化地
去查阅数据,帮助用户进一步探索分析。为了满足这些挑战,数据流环境在过去
的几年里已积聚了令人欣喜的发展势头。到目前,已经出现了一些构架优良的数
据流工具,比如 InforSense KDE[6],Insightful Miner[7],Pipeline Pilot[8],但令人
遗憾的是他们都是付费的。这些环境能够允许用户使用
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
化的构建模块来可视
图 1:运行一个小示例的 KNIME 界面
KNIME 白皮书
第 4页 /共 17页
化地构建、调整分析流程,之后通过管线将模块连接起来,以使得数据或模型在
模块间流动。这样的系统有一个额外的优势:能够通过图形化的方式直观地来记
录做了什么。KNIME,即 KoNstanz Information MinEr 就提供了一个这样的数
据流构建环境。图 1 是在 KNIME 中实现一个小型数据分析流的截图。
在图的中间部分,数据流从两个数据源读取数据,然后在预处理、建模、可
视化等若干个分析流或节点中并行地处理。在图的左边是节点库,从这些种类繁
多的节点中,我们可以选择数据来源、数据预处理实施、建模的算法,以及可视
化工具等节点,然后把他们拖拽到中间的编辑区内,在这里对节点之间进行连接。
软件系统的图形化、可交互式查看视图、标记数据的能力(即可视化刷:visual
brushing), 使得用户能够随时随地探索分析数据集合。KNIME 是用 Java 语言
写的,它的图形化的工作流编辑器是以 Eclipse[9]插件形式实现的。通过开放的
API 借口和已有的数据抽象的框架,软件扩展变得十分容易,也让开发者能够以
一个十分规范良好的方式,更有效率地为软件添加新的节点。
早些时候发布过针对 KNIME 1.3 的来写的白皮书[1],本文在[1]的基础上,更
深入详细地描述 KNIME 内部结构,同时也着重展示一下 KNIME 2.0 的新特性。
如果想了解更多的信息以或是获取相关下载,可以登录 http://www.knime.org。在
KNIME Labs的主页(http://labs.knime.org)上,也可得到一些尚不完善的扩展
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
。
2 概述
在 KNIME 中,用户可以构建工作流1,其中包括处理数据的节点,以及承载
在节点之间流通数据的管线。数据流通常是从一个读取数据的节点开始,该节点
从某数据源读取数据。数据源一般都是文本文件,但某些特殊节点,也支持查询
数据库来获取数据。导入的数据存储在内部的一个基于表的结构中,该结构包含
一定的(但可扩展)数据类型(如:整数、字符串、图像、分子结构等),此外
还含有一定数量的符合列属性行的数据。这些数据表通过管线传送给其他的节
点,以便进一步执行修改、变换、建模或是可视化的处理。修改可以包括处理缺
失的数据、筛选指定的列或是行、过度取样、将数据表分割为训练数据和测试数
1 工作流:workflow,在本文中,工作流和前文中提到的数据流(data pipeline)概念一致,不做区分。
KNIME 白皮书
第 5页 /共 17页
据等多种操作,不一而足。紧随着预处理的步骤,基于机器学习或是数据挖掘算
法(比如朴素贝叶斯分类器,支持向量机)的预测模型开始登场。为了查看一个
分析工作流的运行结果,KNIME 提供了丰富多样的视图节点,他们能够将数据
或是训练出来的模型以多种方式呈现出来。
与多数工作流或是数据流工具不同,KNIME 中的节点在将首先处理整个输
入数据表并存储,之后再将结果转送给后继节点。这种做法具有诸多优点:每一
个节点都会永久地存储在该节点经过处理后得到的结果,这样一来,工作流的执
行能够很轻松地在任何一个节点停下来,之后再接着继续运行。中间数据可以在
任何时候查看,新节点也可自由添加,并可以继续使用之前已经创建好的数据,
而不是再浪费时间重新执行前面的节点获取同样的数据。数据表和工作流的结构
以及节点的设置数据是存储在一起的。
KNIME 的一个很重要的特性就是数据的标亮追踪(hiliting)。在这种功能的
最简单的形式中,它允许用户在一个数据表中去选择并高亮一些行数据,之后在
以其他形式的展现同样数据表的视图中,这些的行数据同样被高亮标出(或至少
会显示高亮的行)。这种形式的标亮追踪其实很简单,只是使用 1:1 来对应在两
个表唯一的行数据的键值。但是,通常有一些节点会改变输入数据表的结构,同
时也在输入与输出的行数据之间维系着某种关系。聚集算法就是这种“一对多”
(1: n)关系的经典示例。一个节点的输入可能是训练(或测试)模式,输出的结
果是聚类的原型。每个聚集群(cluster)都覆盖一些输入的模式。通过在输出数
据表中标亮一个或更多聚类群,使得在输入的数据表中,所有属于这些聚集群一
部分的输入模式在输入数据表中也都被标亮。对其他一些带有总结概述性质的模
型来说有类似的解释,比如决策树的枝/叶关系、频率分析、鉴别分子片段。
在设计 KNIME 的过程中,一个非常重要的决定就是要保证软件具有简便的
可扩展性,以便其他用户能够添加新功能(通常是添加新节点的,有的时候也会
添加新的数据类型)。虽然这些已经被一些商业性质的提供商成功实践,但也有
一些大学的研究小组和从事开源项目的程序员致力于此。使用 Eclipse 作为核心
的软件平台,意味着以插件的形式来开发新的节点时一件非常简单愉快的事情。
KNIME 官方的网站提供了一些可扩展插件,比如通过 BIRT[2]为商务智能提供支
持、与 R[4]一起使用进行统计分析、从 Weka[5]得到一些机器学习能力的扩展等等。
KNIME 白皮书
第 6页 /共 17页
3 软件架构
在 KNIME 架构设计时,时刻遵循三个基本原则:
可视化,交互式软件框架:只需要从一系列丰富多样的处理单元2中拖拽
就完成数据流的组建。通过个人配置数据流程,就可以为预想定制的应
用构建模型。
模块化:处理单元和数据容器(data containers)不应相互依赖,以便实
现计算量的分布式化,并满足各种不同算法的独立开发之需求。数据类
型都是封装的,也就是说,不会预定义数据类型,新的数据类型能够十
分简便地实现及添加,增添数据类型的特定渲染器(renderers)以及比
较器(comparators),新的数据类型可以声明成与已存在类型兼容。
易扩展性:软件应该能够很容易地添加处理节点或者数据显示视图,并
通过一个简单的插件机制来分发更新,而不是进行复杂的安装/卸载操
作。
为了实现这些目标,须要支持数据分析流程之创建,该流程包含若干节点,
节点之间通过管线进行连接,数据或是模型在这些管线上传输。 每个节点会
处理到来的数据和(或)模型,当需要数据输出时,节点会产生结果来满足要求。
图 2 简单勾勒出了整个过程。
2 译者注:这里的处理单元就是指前文中提到的“节点”,即:Processing Unit 等价于 Node。
图 2:KNIME 工作流中数据或模型的流动示意图
KNIME 白皮书
第 7页 /共 17页
这种处理种类广泛,从最基本的数据操作(例如为统计
函数
excel方差函数excelsd函数已知函数 2 f x m x mx m 2 1 4 2拉格朗日函数pdf函数公式下载
进行数据筛选、
整合,如计算均值、标准差或是进行线性回归系数),到需要大量计算的数据
处理任务(如:聚类,决策树,神经网络)。此外,大多数的拥有建模功能的
节点会为用户提供一个交互式的环境,帮助用户透过多种不同视图来探索产生
的数据。之后的小节,将会简要介绍底层的数据模式、节点、工作流管理以及
他们如何与交互式的视图进行通信。
3.1 数据结构
在节点之间进行流动的数据,统一使用一个名为 DataTable的类进行封装,
该类持有数据表中列类型的相关元数据,同时也保留具体的数据。通过对
DataRow实例的迭代,可以访问到数据表中数据。每一行都含有一个唯一标示
符(也可称为主键)和一定数量的 DataCell对象,具体的数据就是存在这些
对象中。之所以避免直接使用行 ID 或是索引来访问数据,是为了保证数据的
可测量性,换句话说,就是想让软件能够处理大量数据,而且不必强制所有数
据必须保存在内存中。KNIME 采用一种先进的缓存策略,在数据表的数据量变
得非常大时,能够将部分数据转存到硬盘上。图 3 是底层主要的数据结构的简
单图示。
3.2 节点
在 KNIME 中,节点是最常用的处理单元,通常我们会将一个节点组装到一
图 3:数据结构示意图以及其依赖的主要类
KNIME 白皮书
第 8页 /共 17页
个可视化表示的工作流当中。类 Node封装了所有功能,并且利用到用户自己
实现的 NodeModel,也可以使 NodeDialog,在需要的时候,也会用到不止
一个的 NodeView实例。如果节点不需要用户设置或是自定义视图,那么节点
对话框和视图就不一定非得实现。这种设计遵从著名的“模型-视图-控制器”
(MVC)设计模式。另外,对于节点的输入输出端口,每一个节点都含有一
些 Inport和 Outport的实例,该实例能够实现数据或模型的传送。图 4 为
这种结构做了图解说明。
3.3 工作流
在 KNIME 中,工作流本质上就是由节点相互连接构成的图,或者正式一点
说,就是无回路有向图(DAG)。工作流管理器允许在两个节点之间插入新的节
点、添加有向边(称为管线)。同时,工作流会一直保存着节点们的状态(是
否被配置、执行),如果需要,也会返回可执行的节点集合。使用这种方式,
外围框架能够轻松地将负载分派给若干并行的线程执行——更进一步说,这些
线程可以是 KNIME 网格计算支持与服务器(目前正在开发中)——甚至是一
个分布式的服务器集群。由于软件底层是基于图的结构,工作流管理器能够决
定,欲想到达用户指定执行的节点都需要执行哪些节点。
3.4 自己开发新节点
KNIME 已经包含了一些插件,集成于现存的数据分析工具中。通常来说,
为外部的工具创建包装器是十分简单直白的,并不需要修改这些外部工具使其
变得可执行。向 KNIME 添加新节点以及对本地新节点进行操作是很容易的。
为此,需要扩展三个抽象类:
NodeModel: 该类主要负责主要的计算任务。需要重写三个主要的方
法:configure(),execute(),和 reset()。第一方法获取输入数据
表的元信息,创建输出表的规格说明清单。execute函数执行具体的
创建输出数据或模型,执行 reset函数会丢弃所有中间结构。
NodeDialog: 这个类是用来配置具体对话框,用户能够根据个人想法
来调整影响节点执行的相关设置。如果对话框配置只是进行小部分的
标准设置,那么一些已标准化的 DefaultDialogComponent对象中
帮助节点开发者快速地创建对话框。
NodeView:这个类可以进行多次不同的扩展,以便在底层的模型上能够
实现不同的视图。每一个视图都会注册一个 HiliteHandler,该句
柄能够在其他视图中的点被标亮时接受响应事件,同时一旦该视图的
KNIME 白皮书
第 9页 /共 17页
一部分被标亮,它也能够发送响应事件。
除了模型、对话框和视图三个类,开发人员也需要提供一个 NodeFactory
来负责创建以上三个类的实例。这个工厂类也会提供名字和其他的一些具体信
息——比如可供使用的视图,表示对话框是否存在的标记等。
基于 Eclipse 开发环境集成了一个开发向导,可以为一个新节点方便地生成
所有需要的类结构。
3.5 视图与交互式数据标记刷
每个节点都可以拥有任意多的、与之关联的视图。通过从 HiliteHandler
接收响应事件(它也负责发送响应事件),使得在一个视图中能把一部分选择标
记起来,也就是实现了可视化刷功能(visual brushing)。视图种类丰富多样,从
最简单的表格视图,到复杂一点的基于底层数据展现的视图(如:散点图、平
行坐标),或是可视化现实产生的模型(如:决策树、规则推演)。
3.6 元节点
所谓元节点,就是包装了一个子工作流,将其封装成一个特殊的大节点。这
种做法有一系列的好处,比如能够帮助用户设计更大、更复杂的工作流;封装
一些特定的动作。但是之前的 KNIME 版本只有几个元节点可用(1 或 2 个数
据输入/输出端口),而现在的版本,能够通过非常简单的向导,创建含有不受
数目甚至类型限制的端口元节点(具体参考 5.2 小节)。这些元节点甚至可以嵌
套或是被复制。在 KNIME 的较早版本中,也支持用户自己定制一部分元节点,
以便实现封闭的子工作流的重复执行,这样一来,软件也拥有了为复杂场景(如
图 4:KNIME 中与节点相关的类
KNIME 白皮书
第 10 页 /共 17 页
交叉验证、bagging 和 boosting 算法、集成学习等)的建模能力。但这个思想会
被下面就将讲到的更先进的循环思想所代替(参见 5.1 小节)。
3.7 分布式处理
由于整个软件是模块化的架构,我们就能很轻松地将指定的节点分派到不同
的机器上运行。但是为了满足日益增长的多核机器的可用性,对分享内存的并
行系统的支持也日益变得十分重要。KNIME 提供了一个统一的框架来并行化
数据并行处理操作。基于这个思想,Sieb(2007)等研究人员在早期讨论了一些实
验,这些实验审查了在一个集群或是网格计算环境上的复杂任务(如交叉验证)
的分配问题。
在不久的将来,将通过 KNIME 网格计算引擎来支持 KNIME 高性能地使用,
该引擎不但可以完成节点、元节点的分配,还可以将一组独立的节点执行任务
分配到一个网格计算环境上。
4 软件的扩展
KNIME 已经提供了很多种类繁多的节点,其中包括了多种类型的数据 I/O、
操作与变换,以及常见的数据挖掘和机器学习算法,数量可观的可视化组件。
这些节点已经专门为 KNIME 开发实现,并与框架紧密集成,同时也考虑到了
内存策略、进度报告和可交互式的视图。其他一些节点多为包装器,是从第三
方的库中集成相关功能。尤为值得一提的是,KNIME 集成了几个开源项目的
功能点,这些功能基本上覆盖了数据分析领域主要内容,比如用户机器学习和
数据挖掘的 Weka[5],用于统计计算和制图的 R[11]环境,用于可视化的 JFree-
Chart
[10]。更多具有领域专用性质的应用集成允许用户利用化学开发包
(CDK
[13]
),用户可以添加多种不同分子的数据类型,也可添加能够计算这些分
子结构属性的功能。在化学信息学领域中,已经有很多具有商业性质的软件提
供商把他们的工具集成到 KNIME 中。
在 KNIME 中 R 环境的集成或许提供了最强大的扩展,它能够在本地的安装
环境中执行 R 命令,或是在一个 R 服务器上建立模型,供将来 R 预测节点的
使用。R 视图节点可以让用户使用 R 的视图,“R to PMML”节点可以将一个
KNIME 白皮书
第 11 页 /共 17 页
给定的 R 对象转换为相应的 PMML 对象。实际上,在 KNIME 这样一个用于
数据加载、预处理和变换(ETL3)操作直观易用的环境中,基本上能够使用所有
R 环境的功能。
KNIME 2.0 已经支持新版本的 Weka 版本 3.5.6[5]。除了大约 50 个分类器已经
作为 Weka 集成组件加入 KNIME 1.3 中,元分类器(meta-classifier)、聚类和关
联规则算法业已集成到 KNIME 中,使得 KNIME 中的 Weka 节点总数飙升到大
约 100 个。新的 Weka 端口对象(参见 5.2 小节)是 KNIME 2.0 中另一个重要
的特性。他们允许一个受过训练的分类器或是聚类模型与需要使用的属性和目
标列存储在一起。该端口上的一个视图,允许用户能够探查使用训练数据建立
的模型或是聚类模式。这个模型能够使用 Weka 预测节点用来预测不可见数据,
或者使用 Weka 聚类分配器节点来分派新的数据实例给不同聚类。
KNIME 对以上各中工具的集成,不仅大大丰富了 KNIME 中可使用的功能,
也已经被证明是有助于克服兼容性的限制,特别是当想在一个共享式安装使用
不同的库。
5 2.0 版本中的新特性
除却一些新节点和在底层的大量工作,我们将更加细致地讨论以下新特
性:在工作流中对循环结构的支持;出数据表之外,另一个关于用户自定义端
口对象的新概念;通过使用新的端口对象来改进提升数据库的连接;在通用数
据挖掘算法中对 PMML 的支持。
5.1 对循环结构的支持
工作流在概念上的结构式一个无环有向图,也就是说,一个节点的输出与
该节点的前驱节点的输入之间,不能存在循环结构。数据严格地向一个方向
流动。但是,在某些情况下有类似这样的需求:需要重复执行工作流的某部
分来不停地改变相关参数。这种需求广泛存在,从最简单的几个文件不断重
3 译者注:ETL,是英文 Extract-Transform-Load 的缩写,用来描述将资料从来源端经过萃取(extract)、
转置(transform)、加载(load)至目的端的过程。
KNIME 白皮书
第 12 页 /共 17 页
复迭代,到使用数据集的不同部分,不断对模型进行训练和评估,甚至一些
更复杂的任务(比如特征淘汰)。为了能在 KNIME 中也能对这样的场景建模,
引入了两个特殊的节点类型:循环开始节点和循环末端节点。和普通的节点
不同(普通节点在循环体中),他们在循环执行的过程中,不会被重置,他们
之间也能相互访问,并直接进行信息交换。例如,循环末端节点会告诉循环
开始节点,哪些列在下一次的迭代中需要移除,而开始节点也能通知末端节
点,目前的循环是不是最后一次,以便末端节点决定是否结束整个循环。图 5
展示了一个特征淘汰的循环过程,从图中,我们一眼就分辨出开始、末端节
点的样子与普通节点的不同。然后,特征淘汰筛选器使用特征淘汰模型,开
始从数据表中移除相关属性。KNIME 2.0 包含了一些被封装在元节点中的预
定义的循环结构,另外还有一些单独的循环节点:
- 简单的“for”循环,用于实现执行给定次数的循环
- 交叉验证
- 交互式特征淘汰流程
- 在一些文件中进行循环操作
- 在一些参数设定中进行循环操作
开发人员能够很容易地写出自定义的循环节点,仅仅是实现一些额外的端口。
当然,为了能够很好地实践循环的概念,需要将一些变量信息传给节点。这样
一来有些功能就可以实现,比如将中间结果写入到一系列已经参数化文件名的
文件中,再比如可以用不同的参数设置运行一系列实现。在 KNIME 2.0 中加入
图 5:一个在元节点中的特征淘汰循环模型:
迭代地移除最差属性(移除该属性后对整个模型质量下降影响
最小的属性)
KNIME 白皮书
第 13 页 /共 17 页
的流变量 就能满足这些对参数的操作。目前对循环结构的实现尚处于试验阶
段,在未来的版本中很有可能被采纳,故对循环这个概念更详细的信息,可以
参考在线文档。
5.2 端口对象
在之前的 KNIME 版本中,只有两种类型的端口:数据端口和模型端口。
其中,模型端口不会分辨模型的具体类型,不管模型是决策树还是神经网络,
甚至于是在视图中使用的对行数据进行标亮所使用的色彩信息。所以,用户可
能会把一个决策树学习器和一个神经网络预测器连接起来,而相关错误只有在
运行工作流的时候才给出。从程序员的角度来看,在一定情况下,一个模型与
另一个可用的数据结构(嵌套键值对)进行互译是相当复杂的,但在 KNIME 2.0
可以添加任意的由程序员轻松定义的端口类型。这样一来,有两个主要的优点:
对用户来说,将不能再将不兼容的端口连接到一块,而是程序员自己负责序列
化/反序列化传送的“端口对象”;一般来说,使用这种方式比旧的方法更容易,
并且对大模型来说,需要内存比原来少了很多(也有硬盘的空间),因为嵌套的
hash 表被忽略了。
5.3 改进对数据库的支持
新的数据库端口对象是新端口对象实现的最典型实践,图 6 给出了一个小例
子。这些数据库端口对象(深红色的方形图标)传送一个封装了参数的连接,
以便使用兼容 JDBC 连接桥建立一个数据库连接。在这个例子中,数据库节
点通过包装、修改 SQL 语句,直接在数据库上进行工作。只有当数据库连接
读取器节点将数据导入 KNIME 中时,SQL 语句才会执行。其他的节点,比
如数据库连接器,数据库列筛选器,数据库行筛选器和数据库查询节点会在
SQL 语句上执行一个规范化的操作。在这个例子中,数据库连接设置会在连
图 6:使用新数据库连接节点的工作流
KNIME 白皮书
第 14 页 /共 17 页
接器节点中调整,然后传递给数据库列筛选器和行筛选器节点。而筛选器节
点提供了用户友好的方式连筛选出相关列和行,而不需亲自动手去修改 SQL
语句。对高级用户,SQL 查询节点能够帮助其手动编辑 SQL 语句。每一个这
样节点输出端视图,都提供了快速查看数据库设置信息、数据库元数据和预
览数据库中当前数据的功能。
5.4 PMML
PMML(即 Predictive Model Markup Language[3])预测模型标记语言是
一个开放标准的 XML 格式文件,用于存储和交换预测模型信息(诸如聚类
模型、回归模型、树或是支持向量机等)。非常理想地来说,一个被 KNIME
(或任何其他支持 PMML 的工具)训练过的、并以 PMML 格式存储的模型,
在 R、SRS Enterprise Miner 或者 2.0 版本的 KNIME 里都可以使用。几乎所
有基本会创建模型的 KNIME 节点都会以 PMML 形式表示模型(如果有标准
支持)。相应的预测节点接受 PMML 作为输入。对于在工具间进行 PMML
交换,PMML 读取器和写出器节点也已经被添加。但是,需要注意的是,底
层的 PMML 标准通常会在模型中提供一些可选的属性选项,而这些属性也
往往只被相同的、创建该模型的应用程序所理解和支持,这也就意味着,在
某些情况下,互操作能力会被受到限制。当前存在的一个很大缺点是预处理
没有被作为 PMML 文件的一部分而引入,这也是将来 KNIME 重点关注的特
性之一。
6 结语
KNIME,即 Konstanz Information Miner,提供了一个模块化的软件框架,为
可视化组件和交互执行数据流程提供了一个图形化的工作平台。它具有一个强大
而直观的用户界面,易于和新模块或节点集成,而且用户可以交互式探查分析结
果或是训练后的模型。通过与一些诸如 Weka 机器学习和 R 统计软件等强大的库
进行集成,它形成了一个可以应对各种数据分析任务、功能强大丰富的平台。
KNIME 2.0 新版本中的新特性,特别是对循环的支持、数据库连接操作以及
PMML 进一步增强了 KNIME 的能力,使其成为一个强大的数据探索和分析的环
境,同时它也具有优良的集成扩展能力,可以轻松地访问很多其他的数据处理与
分析包。
KNIME 白皮书
第 15 页 /共 17 页
7 参考文献
[1] Michael R. Berthold, Nicolas Cebron, Fabian Dill, Thomas R. Gabriel, Tobias
Kotter, Thorsten Meinl,Peter Ohl, Christoph Sieb, Kilian Thiel, and Bernd Wi-
wedel (2007). KNIME: The Konstanz Information Miner. In Data Analysis, Ma-
chine Learning and Applications - Proceedings of the 31st Annual Conference
ofthe Gesellschaft fur Klassifikation e.V., Studies in Classification, Data Analysis,
and Knowledge Organization, pp. 319–326. Springer, Berlin, Germany.
[2] BIRT. Business Intelligence and Reporting Tools. http://www.eclipse.org/birt/.
[3] Data Mining Group. Predictive Model Markup Language (PMML).
http://www.dmg.org/.
[4] R Project. The R Project for Statistical Computing. http://www.r-project.org/.
[5] Ian H. Witten and Eibe Frank (2005). Data Mining: Practical machine learning
tools and techniques. Morgan Kaufmann, San Francisco, 2nd edition.
[6] Inforsense Ltd.: InforSense KDE. http://www.inforsense.com/kde.html.
[7] Insightful Corporation: InsightfulMi-
er.http://www.insightful.com/products/iminer/default.asp.
[8] SciTegic: Pipeline Pilot. http://www.scitegic.com/products/overview/.
[9] Eclipse Foundation (2008): Eclipse 3.3 documentation. http://www.eclipse.org.
[10] Gilbert, D. (2005): JFreeChart Developer Guide. Object Refinery Limited,
Berkeley, California. http://www.jfree.org/jfreechart.
[11] R Development Core Team (2007): R: A language and environment for statistical
computing. R Foundation for Statistical Computing, Vienna, Austria. ISBN
3-900051-07-0. http://www.R-project.org.
[12] Sieb C., Meinl T., and Berthold, M. R. (2007): Parallel and distributed data pipe-
lining with KNIME. Mediterranean Journal of Computers and Networks, Special
Is-sue on Data Mining Applications on Supercomputing and Grid Environments.
vol. 3, no. 2, pp. 43-51.
[13] Steinbeck, C., Han, Y. Q., Kuhn, S., Horlacher, O.,Luttmann, E., and Willighagen,
KNIME 白皮书
第 16 页 /共 17 页
E.L. (2005): The Chemistry Development Kit (CDK): An open-source Java li-
brary for chemo- and bioinformatics. Journal of Chemical Information and
Computer Sciences. vol. 43, pp. 493-500.
8 部分术语中英文对照
英 文 中 文 英 文 中 文
cross validation 交叉验证 meta-classifier 元分类器
data pipeline 数据流 node 节点
data table 数据表 port 端口
flow variable 流变量 view 视图
loop end-node 循环末端节点 workflow 工作流
workflow 工作流 pipeline 管线
译文原文出处:
Michael R. Berthold, Nicolas Cebron, Fabian Dill, Thomas R. Gabriel, Tobias
Kötter, Thorsten Meinl, Peter Ohl, Christoph Sieb, Kilian Thiel, and Bernd Wiswedel
(2009),KNIME: The Konstanz Information Miner. ACM SIGDD Explorations
Newsletter, Volume 11 Issue 1, June 2009, pp. 26-p31, ACM New York, USA.