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

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

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

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

 

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



   3个回答 
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
0

随机森林一般深度不要超过10,不然每棵树过拟合严重,而且就会有你遇到的问题,模型太大,不管是调用还是存储都是问题。

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

abuu   2020-12-06 12:27

0

我觉得模型选择上挺好的,随机森林固有的两类随机性可以很好的处理特征较多的情况,但是深度有些大了,过拟合有很大的概率会出现,可读性也不会太好。


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

Cypher   2020-12-11 15:53



  相关主题

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

决策树剪枝有什么策略或者注意事项?   2回答

Extra Tree算法   1回答

python里实现一个简单的决策树   1回答

剪枝是什么意思   1回答

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

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

Gradient tree boosting和random forest (随机森林) 有什么区别和联系   1回答

关于knn算法中kd树的问题   1回答

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

请问针对Adaboost、GBDT等集成学习同一个特征是否可以入模多次?   1回答

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



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

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

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

我们谢绝答非所问。

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

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