這裏時的設置:的MemoryError使用Python中sklearn .fit()和大稀疏矩陣(當前與布爾功能)
數量的類:1806
訓練數據長度是61499
數的功能是40473(這些目前是布爾值,雖然這可能會在某些時候發生變化)
平均而言,每個訓練數據在行中有10 1個,因此40463 0(我使用scipy的稀疏矩陣)。
我已經嘗試了各種各樣的學習習慣(linearsvc獲得最佳性能,並且sgdclassifier似乎是性能僅略低於linearsvc的最高效率)和一些降維(pca,svd),但是我懷疑我設置矩陣的方式有什麼問題? (或者只是一種更好的方式,因爲這種方法在類/特徵/數據少得多時起作用)
任何想法都不勝感激。
(編輯:也嘗試sgdclassifier的.partial_fit(),它甚至有兩個電話花了太長了,所以我沒有讓它結束)
您提到使用PCA/SVD。你是否以這樣的方式來做到這一點:所得矩陣仍然稀疏?如果您減去PCA中通常所做的平均值,您的矩陣可能不會再有任何零。 – Dougal