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. 【matlab】第二章基本使用方法
  2. 论坛报名 | 数理基础:人工智能的重大理论挑战和最新成果
  3. 第88天:HTML5中使用classList操作css类
  4. 不同的二叉搜索树-战胜100%的Java用户
  5. CC控制服务的设计和侦测方法综述——DDoS攻击,上传从宿主机偷窃的到的信息,定时给感染机文件加密勒索等。...
  6. mysql flush 使用
  7. Java异常类(Throwable)
  8. 4.3英寸屏双核 LG Prada K2通过FCC认证
  9. LeetCode 1333. 餐厅过滤器(Lambda排序)
  10. 技术动态 | eBay开源分布式知识图谱存储Beam,支持类SPARQL查询
  11. AI实战!开源一个机器学习/情感分析实战项目(附源码/教程)|湾区人工智能...
  12. Oracle数据库用户名密码【转载自百度经验】
  13. Arcgis Javascript那些事儿(一)--Arcgis server发布feature access服务
  14. 大数据分析为啥越来越重要
  15. Android NDK开发之 NDK 局部 全局引用
  16. php类的实例化方法吗,php实例化一个类的具体方法
  17. 最新小米线刷救砖工具分享+支持全系通用
  18. RecyclerView实现京东分类联动效果
  19. oracle insert提高速度,如何提高oracle的insert速度
  20. jquery的图片播放插件 - colorbox

热门文章

  1. 【动态规划】洛谷P2196 挖地雷
  2. 程序员的计算机英语词汇1500词!
  3. python用于获取用户输入的函数是_在Python函数中,用于获取用户输入的是( )...
  4. 【C语言】——删除多余的空格
  5. 因路径乱码使InstallShield Wizard安装包打开“出现1155错误,文件xxx.msi未找到“的解决方式
  6. vue组件通信 - 父向子传、子向父传 (详细步骤)
  7. 倒计时2天!TO B人的传统节日,2023年22客户节(22DAY)
  8. 【视频】面试一年大厂经验Java程序员,回答不是很满意与18KOffer失之交臂 生活日常
  9. 计算机软件流控制com,电脑控(com.pw.pccontrol) - 2.7.1 - 应用 - 酷安
  10. 微信小程序wx.request电脑端正常,手机端失败解决方法。