数据分析指北:KNIME 模块

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

内容简介:欢迎关注公众号 数据分析指北数据分析指北 - 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 模块


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

查看所有标签

猜你喜欢:

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

Data Structures and Algorithm Analysis in Java

Data Structures and Algorithm Analysis in Java

Mark A. Weiss / Pearson / 2006-3-3 / USD 143.00

As the speed and power of computers increases, so does the need for effective programming and algorithm analysis. By approaching these skills in tandem, Mark Allen Weiss teaches readers to develop wel......一起来看看 《Data Structures and Algorithm Analysis in Java》 这本书的介绍吧!

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具