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使用技巧】相关推荐

  1. Tensorflow 处理libsvm格式数据生成TFRecord (parse libsvm data to TFRecord)

    #写libsvm格式 数据 write libsvm #!/usr/bin/env python #coding=gbk # ===================================== ...

  2. PyTorch 加载超大 Libsvm 格式数据

    对于比较大的数据集,比如好几个T的数据,没有办法一次性全部加载进内存,因此需要构建一个可迭代的数据集IterableDataset. 迭代读取文本文件 要借助pytorch的IterableDatas ...

  3. java 返回 json格式_java 如何返回json格式数据,需要技巧

    今天上午给同事调了半个小时的程序,最后发现是在后台代码的java返回json格式的数据出了个错误.因此就想到了广大的初学者一开始学习jquery的时候可能会遇到这个问题.现在我就把我的给大家分享一下, ...

  4. matlab 读写其他格式数据文件(excel)

    1. excel matlab和excel 中的数据互相导入 xlswrite() mat ⇒ excel 请问怎么把大容量的mat文件导出到excel文件中 – MATLAB中文论坛 % data. ...

  5. python读excel 包含格式_python里读写excel等数据文件的几种常用方式

    python处理数据文件第一步是要读取数据,文件类型主要包括文本文件(csv.txt等).excel文件.数据库文件.api等. 下面整理下python有哪些方式可以读取数据文件. 1. python ...

  6. matlab segy文件,利用matlab实现segy格式数据的读写研究和分析.ppt

    利用matlab实现segy格式数据的读写研究和分析 2.SEGY数据格式 地震数据一般以地震道为单位进行组织,采用SEG-Y文件格式存储.SEG-Y格式是由SEG (Society of Explo ...

  7. 读取parquet_Java读写Parquet格式的数据的方法

    本篇文章主要介绍了java 读写Parquet格式的数据的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 本文介绍了java 读写Parquet格式的数据,分享给 ...

  8. 安卓手机APP读写高频RFID标签(校园卡)NDEF格式数据设计

    ** 通过手机的NFC功能是否能够读取RFID标签 ** 可以读取部分标签 RFID标签有多种类型:依据频率的不同可分为低频(LF).高频(HF).超高频(UHF).微波(MW)电子标签. 1.高频卡 ...

  9. LabVIEW读写各类格式图像的方法(基础篇—1)

    目录 1.读写各类格式图像的方法 1.1.LabVIEW集成图像读写函数 1.2.Nl Vision图像读写函数 2.小试牛刀 图像数据被采集至内存缓冲区后,机器视觉软件即可对其施加各种图像预处理.图 ...

最新文章

  1. Linux系统安全工具之NMAP
  2. Android:安卓APP开发显示一个美女,安卓APP开发显示两个美女
  3. 第1章、从零开始学Android
  4. 使用Python的随机数模块 random 实现猜数字游戏
  5. dockerfile中的run_Docker3-Dockerfile创建镜像的方法(推荐docker file这种方法)
  6. Cocos2d-X开发中国象棋《九》走棋规则
  7. 白左机器人_乔治高中 - George School | FindingSchool
  8. html底部弹出选择,jQuery手机端底部弹出菜单列表特效代码
  9. 大赛评委共论技术趋势,大咖观点干货满满!
  10. zabbix server报错:FATAL: password authentication failed for user zabbix
  11. 批处理处理当前文件路径的写法
  12. 【图像修复】基于matlab全变分TV+curvelet变换彩色图像修复【含Matlab源码 461期】
  13. 航班查询php代码,基于php的实时航班api调用代码实例
  14. PM Interview 60quiz
  15. 微软Azure 虚拟机支持多种 Linux 发行版!
  16. webdav同步书签-floccus
  17. 平面漩涡Shader
  18. python随机森林变量重要性_利用随机森林对特征重要性进行评估
  19. 政务服务一网通办云平台及智慧政务大数据资源中心建设方案
  20. 程序员如何修炼成系统分析员

热门文章

  1. ffmpeg 命令参数详解
  2. VScode 出现Timed out waiting for launcher to connet 报错如何解决
  3. 题目---汉诺塔及AI代码及八皇后
  4. openresty的开启,重启,关闭
  5. 杭州亚运会和亚残会志愿者招募-线上测试题答案题库
  6. 【计算机网络技术】根据IP地址子网掩码计算网络地址、直接广播地址、主机号以及可用IP地址的范围
  7. linux中如何撤销上次命令,linux撤销cp命令的提示
  8. bootstrap4侧边栏_如何使用纯CSS和Bootstrap 4构建多个堆叠式粘性侧边栏
  9. 仅使用CSS提高页面渲染速度
  10. 传奇人物:他在大学时就已开发Pro Metronom App,助力全球3000多万用户学习音乐!