我試圖根據他們的觀點對段落進行分類。我有60萬個文件的訓練數據。當我將它們轉換爲Tf-Idf
向量空間時,詞語作爲分析器,ngram範圍爲1-2,有近600萬個特徵。所以我必須做奇異值分解(SVD)來減少特徵。使用Scikit-Learn和具有600萬功能的Gensim的SVD
我試過gensim和sklearn的SVD功能。兩者都可以正常使用,直到100功能減少爲止,但只要我嘗試使用200個功能,它們會拋出內存錯誤。
另外我還沒有使用整個文件(60萬)作爲訓練數據,我只拿到了50000個文件。所以基本上我的訓練矩陣是: 50000 * 600萬,並希望減少到50000 *(100到500)
是否有任何其他方式我可以在Python中實現它,或者我必須實現火花mllib SVD (只寫java和scala)?如果是,那麼速度會快多少?
系統規格:32 GB RAM,4個核處理器在Ubuntu 14.04
感謝您的建議。我應該玩弄max_df和min_df參數。另外我還沒有看過哈希矢量化器,所以我會看看我能用它做什麼。 – dudefrmbgr