本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。