以SVMlight/libsvm格式保存数据集#

sklearn.datasets.dump_svmlight_file(X, y, f, *, zero_based=True, comment=None, query_id=None, multilabel=False)[source]#

将数据集保存为svmlight/libsvm文件格式。

这种格式是一种文本格式,每行一个样本。它不存储零值特征,因此适用于稀疏数据集。

每一行的第一个元素可以用来存储要预测的目标变量。

参数:
X形状为(n_samples, n_features)的{数组、稀疏矩阵}

训练向量,其中n_samples是样本数,n_features是特征数。

y形状为(n_samples,)或(n_samples, n_labels)的{数组、稀疏矩阵}

目标值。对于多标签分类,类别标签必须是整数或浮点数,或者整数或浮点数的数组类对象。

f二进制模式下的字符串或类文件对象

如果为字符串,则指定包含数据的路径。如果为类文件对象,则数据将写入f。f 应以二进制模式打开。

zero_based布尔值,默认为True

列索引是否应设置为从零开始(True)还是从一开始(False)。

comment字符串或字节,默认为None

要在文件顶部插入的注释。这应该是一个 Unicode 字符串(将被编码为 UTF-8),或者一个 ASCII 字节字符串。如果提供了注释,则会在其前面加上一个注释,标识该文件是由 scikit-learn 转储的。请注意,并非所有工具都理解 SVMlight 文件中的注释。

query_id形状为 (n_samples,) 的类数组,默认为 None

包含成对偏好约束的数组(svmlight 格式中的 qid)。

multilabel布尔值,默认为 False

样本可能各有几个标签(参见 https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/multilabel.html)。

0.17 版本中新增: 参数 multilabel 用于支持多标签数据集。

示例

>>> from sklearn.datasets import dump_svmlight_file, make_classification
>>> X, y = make_classification(random_state=0)
>>> output_file = "my_dataset.svmlight"
>>> dump_svmlight_file(X, y, output_file)