dump_svmlight_file#

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)