数据分析领域有不少可选方案,例如SPSS傻瓜式分析工具,SAS专业性商业分析工具,R和python这类须要代码编程类的工具。我的选择是python这类,包括pandas,numpy,matplotlib,sklearn,keras。基于jupyter或者zeppelin做为编程界面,能够用python开发出比较清爽的数据分析报告。node
整体来讲,jupyter notebook编写的分析结果基本上能够知足要求,可是也有些弊端,例如没法作很好的presentation,虽然能够经过convert slides获得比较好的presentation胶片,可是没法展示直观的数据流和数据分析流程。python
理想的数据分析应该包括:清晰的数据流和数据分析流程;直观的数据分析结果报告。编程
通过对多种开源方案的比较,我选择使用knime+python的方案,能够有如下的优势api
通常须要使用到的库包括:pandas,seanborn,numpy,scipy,statsmodel,matplotlib,keras,TensorFlow。eclipse
KNIME的发展始于2004年1月,由康斯坦茨大学的软件工程师团队做为专有产品。由Michael Berthold领导的原始开发团队来自硅谷的一家公司,为制药行业提供软件。最初的目标是建立一个模块化,高度可扩展和开放的数据处理平台,从而轻松集成不一样的数据加载,处理,转换,分析和可视化探索模块,而没必要关注任何特定的应用领域。该平台旨在成为一个协做和研究平台,也应做为各类其余数据分析项目的集成平台。ide
Knime IDE基于eclipse开发,插件的安装和eclipse同样。咱们须要结合knime和python作数据分析,须要安装如下插件:svg
Python Script node能够处理前一个节点数据,数据名称是input_table
,类型是pandas.DataFrame
。DataFrame的操做api就是pandans的api。数据处理完后将结果输出,输出的数据是output_table
. 举个例子,选择一个PythonScript node以后,右击选择Configure...,进入python代码输入框。模块化
import pandas as pd df = input_table df = df[df['gender'] == 'M'] output_table = df
Python View节点对输入数据作可视化,输出图片,输入数据通用是input_table
,可视化可使用任意的python库,首选固然是Matplotlib。输出的图片须要赋值给变量output_image
。举个例子:工具
import matplotlib.pyplot as plt from io import BytesIO df = input_table df['score'].plot() # output the image buffer = BytesIO() plt.saveFig(buffer, format='svg') output_image = buffer.getvalue()
Python View节点输出的图片能够做为report的元素,借助“Image to Report”节点能够将图片输出,注意须要从新设置图片大小,默认100x100尺寸过小。spa
report模块基于birt,开发界面和BIRT同样。优势是这里可以将knime数据流中的Report节点数据/图片自动引入到report中的“Data set view”。在设计report的时候能够引入图片或者表格数据。