0
我試圖從kaggle網站與Twitter的情緒數據有大約100萬的原始它們實現單詞模型的袋子。我已經清理,但在最後一部分我申請我的特徵向量和情緒,以隨機森林分類它走了這麼多time.here是我的代碼...如何使RandomForestClassifier更快?
from sklearn.ensemble import RandomForestClassifier
forest = RandomForestClassifier(n_estimators = 100,verbose=3)
forest = forest.fit(train_data_features, train["Sentiment"])
train_data_features是1048575x5000稀疏matrix.I試圖將其轉換爲數組,同時進行顯示內存錯誤。
我在哪裏做錯了嗎?一些建議我一些源或另一種方式來做到這一點更快嗎?我絕對新手,在機器學習,而不是有那麼多的編程背景使一些導遊會適應。
很多感謝你提前
你幾乎肯定不需要做的大部分工作訓練對每次100萬行。這裏有一個建議:在你的1M隨機採樣中,fit()/ predict()/ score(在持續測試集上)你的問題訓練(擬合)在5萬行上。然後對100,000行進行同樣的操作。然後是150,000行等等。我敢打賭,你會看到測試成績開始趨於一致,並且明顯少於1M行。 –
即使您的問題確實顯示了性能提高,因爲您一直添加數據至1M行,上述練習可讓您估計需要多長時間運行1M行。那麼你知道它是「我需要運行這個一夜之間」問題或「這需要時間的完全不可行量」的問題。如果它是「一夜之間運行」的問題,我仍然建議你做大部分編碼/迭代你的一小部分數據,然後當你有你想要的代碼並且想要重新運行所有數據時,只需重新運行所有數據在過夜 –
最後的建議 - 5000列是巨大的。嘗試一些你會發現從谷歌搜索「sklearn降維」的方法。 –