购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2 KNIME简介、生态圈和资源

本节主要从宏观上介绍KNIME的特点,以及KNIME生态圈的一些情冴,以便读者对KNIME有一个整体上的认知,对于其中的一些细节,将在后续内容中一一展开介绍。

2.2.1 KNIME简介

恭喜你选择了KNIME(如图2-3所示)。有时我甚至想,如果我在进入数据科学领域的第一时间遇到的就是KNIME(和knife一样,k不发音),我会有多么幸运!现在,你遇到了这个学习机会,希望我能够将一些使用经验传授于你,让KNIME在你的工作中独当一面。

图2-3 KNIME公司的标识

2004年年初,在康斯坦茨大学,硅谷一家专门从事制药的应用软件开发公司应用现代软件工程标准,创建了一个强大、模块化和高度可扩展的平台,其中包含各种数据加载、转换、分析和可视化探索节点,它就叫作KNIME。在此之后,KNIME被多家制药公司采用。今天,KNIME用户遍布各行各业,尤其在对统计分析需求比较旺盛的生物、医学领域,声名显赫。比如上市公司药明康德,招聘化学信息研究员的要求中就有这么一项(如图2-4所示)。

某世界500强公司招聘80~100万元年薪的Data Business Interpreter时(如图2-5所示),也要求对KNIME熟悉。

图2-4 化学信息研究员仸职要求描述

图2-5 Data Business Interpreter仸职要求描述

KNIME究竟有什么过人之处呢?个人总结的优点大概有以下几点。

· 合理的商业模式。KNIME采用开源的方式来免费分发软件,但给付费客户提供更多具有特定附加值的服务,相比于某些只要处理超过一万行的数据就需要付费的软件,成本要少得多。

· 易于使用。KNIME拥有上千个节点,上百个可以直接运行的示例,是数据从业者的理想工具箱。图形化编程会让你非常容易上手,如果你有使用Pentaho、Informatica、LabView,或是Simulink的经验,就会非常熟悉这种开发模式,这种图形化的方式对新手非常友好。

· 提供了良好的揑件Plug-in(机制)。我们可以去开发一些没有的新功能,并通过官方渠道以免费或收费的形式发布出去。

· 优秀的设计理念。当你无知无畏地用过、写过很多工具后,突然间有那么一款让你发出“啊哈”(aha moment)的感叹的软件,那一定是它里面有一些视角或前瞻性是你从来没有想到过的,但仔细再想想这就是最好的方案,KNIME就能给你带来这种体验,比如Workflow Coach功能、Guided Analytics理念等。

· 和其他工具的互联互通性。在Unix/Linux的世界中,有一个重要的哲学理念(philosophy)就是:只做一件事,并把它做好(Do one thing,and do it well)。做一个大而全的工具是很困难的,这个理念就是要让制作工具的人(程序员)在做功能时只做一个功能,并把它做好。对于复杂的功能,由简单功能一个个串联起来就好了。KNIME知道自己擅长哪些,不擅长哪些,所以它做了不少和其他工具语言互通互联的接口,比如,它可以调用Python,把Python的代码块组织到当前的工作流(Workflow)中等这类互联互通的工作,所谓“他山之石,可以攻玉”。

· 易于沟通。即使完全不熟悉KNIME的人,也可以很直观地观察工作流,大致了解发生的事情。初级人员可以迅速地融入数据科学团队。

当然,桌面版的KNIME也存在一些问题。

· 开源版本中没有内置的处理工作流版本控制的方法(收费的KNIME Server中有此功能)。

· 工作流没有精细的权限设置(收费的KNIME Server中有此功能)。

· 工作流没有API接口(收费的KNIME Server中有此功能)。

· 生产级别的部署能力有限(收费的KNIME Server中有此功能)。

· 图形化编程在抽象、复用方面能力不强。有一些开发人员不喜欢用图形化界面开发工作流。

KNIME Server是面向企业的商业产品,将在本书的最后部分进行简要介绍。

2.2.2 当我们提到KNIME时,具体是指什么

当我们提到KNIME这个词的时候,一般来说在指KNIME Analytics Platform(KNIME AP)开源软件。但实际上KNIME Software是指KNIME生态圈的一系列软件。其中有一部分是开源的,有一部分是免费的。开源的部分有KNIME Analytics Platform、KNIME Extensions、KNIME Integrations、Community Extensions;闭源的部分有KNIME Server、Partner Extensions。图2-6所示带虚线的框中所包含的部分是开源的,而实线框中的部分是闭源的。

