数据分析指北:KNIME 模块

栏目: 数据库 · 发布时间: 6年前

内容简介:欢迎关注公众号 数据分析指北数据分析指北 - KNIME 模块(Data Access类型模块之一IO模块集合)

> 之前休假了, 嗯, 我们继续

数据分析指北:KNIME 模块

欢迎关注公众号 数据分析指北

数据分析指北 - KNIME 模块(Data Access类型模块之一IO模块集合)

历史回看:

基础(数据来源及轮廓)

有必要搞清楚数据的原始出处以及大致轮廓(分布)。

基础(基础数据操作之二,读取数据源)

KNIME模块(基础)

数据分析指北:KNIME 模块

Photo by Samuel Zeller on Unsplash

微信公众号:数据分析指北

  • Data Access类型模块

  • IO模块集合简述

    • Read部分

    • Other部分

    • File Handling部分

上一节我们讲了 KNIME 模块的一些基础知识,包括模块的图示、颜色类别、端口类别、workflow 、怎样提高 workflow 的可读性以及 metanode 和 flow variable 的概念。这些基础知识都是非常重要的部分,其中绝大部分内容通过长时间的使用 KNIME 都可以掌握,只有“怎样提高 workflow 的可读性”和“ metanode 的使用”需要刻意练习才能掌握,而这两部分内容,也是 KNIME 水平从中阶到高阶的必经之路。

数据分析指北:KNIME 模块

KNIME 的 Node Repository

在 KNIME 的 Node Repository 中有很多模块,如果装了一些扩展的话,模块会更加丰富。我们在这里将这些节点类型统一组织成了Data Access类型、Transformation类型、Analysis & Data Mining类型、Visualization类型以及Deployment类型,这样在逻辑上将会更加清晰,也符合一般的数据分析的大致步骤。我们先看Data Access类型模块。

Data Access类型模块

Data Access类型模块主要有文件相关模块、数据库相关模块、以及网页相关模块。其中文件相关模块中的CSV模块以及数据库,我们已经在 基础(基础数据操作之二,读取数据源) 中有简要提及。初次之外,KNIME 的 Node Repository中的IO模块集合、Database模块集合、Tools & Services模块集合,都可以部分归类到Data Access类型中来。

IO模块集合简述

数据分析指北:KNIME 模块

Node Repository中的IO模块集合

IO模块在整体上分为Read、Write、Other、File Handling以及Cache几个部分,其中的Write部分,我们不认为它算是Data Access类型模块,而认为它是Deployment类型模块,略去不讲。

Read部分

对于Read部分,主要涉及到各种实体文件的读取。

数据分析指北:KNIME 模块

IO模块集合中的Read部分

[重点::sparkles::sparkles::sparkles:;难度::sparkles:]对于Excel文件来说,如果你已经确定要读取Excel文件的哪个表,那么我们就可以直接使用Excel Reader(XLS),直接在节点中配置读取,其配置选择其实和CSV reader的配置差不太多,除了一些标准的配置之外–比如Column Name都从哪里取、Row Id要不要自动生成,其他选项都集中在配置对于异常情况的处理;如果你需要将Excel中所有的表的内容都读取出来,那么你可以尝试先使用Read Excel Sheet Names (XLS)节点,读出这些表的名字,然后再设置一个循环,使用Excel Reader(XLS)将每个表中的内容读取出来,可参考下图结构。

数据分析指北:KNIME 模块

读取Excel文件中的所有内容

[重点::sparkles::sparkles::sparkles:;难度::sparkles:]CSV Reader之前有提及,在这里略去不讲。

File Reader其实是一个通用版的文件读取工具,甚至可以用它来读取CSV文件,只不过配置项要更多一些。

ARFF reader是机器学习中的一种特定文件格式,这个格式主要是随着 Weka 发展出来的,简要来说,就是它除了记录具体的数据之外,还详细记录了数据的格式、来源等一系列信息,对于经典的Iris数据来说,ARFF就是这样记录的,一望即知:

% 1. Title: Iris Plants Database
   % 
   % 2. Sources:
   %      (a) Creator: R.A. Fisher
   %      (b) Donor: Michael Marshall (MARSHALL%PLU@io.arc.nasa.gov)
   %      (c) Date: July, 1988
   % 
   @RELATION iris   
 @ATTRIBUTE sepallength  NUMERIC   
 @ATTRIBUTE sepalwidth   NUMERIC  
  @ATTRIBUTE petallength  NUMERIC   
  @ATTRIBUTE petalwidth   NUMERIC   
  @ATTRIBUTE class        {Iris-setosa,Iris-versicolor,Iris-virginica}
  
% The Data of the ARFF file looks like the following:

   @DATA
   5.1,3.5,1.4,0.2,Iris-setosa   
 4.9,3.0,1.4,0.2,Iris-setosa   
 4.7,3.2,1.3,0.2,Iris-setosa   
 4.6,3.1,1.5,0.2,Iris-setosa
   ..............

Line Reader是用来将文件一行一行读出来的模块,特别像 Python 中的 readlines() 函数。

