我有一個大的數據集(10 000
行),其中每行(樣本)由位列表(〜200 000
位)表示。每個位表示缺席或樣品中特徵的存在。因此,這是一個大的(10 000 x 200 000
)高維稀疏數據集哪個稀疏矩陣表示使用sklearn.svm.LinearSVC
爲了節省一些內存空間,對每個樣品,我只保存非零位的索引。 實施例用於與7個特徵的矢量:
[0, 0, 1, 0, 0, 1, 1] ===> [2, 5, 6]
我這樣做是爲所有的數據集。讓結果爲X
(10 000
可變大小的向量)。爲例用於初始數據集3x4
:
[[0,0,1,0], [[2],
initial_data= [0,1,1,0], ===> [1,2], = X
[0,1,0,1]] [1,3]]
每一行被標記或者在兩個標記:malignant
或benign
。 線性支持向量分類模型(sklearn.svm.LinearSVC
中的那個)在X
表示的數據上訓練。知道的是,上述模型接受稀疏輸入和有7只表示可以在SciPy
:
- csc_matrix:壓縮稀疏列格式
- csr_matrix:壓縮稀疏行格式
- bsr_matrix:塊稀疏行格式
- lil_matrix:列表格式列表
- dok_matrix:密鑰字典格式
- coo_matrix:COOrdinate格式(又名IJV,三元組格式)
- dia_matrix:對角線格式
這表示是訓練模型更有效?我怎樣纔能有效地從X
傳遞到表示?