本文简要介绍python语言中 sklearn.datasets.load_svmlight_file
的用法。
用法:
sklearn.datasets.load_svmlight_file(f, *, n_features=None, dtype=<class 'numpy.float64'>, multilabel=False, zero_based='auto', query_id=False, offset=0, length=-1)
将 svmlight /libsvm 格式的数据集加载到稀疏 CSR 矩阵中
此格式是基于文本的格式,每行一个样本。它不存储零值特征,因此适用于稀疏数据集。
每行的第一个元素可用于存储要预测的目标变量。
此格式用作 svmlight 和 libsvm 命令行程序的默认格式。
解析基于文本的源可能会很昂贵。当重复处理同一个数据集时,建议使用 joblib.Memory.cache 包装此加载器,以存储第一次调用的 CSR 结果的 memmapped 备份,并从后续调用的 memmapped 结构的近乎瞬时加载中受益。
如果文件包含成对首选项约束(在 svmlight 格式中称为 “qid”),除非 query_id 参数设置为 True,否则这些将被忽略。在使用成对损失函数时,这些成对偏好约束可用于约束样本的组合(就像某些学习排序问题的情况一样),以便只考虑具有相同 query_id 值的对。
这个实现是用 Cython 编写的,速度相当快。但是,更快的 API-compatible 加载程序也可在以下位置获得:
- f:str、file-like 或int
(路径)要加载的文件。如果路径以“.gz” 或“.bz2” 结尾,它将被即时解压缩。如果传递了一个整数,则假定它是一个文件说明符。此函数不会关闭file-like 或文件说明符。 file-like 对象必须以二进制模式打开。
- n_features:整数,默认=无
要使用的函数数量。如果没有,将被推断。此参数对于加载作为更大切片数据集子集的多个文件很有用:每个子集可能没有每个特征的示例,因此推断的形状可能因切片而异。仅当
offset
或length
传递了非默认值时才需要 n_features。- dtype:numpy 数据类型,默认=np.float64
要加载的数据集的数据类型。这将是输出 numpy 数组
X
和y
的数据类型。- multilabel:布尔,默认=假
每个样本可能有多个标签(请参阅https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/multilabel.html)
- zero_based:布尔或“auto”,默认=”auto”
f 中的列索引是从零开始 (True) 还是从一开始 (False)。如果列索引是从 1 开始的,它们将被转换为从 0 开始以匹配 Python/NumPy 约定。如果设置为“auto”,则会应用启发式检查从文件内容中确定这一点。这两种文件都出现“in the wild”,但不幸的是它们不是self-identifying。当没有通过
offset
或length
时,使用 “auto” 或 True 应该始终是安全的。如果通过了offset
或length
,则“auto” 模式回退到zero_based=True
以避免启发式检查在文件的不同段上产生不一致的结果。- query_id:布尔,默认=假
如果为 True,将为每个文件返回 query_id 数组。
- offset:整数,默认=0
通过向前搜索忽略偏移量的第一个字节,然后丢弃后面的字节直到下一个换行符。
- length:整数,默认=-1
如果严格肯定,一旦文件中的位置达到(偏移量+长度)字节阈值,就停止读取任何新的数据行。
- X:scipy.sparse 形状矩阵 (n_samples, n_features)
- y:ndarray 的形状(n_samples,),或者,在多标签列表
长度为 n_samples 的元组。
- query_id:形状数组 (n_samples,)
每个样本的query_id。仅当 query_id 设置为 True 时返回。
参数:
返回:
例子:
要使用 joblib.Memory 缓存 svmlight 文件:
from joblib import Memory from .datasets import load_svmlight_file mem = Memory("./mycache") @mem.cache def get_data(): data = load_svmlight_file("mysvmlightfile") return data[0], data[1] X, y = get_data()
相关用法
- Python sklearn load_sample_image用法及代码示例
- Python sklearn load_sample_images用法及代码示例
- Python sklearn load_iris用法及代码示例
- Python sklearn load_breast_cancer用法及代码示例
- Python sklearn load_digits用法及代码示例
- Python sklearn load_boston用法及代码示例
- Python sklearn load_wine用法及代码示例
- Python sklearn log_loss用法及代码示例
- Python sklearn lasso_path用法及代码示例
- Python sklearn label_binarize用法及代码示例
- Python sklearn laplacian_kernel用法及代码示例
- Python sklearn label_ranking_average_precision_score用法及代码示例
- Python sklearn lars_path用法及代码示例
- Python sklearn lars_path_gram用法及代码示例
- Python sklearn jaccard_score用法及代码示例
- Python sklearn WhiteKernel用法及代码示例
- Python sklearn CalibrationDisplay.from_predictions用法及代码示例
- Python sklearn VotingRegressor用法及代码示例
- Python sklearn gen_batches用法及代码示例
- Python sklearn ExpSineSquared用法及代码示例
- Python sklearn MDS用法及代码示例
- Python sklearn adjusted_rand_score用法及代码示例
- Python sklearn MLPClassifier用法及代码示例
- Python sklearn train_test_split用法及代码示例
- Python sklearn RandomTreesEmbedding用法及代码示例
注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.datasets.load_svmlight_file。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。