一、什么是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. 20220401 A满秩,B满秩,AB一定满秩
  2. 软件工程——图书预定系统的各层数据流图
  3. CSS的常用属性(二)
  4. ipfs c++client
  5. 判断手机号邮箱号和车牌号是否合法的方法
  6. Selinux学习笔记----术语
  7. 2022 年第十二届 MathorCup 高校数学建模挑战赛C题解析
  8. mysql数据库练习题_50道SQL练习题及答案(MySQL版)
  9. Arduino温控风扇
  10. CEO面试你时喜欢问的十六个问题
  11. Chrome 浏览器小恐龙游戏变身超级马利奥
  12. CCS中的linked resource
  13. 谢孟媛初级文法28 课地方副词时间副词和程度副词
  14. 让样本不一样重要-A Dual Weighting Label Assignment Scheme for Object Detection
  15. ERP发货系统的修改(四十三)
  16. DS18B20读取温度
  17. 计算机语言phal语言,2.7 PhalApi 2.x 国际化
  18. java代码耗尽内存_windows server 2008 环境下,运行java程序,内存耗尽问题
  19. 宁波大学 软件技术exp_2_1 (1)
  20. C++设计模式——桥接模式(高屋建瓴)

热门文章

  1. 11. Linux高级文件系统管理(1)
  2. 虚拟同步技术(VSG)虚拟惯量J和阻尼系数D的自适应MATLAB/Simulink仿真
  3. javascript 权威指南第7版_第七版 JavaScript 权威指南之异步
  4. HTML 列表标签、表格标签、表单标签
  5. 思科交换机更改波特率导入IOS镜像文件
  6. education 的发音
  7. 【分享】Java集合求交集、并集、差集
  8. FOJ 1683 纪念SlingShot
  9. 爬虫网页解析之css用法及实战爬取中国校花网
  10. 推荐,对BLOGER的重要性