热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Alink使用技巧:如何使用批式CSV数据读取?

Alink是基于Flink的机器学习算法平台,欢迎访问Alink的GitHub获取更多信息。本文主要分享Alink的使用技巧之一,如何使用批式CSV进行数据读取。基本操作我们先下载


Alink 是基于 Flink 的机器学习算法平台,欢迎访问 Alink 的 GitHub 获取更多信息。本文主要分享 Alink 的使用技巧之一,如何使用批式 CSV 进行数据读取。


基本操作


我们先下载个 csv 文件用作后面的测试数据。


将数据文件下载到本地,文件路径为 /Users/yangxu/flinkml/data/iris/iris.data,使用文本编辑器打开如下所示,每行为一条数据,每条数据包括4个数值字段和一个字符串字段,各字段间使用逗号分隔。



数据下载


http://archive.ics.uci.edu/ml...


读取本地数据


使用 CsvSourceBatchOp 可以批式读 CSV 格式文件,其必填的两个参数为:filePath 和 schemaStr。filePath 为 CSV 格式文件所在的路径;schemaStr 为数据各字段的名称和类型。关于 Schema String 更多的介绍可以参见:



Alink Schema String简介


https://zhuanlan.zhihu.com/p/...

可以使用如下脚本,读取数据,并取前5条数据打印显示出来。


source_local = CsvSourceBatchOp()\
.setFilePath("/Users/yangxu/flinkml/data/iris/iris.data")\
.setSchemaStr("sepal_length double, sepal_width double, petal_length double, petal_width double, category string")
source_local.firstN(5).print()

数据打印显示如下:



注意:CsvSourceBatchOp 必填的参数 filePath 和 schema 进行赋值,filePath 为本地文件存储路径"/Users/yangxu/flinkml/data/iris/iris.data",schema 为 iris 数据集的列名和类型信息,共有5个字段:sepal_length, sepal_width, petal_length, petal_width, category;其数据类型分别为 double, double, double, double, string。


读取网络数据


相对于前面介绍的读取本地 CSV 数据,我们只需将数据存储路径参数 filePath,赋值为 http 路径地址即可。脚本如下:


source_url = CsvSourceBatchOp()\
.setFilePath("http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data")\
.setSchemaStr("sepal_length double, sepal_width double, petal_length double, petal_width double, category string")
source_url.firstN(5).print()

数据打印显示如下:



参数详细说明


Alink CsvSourceBatchOp 提供了丰富的读取功能,具体内容可以参阅其参数说明文档:


https://github.com/alibaba/Al...


更复杂的例子


对于葡萄酒品质数据集,我们将其下载达到本地,可以看到其文件内容。



数据下载


http://archive.ics.uci.edu/ml...


第一行为数据列名的说明,第二行开始是数据,可以看到都是数值类型,各个数之间用分号“;”进行分隔。


我们可以通过设置参数 ignoreFirstLine 为 True,略过第一行;并且可以设置字段分隔符参数 fieldDelimiter 为分号“;”。另外,由于列名不能包含空格,所以由文件第一列转化来的列名需要进行相应处理,这里我们将其写为驼峰形式;并加上数据类型,这里都是 double 类型,构成了数据集的 SchemaStr。具体的脚本如下:


wine_url = CsvSourceBatchOp()\
.setFilePath("http://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-white.csv")\
.setSchemaStr("fixedAcidity double,volatileAcidity double,citricAcid double,residualSugar double,"+\
"chlorides double,freeSulfurDioxide double,totalSulfurDioxide double,density double,"+\
"pH double,sulphates double,alcohol double,quality double")\
.setFieldDelimiter(";")\
.setIgnoreFirstLine(True);
wine_url.firstN(5).print()

数据打印显示如下:



可以看到由于每行的数据较多,在显示的时候进行了分段显示,每段数据可以由其最左方的行索引编号关联。


扫码关注「 流计算Alink 」,获取更多机器学习干货





推荐阅读
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
author-avatar
SREFLANKCWF
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有