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分別加載文件,則可能不是這種情況。