Alink如何读写Libsvm格式数据【Alink使用技巧】
LIBSVM数据格式就是LIBSVM(https://www.csie.ntu.edu.tw/~cjlin/libsvm/index.html)使用的数据格式,是机器学习领域中比较常见的一种形式。其格式定义如下:
<label> <index1>:<value1> <index2>:<value2> ...
第一项<label> 是训练数据集的目标值,对于分类问题,用整数做为类别的标识(对于2分类,多用{0,1}或者{-1,1}表示;对于多分类问题,常用连续的整数,譬如用{1,2,3}表示3分类的各个类别);对于回归问题,目标值是实数。其后是由若干索引<index>和数值<value>对(以冒号“:”作为分隔符)构成,各项以空格作为分隔符。索引<index>是以1开始的整数,可以是不连续的;数值<value>为实数。
下面是几条符合LIBSVM格式的数据。
1 1:-0.555556 2:0.5 3:-0.79661 4:-0.916667
1 1:-0.833333 3:-0.864407 4:-0.916667
1 1:-0.444444 2:0.416667 3:-0.830508 4:-0.916667
1 1:-0.611111 2:0.0833333 3:-0.864407 4:-0.916667
2 1:0.5 3:0.254237 4:0.0833333
2 1:0.166667 3:0.186441 4:0.166667
2 1:0.444444 2:-0.0833334 3:0.322034 4:0.166667
注意这条数据:
2 1:0.5 3:0.254237 4:0.0833333
没有索引值为2的项,表明第2个特征值为0。
我们将https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/multiclass/iris.scale下载到本地,命名为iris.scale.libsvm。通过调用LibSvmSourceBatchOp读取数据,只需指定一个参数,即文件的路径。并取其前3条数据进行打印显示。
iris_libsvm = LibSvmSourceBatchOp()\.setFilePath("/Users/yangxu/alink/data/iris/iris.scale.libsvm")
iris_libsvm.firstN(3).print()
输出结果如下,最左边为打印显示的数据索引号,接下来是数据的标签列(列名自动命名为label),然后是数据的特征数据列(列名自动命名为features)。
下面,我们对原始的数据采样10条数据,然后使用LibSvmSinkBatchOp保存采样的结果,注意,这里除了保存的路径还要指定三个参数,前两个是数据的标签列名称和特征数据列名称,最后一个参数OverwriteSink,表示保存操作执行时,如果目标文件已经存在,是否进行覆盖。在脚本的最后,调用BatchOperator.execute(),执行任务。
iris_libsvm \
.sampleWithSize(10) \
.link(LibSvmSinkBatchOp()\.setFilePath("/Users/yangxu/alink/data/iris/iris.scale.sample.libsvm")\.setLabelCol('label')\.setVectorCol('features')\.setOverwriteSink(True)
)BatchOperator.execute()
最后,我们验证一下保存的结果文件,即读取iris.scale.sample.libsvm并打印输出。
LibSvmSourceBatchOp().setFilePath("/Users/yangxu/alink/data/iris/iris.scale.sample.libsvm").print()
输出结果为:
Alink如何读写Libsvm格式数据【Alink使用技巧】相关推荐
- Tensorflow 处理libsvm格式数据生成TFRecord (parse libsvm data to TFRecord)
#写libsvm格式 数据 write libsvm #!/usr/bin/env python #coding=gbk # ===================================== ...
- PyTorch 加载超大 Libsvm 格式数据
对于比较大的数据集,比如好几个T的数据,没有办法一次性全部加载进内存,因此需要构建一个可迭代的数据集IterableDataset. 迭代读取文本文件 要借助pytorch的IterableDatas ...
- java 返回 json格式_java 如何返回json格式数据,需要技巧
今天上午给同事调了半个小时的程序,最后发现是在后台代码的java返回json格式的数据出了个错误.因此就想到了广大的初学者一开始学习jquery的时候可能会遇到这个问题.现在我就把我的给大家分享一下, ...
- matlab 读写其他格式数据文件(excel)
1. excel matlab和excel 中的数据互相导入 xlswrite() mat ⇒ excel 请问怎么把大容量的mat文件导出到excel文件中 – MATLAB中文论坛 % data. ...
- python读excel 包含格式_python里读写excel等数据文件的几种常用方式
python处理数据文件第一步是要读取数据,文件类型主要包括文本文件(csv.txt等).excel文件.数据库文件.api等. 下面整理下python有哪些方式可以读取数据文件. 1. python ...
- matlab segy文件,利用matlab实现segy格式数据的读写研究和分析.ppt
利用matlab实现segy格式数据的读写研究和分析 2.SEGY数据格式 地震数据一般以地震道为单位进行组织,采用SEG-Y文件格式存储.SEG-Y格式是由SEG (Society of Explo ...
- 读取parquet_Java读写Parquet格式的数据的方法
本篇文章主要介绍了java 读写Parquet格式的数据的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 本文介绍了java 读写Parquet格式的数据,分享给 ...
- 安卓手机APP读写高频RFID标签(校园卡)NDEF格式数据设计
** 通过手机的NFC功能是否能够读取RFID标签 ** 可以读取部分标签 RFID标签有多种类型:依据频率的不同可分为低频(LF).高频(HF).超高频(UHF).微波(MW)电子标签. 1.高频卡 ...
- LabVIEW读写各类格式图像的方法(基础篇—1)
目录 1.读写各类格式图像的方法 1.1.LabVIEW集成图像读写函数 1.2.Nl Vision图像读写函数 2.小试牛刀 图像数据被采集至内存缓冲区后,机器视觉软件即可对其施加各种图像预处理.图 ...
最新文章
- Linux系统安全工具之NMAP
- Android:安卓APP开发显示一个美女,安卓APP开发显示两个美女
- 第1章、从零开始学Android
- 使用Python的随机数模块 random 实现猜数字游戏
- dockerfile中的run_Docker3-Dockerfile创建镜像的方法(推荐docker file这种方法)
- Cocos2d-X开发中国象棋《九》走棋规则
- 白左机器人_乔治高中 - George School | FindingSchool
- html底部弹出选择,jQuery手机端底部弹出菜单列表特效代码
- 大赛评委共论技术趋势,大咖观点干货满满!
- zabbix server报错:FATAL: password authentication failed for user zabbix
- 批处理处理当前文件路径的写法
- 【图像修复】基于matlab全变分TV+curvelet变换彩色图像修复【含Matlab源码 461期】
- 航班查询php代码,基于php的实时航班api调用代码实例
- PM Interview 60quiz
- 微软Azure 虚拟机支持多种 Linux 发行版!
- webdav同步书签-floccus
- 平面漩涡Shader
- python随机森林变量重要性_利用随机森林对特征重要性进行评估
- 政务服务一网通办云平台及智慧政务大数据资源中心建设方案
- 程序员如何修炼成系统分析员
热门文章
- ffmpeg 命令参数详解
- VScode 出现Timed out waiting for launcher to connet 报错如何解决
- 题目---汉诺塔及AI代码及八皇后
- openresty的开启,重启,关闭
- 杭州亚运会和亚残会志愿者招募-线上测试题答案题库
- 【计算机网络技术】根据IP地址子网掩码计算网络地址、直接广播地址、主机号以及可用IP地址的范围
- linux中如何撤销上次命令,linux撤销cp命令的提示
- bootstrap4侧边栏_如何使用纯CSS和Bootstrap 4构建多个堆叠式粘性侧边栏
- 仅使用CSS提高页面渲染速度
- 传奇人物:他在大学时就已开发Pro Metronom App,助力全球3000多万用户学习音乐!