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

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

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

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

 

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



   1个回答 
2

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

另外你保存的时候,设置一下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


  相关主题

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

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

决策树可以做多元分类吗?   1回答

剪枝是什么意思   1回答

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

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

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

决策树、随机森林中的多重共线性问题   3回答

决策树的深度和数据特征个数的关系   1回答

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

gbdt为什么需要泰勒公式展开进行节点分裂计算   2回答

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



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

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

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

我们谢绝答非所问。

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

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