sklearn.datasets.load_svmlight_files¶
sklearn.datasets.load_svmlight_files(files, *, n_features=None, dtype=<class 'numpy.float64'>, multilabel=False, zero_based='auto', query_id=False, offset=0, length=-1)
从SVMlight格式的多个文件加载数据集
此函数等效于将load_svmlight_file映射到文件列表上,不同之处在于结果被串联到单个平面列表中,并且样本矢量被约束为具有相同数量的特征。
如果文件包含成对的首选项约束(在svmlight格式中称为“ qid”),除非query_id参数设置为True,否则将忽略这些约束。 当使用成对损失函数时(如某些学习排序问题的情况),这些成对偏好约束可用于约束样本组合,从而仅考虑具有相同query_id值的对。
参数 | 说明 |
---|---|
files | iterable over {str, file-like, int} 要加载的(路径)文件。 如果路径以“.gz”或“.bz2”结尾,则将即时解压缩。如果传递整数,则假定它是文件描述符。类文件和文件描述符不会被此函数关闭。类文件的对象必须以二进制模式打开。 |
n_features | int or None 要使用的特征数量。如果为None,则将从任何文件中出现的最大列索引中推断出来。 可以将其设置为比任何输入文件中的特征的实际数量更高的值,但是将其设置为更低的值将导致引发异常。 |
dtype | numpy data type, default np.float64 要加载的数据集的数据类型。 这将是输出numpy数组X和y的数据类型。 |
multilabel | boolean, optional 每个样本可能都有几个标签(请参见https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/multilabel.html) |
zero_based | boolean or “auto”, optional f中的列索引是从零开始(True)还是从一开始(False)。 如果列索引基于1,则将其转换为基于0的索引,以匹配Python / NumPy约定。 如果设置为“auto”,则将应用启发式检查来从文件内容中确定。 两种文件都是“自然”出现的,但它们无法自识别。 当没有offset或length传递时,使用“auto”或True始终应该是安全的。如果传递了offset或length,则“auto”模式会退回到zero_based = True,以避免在文件的不同部分启发式检查产生不一致的结果。 |
query_id | boolean, defaults to False 如果为True,则将为每个文件返回query_id数组。 |
offset | integer, optional, default 0 通过向前查找来忽略偏移的第一个字节,然后丢弃随后的字节,直到下一个新的行字符为止。 |
length | integer, optional, default -1 如果严格正向,则一旦文件中的位置达到(offset + length)字节阈值,就停止读取任何新的数据行。 |
返回值 | 说明 |
---|---|
[X1, y1, …, Xn, yn] | 其中每个(Xi,yi)对都是load_svmlight_file(files [i])的结果。 如果query_id设置为True,则将返回[X1,y1,q1,…,Xn,yn,qn],其中(Xi,yi,qi)是load_svmlight_file(files [i])的结果 |
另见
注
当将模型拟合到矩阵X_train并针对矩阵X_test对其进行评估时,至关重要的是X_train和X_test具有相同数量的特征(X_train.shape [1] == X_test.shape [1])。 如果使用load_svmlight_file分别加载文件,则可能不是这种情况。