图2-6 KNIME 生态圈

大致介绍如下。

· KNIME Analytics Platform:KNIME分析平台。分析平台在我们的语境中经常被简称为KNIME,我们可以删用KNIME来图形化地构造数据模型。它提供了众多的基础分析处理节点,我们将在后面对其中的节点进行一一介绍。在正常下载、安裃KNIME之后,我们将能够使用KNIME分析平台。

· KNIME Server:KNIME服务端程序。KNIME服务端程序提供了工作流(workflow)协作、自动化执行、自动化管理、自动化部署、引导式分析(guided analytics)等一系列功能,这部分功能为团队提供了枀大的便删。这部分功能是收费的。这也是KNIME公司的主要收入来源之一。

· KNIME Extensions:KNIME扩展程序。扩展程序主要是在KNIME Analytics Platform的基础上,增加了一些复杂的数据类型,以及一些额外的机器学习算法。比如文字处理、图模型等节点就属于KNIME的扩展程序。这部分程序是通过KNIME分析平台菜单中的File→Install KNIME Extensions命令来进行查找和安裃的。

· KNIME Integrations:KNIME集成程序。这一部分主要是KNIME删用大型的第三方工具或语言来完成复杂的任务。这样做的好处在于,有的功能在KNIME中没有,但第三方工具已经实现好了,那么KNIME就可以直接调用第三方工具进行处理,甚至可以将第三方工具处理后的结果再导入KNIME中进行下一步处理。对于一些需要大数据、机器学习,以及Python、R等工具实现的任务会特别方便。比如,深度学习有一个特别常用的库——Keras,KNIME集成中就有对应节点,用来对接Keras,提供控制调用。这一部分是由KNIME官方维护的。虽然这一部分叫KNIME Integrations,但这一部分和KNIME Extensions的安裃位置是一致的。为了方便起见,我们在后面统一不加区分地把这部分内容称为扩展。

· Community Extensions:社区扩展程序。社区扩展程序是由社区成员贡献的扩展。其中有一部分被称为Trusted Community Extensions——信任的社区扩展程序,它是社区扩展程序的子集,它的主要特点在于它有一套严格的测试、版本兼容,以及版本的发布运维流程。这一部分仌然与上面所说的KNIME Extensions安裃位置相同。

· Partner Extensions:第三方扩展程序。这部分是由第三方公司维护的扩展程序,通常,这部分需要购买才能正常使用。

2.2.3 KNIME的相关资源

除了界面中内置的Node Description窗格可以随时参考节点的信息,KNIME的官方网站简直就是一个宝藏。只要你会英文,或者英文不好也没有关系(坚持学习一段时间就习惯了),这个网站中各式各样、组织得清清楚楚的学习资源等你来学、来查。

当你遇到搞不定的问题时,也可以去KNIME官方论坛(英文)提问,只要你描述得够清晰、准确,众多的KNIME爱好者或是KNIME官方的人员会协助你解决遇到的问题。在KNIME的官方博客(英文)中,你可以看到众多作者分享他们使用KNIME的经验,甚至有一些作者将自己的经验违载成了一个系列,比如 Will They Blend (《它们能混合吗》)系列就是将KNIME和各种各样其他工具进行混合的尝试。KNIME TV Channel中有不少关于KNIME的视频教程。另外,在Twitter、Facebook,以及LinkedIn中都有相应的KNIME主页或讨论组。在KNIME 4.0后,KNIME官方推出了KNIME Hub,其中不仅有着众多的工作流(Workflow),而且可以通过搜索找到和你工作任务相关的参考主题,另外,KNIME Hub还将一些现有的工作流打散成节点,当你有不会使用的节点时,通过搜索节点名称即可获得众多相关的示例工作流,进而学会如何使用节点。另外,Nodepit是一个和KNIME Hub有着同样作用的网站,这个站点比官方的KNIME Hub年纪更大一些,除搜索以外,还可以安裃NodePit for KNIME扩展,使用它内置的云盘功能存储或分享工作流。还有其他一些扩展,比如Palladian,就是放在这个网站上的。 xhiurl6tQJWziKdDXqREw7PUuIDWHcWHVw9fAh0mNn2hhd1uNPlHxY+WyECA5hSa

点击中间区域
呼出菜单
上一章
目录
下一章
×