机器学习 基础教程

机器学习 集成学习

机器学习 笔记

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/ml-python-how-to-load-libsvm-file.html

python 加载读取 libsvm 文件的几种方法

机器学习 笔记 机器学习 笔记


用 python 机器学习库训练测试样本时,往往会用到经过特征处理之后的 libsvm 格式的样本数据,这里列出了加载读取 libsvm 数据的几种方法。

加载方式

为了便于演示,创建 libsvm_demo.txt 示例文件,文件内容如下:

1 1:0 2:1 3:0 4:1 5:0.87654
0 1:0 2:0 3:1 4:0 5:0.25643
1 1:0 2:0 3:0 4:1 5:0.78945
0 1:0 2:0 3:1 4:0 5:0.12457
0 1:1 2:0 3:0 4:0 5:0.29856

sklearn 的 datasets 模块的 load_svmlight_file 函数

scikit-learn 的 datasets 模块提供了加载 libsvm 格式数据的函数 load_svmlight_file,也可以通过 load_svmlight_files 函数加载多个文件。

加载如上文件代码如下:

from sklearn.datasets import load_svmlight_file

data = load_svmlight_file('libsvm_demo.txt')

print('data type →→→', type(data))
print('data len →→→', len(data))
print('data 0 type →→→', type(data[0]))
print('data 1 type →→→', type(data[1]))
print('↓↓↓ data[0] ↓↓↓')
print(data[0])
print('↓↓↓ data[1] ↓↓↓')
print(data[1])

输出如下:

data type →→→ <class 'tuple'>
data len →→→ 2
data 0 type →→→ <class 'scipy.sparse.csr.csr_matrix'>
data 1 type →→→ <class 'numpy.ndarray'>
↓↓↓ data[0] ↓↓↓
  (0, 0)	0.0
  (0, 1)	1.0
  (0, 2)	0.0
  (0, 3)	1.0
  (0, 4)	0.87654
  (1, 0)	0.0
  (1, 1)	0.0
  (1, 2)	1.0
  (1, 3)	0.0
  (1, 4)	0.25643
  (2, 0)	0.0
  (2, 1)	0.0
  (2, 2)	0.0
  (2, 3)	1.0
  (2, 4)	0.78945
  (3, 0)	0.0
  (3, 1)	0.0
  (3, 2)	1.0
  (3, 3)	0.0
  (3, 4)	0.12457
  (4, 0)	1.0
  (4, 1)	0.0
  (4, 2)	0.0
  (4, 3)	0.0
  (4, 4)	0.29856
↓↓↓ data[1] ↓↓↓
[1. 0. 1. 0. 0.]

从输出的内容可以看出,load_svmlight_file 函数返回的数据类型是元组(tuple),长度是 2,第一个特征数据,scipy.sparse.csr.csr_matrix 稀疏矩阵类型,第二个是标签数据,numpy.ndarray 类型。

 

python 读取 csv 形式的数据,有非常多的方式,这里主要介绍常用的几种方式,从基于标准库到 pandas 等开源库自带的函数。 ...
以下是一些常见的文件读取方式以及它们的详细步骤流程,包括使用第三方库的情况:###使用FileInputStream和FileOutputS ...
###使用ApacheCommonsNet库ApacheCommonsNet是一个常用的Java库,它提供了FTP客户端的功能。步骤流程:添 ...
下面我将详细介绍每种方式的步骤和示例代码,并为每种方式提供Maven和Gradle的依赖坐标(如果需要)。示例代码:Maven依赖坐标:Gr ...
###方法一:使用datetime模块###方法二:使用dateutil库###方法三:使用calendar库###总结这些方法在实现日期加 ...