RandomForestClassifier

RandomForestClassifier

我正在尝试使用具有大约1M原始数据的Twitter情感数据从kaggle网站实现词袋模型。我已经清理过了,但是最后一部分,当我将特征向量和情感应用于随机森林分类器时,这会花费很多时间。这是我的代码...

from sklearn.ensemble import RandomForestClassifier
forest = RandomForestClassifier(n_estimators = 100,verbose=3)
forest = forest.fit( train_data_features, train["Sentiment"] )


train_data_features是1048575x5000稀疏矩阵,我尝试将其转换为数组时表示内存错误。

我在哪里做错了?有人可以建议我一些更快的来源吗?我绝对是机器学习的新手,并且没有那么多的编程背景,因此可以参考一些指南。

提前非常感谢你

最佳答案

实际上,解决方案非常简单:获得强大的机器并并行运行。默认情况下,RandomForestClassifier使用单个线程,但是由于它是完全独立模型的集合,因此您可以并行训练这100个发束中的每一个。刚设定

forest = RandomForestClassifier(n_estimators = 100,verbose=3,n_jobs=-1)


使用您所有的核心。您还可以限制max_depth,这将加快处理速度(最终,您可能会需要这两种方法,因为RF可能严重地过度拟合而对深度没有任何限制)。

08-24 23:10