机器学习:libsvm数据格式
一、什么是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数据格式相关推荐
- libsvm数据格式
libsvm数据格式 libsvm数据格式 libsvm使用的训练数据和检验数据文件格式如下: [label] [index1]:[value1] [index2]:[value2] -[label] ...
- libsvm——数据格式的转换及使用
一.将.xlsx格式的数据转换为libsvm格式: 1.下载FormatDatalibsvm.xls. 下载地址:http://download.csdn.NET/detail/smilehehe11 ...
- 机器学习常见数据格式转换(xml_to_csv,csv_to_tfrecord)
- 机器学习——XGBoost大杀器,XGBoost模型原理,XGBoost参数含义
0.随机森林的思考 随机森林的决策树是分别采样建立的,各个决策树之间是相对独立的.那么,在我们得到了第k-1棵决策树之后,能否通过现有的样本和决策树的信息, 对第m颗树的建立产生有益的影响呢?在随机森 ...
- Alink如何读写Libsvm格式数据【Alink使用技巧】
LIBSVM数据格式就是LIBSVM(https://www.csie.ntu.edu.tw/~cjlin/libsvm/index.html)使用的数据格式,是机器学习领域中比较常见的一种形式.其格 ...
- 喜马拉雅基于阿里云机器学习平台PAI-HybridBackend的深度学习模型训练优化实践
喜马拉雅作者:李超.陶云.许晨昱.胡文俊.张争光.赵云鹏.张玉静 喜马拉雅AI云借助阿里云提供的HybridBackend开源框架,实现了其推荐模型在 GPU 上的高效训练. 业务介绍 推荐场景是喜马 ...
- spark机器学习中的基本数据类型
今天开始记录spark中机器学习的相关应用. spark某种意义上讲就是为机器学习准备的,其一,spark是一种内存计算框架,速度快,其二,spark更擅长处理迭代式的数据计算,而迭代运算这是机器学习 ...
- 干货 | 成为一名推荐系统工程师永远都不晚
作者 | 陈开江 责编 | 何永灿 推荐系统工程师技能树 掌握核心原理的技能 数学:微积分,统计学,线性代数 周边学科:信息论基础 推荐算法:CF,LR,SVM,FM,FTRL,GBDT,RF,SVD ...
- 【转】成为一名推荐系统工程师永远都不晚
原文链接:<干货 | 成为一名推荐系统工程师永远都不晚> 推荐系统工程师技能树 掌握核心原理的技能 数学:微积分,统计学,线性代数 周边学科:信息论基础 推荐算法:CF,LR,SVM,FM ...
最新文章
- 20220401 A满秩,B满秩,AB一定满秩
- 软件工程——图书预定系统的各层数据流图
- CSS的常用属性(二)
- ipfs c++client
- 判断手机号邮箱号和车牌号是否合法的方法
- Selinux学习笔记----术语
- 2022 年第十二届 MathorCup 高校数学建模挑战赛C题解析
- mysql数据库练习题_50道SQL练习题及答案(MySQL版)
- Arduino温控风扇
- CEO面试你时喜欢问的十六个问题
- Chrome 浏览器小恐龙游戏变身超级马利奥
- CCS中的linked resource
- 谢孟媛初级文法28 课地方副词时间副词和程度副词
- 让样本不一样重要-A Dual Weighting Label Assignment Scheme for Object Detection
- ERP发货系统的修改(四十三)
- DS18B20读取温度
- 计算机语言phal语言,2.7 PhalApi 2.x 国际化
- java代码耗尽内存_windows server 2008 环境下,运行java程序,内存耗尽问题
- 宁波大学 软件技术exp_2_1 (1)
- C++设计模式——桥接模式(高屋建瓴)