随机森林的模型一般都很大么?

  统计/机器学习 监督式学习 Python    浏览次数:428        分享
0

就是10w条+特征数据max_depth=30,n_estimators=500

跑出来了800M大小模型,load都慢。。。

 

莫莫莫i   2019-05-08 09:51



   1个回答 
3

你这个森林深度有点大啊,如果你把深度调小点,效果应该差不多。

另外你保存的时候,设置一下compress参数应该会减小很多空间

from sklearn.externals import joblib
joblib.dump(my_rf_model, "rf.pkl", compress=9)
#my_rf_model是你训练好的模型

compress的值是0到9之间,越大表示压缩程度越高。

SofaSofa数据科学社区DS面试题库 DS面经

strong.man   2019-05-08 11:38

您好,调整了一下测试 确实小了很多,参数为(max_depth=30,n_estimators=500, min_samples_leaf= 5),10W条数据 compress=0时是300M+,compress=9时是50M+,这边数据量是有500W+如果按照这个比例的话其实压缩比是6倍左右,还是挺大的,请问下面的只能调整深度参数来解决了么? - 莫莫莫i   2019-05-08 16:02
你的模型还是挺大的,最大深度为30,就意味着一棵树最多有2^29个分叉,2^30个叶节点。你的数据只有10万,应该是不需要这么大的深度。同时min_sample_leaf可能也要调整。有时候为了模型压缩牺牲一点精度是ok的。 - strong.man   2019-05-08 21:38


  相关主题

怎么得到randomforestregressor里每棵树的预测结果?   1回答

Extra Tree算法   1回答

决策树算法ID3,C4.5和CART的特点、异同?   3回答

怎么理解RandomForest中的max_features?   1回答

决策树是如何得到量化的概率,不只是0或1的标签?   2回答

Adaboost里的树有没有可能权重是负数?   1回答

决策树怎么做增量学习或者online学习?   1回答

剪枝是什么意思   1回答

如果采用非等权重的方法集成一个随机森林,会表现得更好嘛?   1回答

随机森林是如何计算测试样本的概率的?   1回答

随机森林警告:A column-vector y was passed when a 1d array was expected   1回答

为什么随机森林比决策树更robust?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!