[重点::sparkles:;难度::sparkles:]Table Reader这个模块是用来读取KNIME自定义的Table格式的(文件名以 .table为后缀 ),是读取KNIME的Table Writer模块输出的文件的。这个文件和ARFF文件的目的相同,就是在这个文件中,尽量的包含和这个数据文件相关的其他元信息(meta information),比如标记出的数据颜色信息(参见 泰坦尼克沉船数据分析之一) 中对数据进行颜色标记的示范)等等,以及对数据文件进行压缩优化,以提升读取效率。因为是 KNIME 自己的格式,如何读写已经做了约定,所以基本不需要做什么配置就可以使用,但唯一考虑的一点就是,如果要迁移到KNIME以外的平台使用,可能会遇到一些麻烦。

PMML Reader是用来读取PMML(Predictive Model Markup Language预测模型标记语言)文件的,这种文件主要是用来记录一些机器学习中的模型以及模型参数的。

[重点::sparkles::sparkles:;难度::sparkles:]List Files作用是列出所给路径下有哪些文件。比如需要读取一个文件夹下所有的Excel文件,那么就需要用到这个模块了。

另外的几个模块用的非常少,就略过不谈了。

总的来说,Read部分,需要重点掌握CSV文件以及Excel文件的读取模块。除了上面列出的模块,如果想要读取Google Sheets,也是可以的,只不过要安装相应的扩展,以及搭建相应的梯子。

Other部分

数据分析指北:KNIME 模块

IO模块集合中的Other部分

Table Creator其实相当于一个小型的Excel,打开之后直接编造数据,但其实用到的地方不多,能用它的地方,大部分情况下可以使用Excel代替。

Data Generator模块可以按照要求生成一些随机数据。

[重点::sparkles:;难度::sparkles:]Create Table Structure可以生成一个没有数据的表结构,主要是配合KNIME的自动生成报告功能使用的,简单举例来说,就是可以初始化生成一个最终报告要求的,有着XX列、YY列、ZZ列的空表,而在workflow的其他部分,只生成了一个具有YY列、ZZ列的表,那么就可以将这个表追加到之前的空表中,进而嵌入到最终的报告中。

Create Temp Dir可以用来生成临时目录,和 Linux 系统编程中的 mktemp 的功能类似,在某些特定情况下会使用到,比如我们想要临时生成一个 sqlite 文件进行读写,但又不想永久保存这个文件,那么就可以使用这个模块来建立一个临时目录存放这个sqlite文件。

Extract System Properties和Extract Context Properties就是获取一些系统信息,以及一些当前workflow的信息了,应用的地方也比较有限,但它们却又是 KNIME 模块完整性的一部分。

File Handling部分

数据分析指北:KNIME 模块

IO模块集合中的File Handling部分

Binary Objects类的模块主要是配合数据库使用的,比如我们通过数据生成图片,然后把图片转换成Binary Objects,再将Binary Objects存放在数据库中。

[重点::sparkles::sparkles:;难度::sparkles:]Remote中的一些模块,主要是用来和远程服务器进行交互的,不管那个服务器是ftp、http,还是只开放了ssh的相应端口,我们都可以对远程服务器上的文件进行下载、分析处理、上传操作。下面是一个http connection模块的局部例子。

数据分析指北:KNIME 模块

http connection的局部例子

[重点::sparkles::sparkles:;难度::sparkles:]Create Directory, Delete Files, Download, Download/Upload from List, List Remote Files, Upload这几个模块的名字含义比较明确了,不再赘述。

[重点::sparkles::sparkles::sparkles:;难度::sparkles:]URI类的模块。URI是uniform resource identifier,统一资源标识符的缩写。我们常说的某某网站地址,或是某某网站中的某一个图片地址,称为URL,是(uniform resource locator)统一资源定位器的缩写。URL是URI的子集,URI是一个更通用的概念,比如在Windows中, file:///c:/WINDOWS/clock.avi   就是一个URI,它定位了 clock.avi 这个视频文件(资源)如何去访问。URI这几个模块,在我们需要操作资源的各种路径的时候,就会需要它们。

ZIP相关模块,一般是配合多个压缩文件使用的。比如在一大堆的压缩文件中,我们可能需要按顺序解压压缩文件,然后再分析处理解压缩之后的文件,在这种时候,我们就需要ZIP这个模块了。需要注意的是,ZIP相关的这两个模块,支持众多的开源压缩方法,比如tar.gz, zip等,但是对于闭源的rar压缩包,它们是不支持的。

COPY/MOVE Files模块,复制、移动模块再不赘述。

File Meta Info模块,可以列出相应文件是否存在、大小、权限等相关内容。

Find MIME-Type模块以及List MIME-Types模块,主要是配合HTTP使用的,一般在upload时,需要在http request中写上mime type信息。

回头聊

反馈,转发或赞赏?

数据分析指北:KNIME 模块


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Learning PHP & MySQL中文版

Learning PHP & MySQL中文版

车立红 / 中国电力出版社 / 2007-06 / 36.00元

《Learning PHP & MySQL中文版》将介绍程序、模板和数据库的工作原理,讲述如何应对其中的挑战,并彻底地探索这些技术。一起来看看 《Learning PHP & MySQL中文版》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试