KNIME简介:
还在傻傻的用Excel做数据分析?这里将一个已经问世10多年的强大数据分析工具推荐给大家---KNIME。

强大数据分析工具
KNIME数据分析平台的长项就是其强大的数据和工具的集成能力:不仅仅能做常规数据分析,还能玩大数据---与第三方的大数据框架集成其通过大数据组件的扩展(Big Data Extension)能够方便的和Apache的Hadoop和Spark等大数据框架集成在一起,强大吧。
支持数据格式多。不但支持纯文本,数据库,文档,图像,网络,甚至还支持基于Hadoop的数据格式。
俗话说一个好汉三个帮。KNIME还支持多种数据分析工具和语言,包括支持R语言和Python语言。
当然,结果分析出来不可视化出美丽报表,也是不不行的。所以,强大的可视化功能也是必须的。它提供了易于使用的图形化接口,能够把分析结果通过生动形象的图形展示给用户。最最最重要的是其提供了1500多个模块,且现在模块数量还在不断的增长。

提供了易于使用的图形化接口,能够把分析结果通过生动形象的图形展示给用户
强大的各种数据文件支持也是Excel望尘莫及的。主要的文件格式和数据库数据格式一个不拉, XML, JSON, 图形, 文档等。
居然还支持AI,什么机器学习,深度学习都不在话下。而且让使用这些高大上的功能非常容易,看看这些AI学习库就心动: H2O,Keras,Scikit-Learn等。
当然,最后给老板看的报表功能也是全面支持,不仅提供基于Web报告,还支持酷炫的数据视图的展示,并能让老板看的瞠目结舌的,动态工作流设计也支持。

并能让老板看的瞠目结舌的
KNIME的发展简史

KNIME的核心架构,基于JAVA+eclipse编写。

KNIME功能丰富,集成了各种其他的开源项目,例如从机器学习算法的Weka,统计包R项目,以及LIBSVM,JFreeChart的,ImageJ的和化学开发工具包。

分析基本步骤
KNIME可以通过可视化组件的拖拽,在工作流图上通过数据获取,数据处理,数据分析,部署应用等步骤对数据进行引入,处理和部署整套流程。

分析基本步骤
KNIME结合Python进行数据分析
KNIME繁多的数据读取,处理等功能组件玲琅满目,刚开始大家肯定会眼花缭乱,光是了解模块就得花上不少的时间。能不能马上结合我们的Python技能,结合KNIME马上开始分析呢?问到点子上了。下面就结合Python在KNIME里进行快速数据分析。
首先,需要在KNIME里安装支持Python的组件。
在KNIME的UI里,点“File”->”INSTALL Knime Extension”。

安装以下组件:
- KNIME Python Integration,安装后可以使用‘Python Script’和‘Python View’ node
- KNIME Report Designer
安装完毕后进入实战环节。
- 新建一个workflow。拖入一个csvreader 组件,并设置好读取的csv文件和参数。

2. 拖入一个Python Script (1=>1)组件。将csv reader连线到该组件,双击Python Script组件,查看Python程序。(注意不用修改)

简单解释下,该组件里,Python程序从input_table里得到csv reader的读取数据流,然后处理后,把结果放到output_table,这个变量即是该组件对后面传递的变量。当然,如果有处理逻辑,可以利用python程序对input_table进行处理后再赋予output_table。
3.数据已经生成,下面要进行可视化了。拖入一个Python View组件。双击该组件,输入图示代码,利用输入数据可视化,做bar图,并存到svg格式,并把图片内容放到输出变量output_image里。

Python代码如下:
from io import BytesIO# Only use numeric columnsdata = input_table._get_numeric_data()# Replace row ID by numberdata.index = range(0, len(data))# Create buffer to write intobuffer = BytesIO()# Create plot and write it into the bufferdata.plot().get_figure().savefig(buffer, format='svg')# The output is the content of the bufferoutput_image = buffer.getvalue()
4.最后,把可视化图片呈现出来。拖入Image To Report组件,把输出结果连接到该组件。点中该组件,右击鼠标,调出执行菜单,选择”Excute and Open View”,执行。

最后可视化结果输出如下:

强大的KNIME+Python,从数据读取,处理,到可视化都搞定了,喜欢吧!赶快扔掉Excel,进入新的支持Python分析平台吧。