[英]SVD using Scikit-Learn and Gensim with 6 million features
我試圖根據他們的情緒對段落進行分類。 我有60萬份文件的培訓數據。 當我將它們轉換為Tf-Idf
向量空間時,單詞作為分析器,ngram范圍為1-2,有近600萬個特征。 所以我必須做奇異值分解(SVD)來減少特征。
我嘗試過gensim和sklearn的SVD功能。 兩者都可以正常工作,直到100減少功能,但是當我嘗試200個功能時,它們會引發內存錯誤。
另外我還沒有使用整個文檔(60萬)作為訓練數據,我只采用了50000個文檔。 基本上我的訓練矩陣是:50000 * 600萬,並希望將其減少到50000 *(100到500)
有沒有其他方法可以在python中實現它,或者我是否必須實現sparks mllib SVD(僅針對java和scala編寫)? 如果是的話,會有多快?
系統規格:ubuntu 14.04上帶有4個核心處理器的32 Gb RAM
我真的不明白為什么使用spark mllib SVD可以提高性能或避免內存錯誤。 您只需超過RAM的大小。 你有一些選擇來處理:
你也應該展示你的代碼示例,你可能在你的python代碼中做錯了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.