一、什么是libsvm

libsvm是一种机器学习中常见的数据保存格式,它有如下特征:

 [label] [index1]:[value1] [index2]:[value2] …[label] [index1]:[value1] [index2]:[value2] …

label  目标值,就是说class(属于哪一类),就是你要分类的种类,通常是一些整数。

index 是有顺序的索引,通常是连续的整数。就是指特征编号,必须按照升序排列

value 就是特征值,用来train的数据,通常是一堆实数组成。

即:

目标值   第一维特征编号:第一维特征值   第二维特征编号:第二维特征值 …目标值   第一维特征编号:第一维特征值   第二维特征编号:第二维特征值 ………目标值   第一维特征编号:第一维特征值   第二维特征编号:第二维特征值 …

一、libsvm文件的读取

python中使用sklearn包很容易就能读取到libsvm格式的数据

需要导入下面的包(如果没有安装sklearn的包要先自己安装):

from sklearn.datasets import load_svmlight_filedef load_data(filename):data = load_svmlight_file(filename)return datadata = load_data('yourpath/housing_scale.txt')
print(type(data))
#<class 'tuple'>print(type(data[0]))
print(data[0][0])#<class 'scipy.sparse.csr.csr_matrix'>
#   (0, 0)  -1.0
#   (0, 1)  -0.64
#   (0, 2)  -0.86437
#   (0, 3)  -1.0
#   (0, 4)  -0.37037
#   (0, 5)  0.155011
#   (0, 6)  0.283213
#   (0, 7)  -0.461594
#   (0, 8)  -1.0
#   (0, 9)  -0.583969
#   (0, 10) -0.425532
#   (0, 11) 1.0
#   (0, 12) -0.82064# 发现tuple中data[0]是csr_matrix类型

load_svmlight_file(f, n_features=None, ...)  -->    返回   <class 'tuple'>

由于libsvm格式存储的数据不保证每一行的每一列都有数据(即有数据缺省),所以返回的tuple的data[0]是一个稀疏矩阵.

如果我们想要numpy库去操纵该矩阵,需要调用:

X = data[0].toarray()
#或者
X = data[0].todense()
#或者
X = data[0].A

机器学习:libsvm数据格式相关推荐

  1. libsvm数据格式

    libsvm数据格式 libsvm数据格式 libsvm使用的训练数据和检验数据文件格式如下: [label] [index1]:[value1] [index2]:[value2] -[label] ...

  2. libsvm——数据格式的转换及使用

    一.将.xlsx格式的数据转换为libsvm格式: 1.下载FormatDatalibsvm.xls. 下载地址:http://download.csdn.NET/detail/smilehehe11 ...

  3. 机器学习常见数据格式转换(xml_to_csv,csv_to_tfrecord)

  4. 机器学习——XGBoost大杀器,XGBoost模型原理,XGBoost参数含义

    0.随机森林的思考 随机森林的决策树是分别采样建立的,各个决策树之间是相对独立的.那么,在我们得到了第k-1棵决策树之后,能否通过现有的样本和决策树的信息, 对第m颗树的建立产生有益的影响呢?在随机森 ...

  5. Alink如何读写Libsvm格式数据【Alink使用技巧】

    LIBSVM数据格式就是LIBSVM(https://www.csie.ntu.edu.tw/~cjlin/libsvm/index.html)使用的数据格式,是机器学习领域中比较常见的一种形式.其格 ...

  6. 喜马拉雅基于阿里云机器学习平台PAI-HybridBackend的深度学习模型训练优化实践

    喜马拉雅作者:李超.陶云.许晨昱.胡文俊.张争光.赵云鹏.张玉静 喜马拉雅AI云借助阿里云提供的HybridBackend开源框架,实现了其推荐模型在 GPU 上的高效训练. 业务介绍 推荐场景是喜马 ...

  7. spark机器学习中的基本数据类型

    今天开始记录spark中机器学习的相关应用. spark某种意义上讲就是为机器学习准备的,其一,spark是一种内存计算框架,速度快,其二,spark更擅长处理迭代式的数据计算,而迭代运算这是机器学习 ...

  8. 干货 | 成为一名推荐系统工程师永远都不晚

    作者 | 陈开江 责编 | 何永灿 推荐系统工程师技能树 掌握核心原理的技能 数学:微积分,统计学,线性代数 周边学科:信息论基础 推荐算法:CF,LR,SVM,FM,FTRL,GBDT,RF,SVD ...

  9. 【转】成为一名推荐系统工程师永远都不晚

    原文链接:<干货 | 成为一名推荐系统工程师永远都不晚> 推荐系统工程师技能树 掌握核心原理的技能 数学:微积分,统计学,线性代数 周边学科:信息论基础 推荐算法:CF,LR,SVM,FM ...

最新文章

  1. 在php中_post啥意思,php中$_post什么意思
  2. 三线表是什么?R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、通过topclass参数自定义三线表表格的显示形式(显示为类似斑马线、并将所有列居中,包括包含行标签的第一列)
  3. Google Guava官方教程
  4. 几种简单的滤波方式(未完)
  5. maven工程如何引用css和js文件
  6. 【教程】如何给Eclipse中添加库(jar包)
  7. msyql 禁止远程访问
  8. htonl(), ntohl(), htons(), ntohs() 函数
  9. LeetCode 1203. 项目管理(两次拓扑排序)
  10. move_uploaded_file返回false但实际成功_023 Spring Boot 搭建实际项目开发框架
  11. 计算机应用基础课件教学大赛,全国“XX杯”说课大赛计算机应用基础类优秀作品:设置IP地址教学课件.ppt...
  12. Django中render、render_to_response、HttpResponse、JsonResponse、Response的使用
  13. 单词语音音标正则式查询分析JavaScript应用
  14. 微软云存储更换品牌 免费空间将翻番达到15GB
  15. Python 相异性矩阵计算
  16. no matching provisioning profile found
  17. 【PicGo】解决picgo+github图床上传的各种问题
  18. oracle 无效连接,Oracle SQL多重连接与重复记录或“无效标识符”
  19. 如何做好一个IT项目经理? (一)
  20. 运动场球具的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告

热门文章

  1. Handler、Thread、HandlerThread三者的区别
  2. opentracing-02 dapper论文词汇摘要
  3. 教师计算机操作学校总结,计算机教师期末教学工作总结
  4. python求组合数c_python实现排列组合公式C(m,n)求值
  5. C语言写个简单的虚拟机
  6. linux 时间 偏差,【转】Linux系统时间偏差的纠正 adjtimex
  7. adjtimex简介
  8. 中班游戏电子计算机,5个适合中班的室内游戏
  9. Oracle建表时提示标识符无效
  10. 数据结构实验报告(二)简单计算器(中缀转后缀)