以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)