我只能用这个超慢的模型每秒进行2-3次预测。
使用LinearRegression
模型时,我可以轻松实现40倍的加速。
我使用scikit-learn
python包,其中包含一个包含3列(day
,hour
和result
的非常简单的数据集,因此基本上有2个功能。 />
day
和hour
是分类变量
当然,有7个day
和24个hour
类别
训练样本相对较小(cca 5000样本)
训练它需要一个露秒
但是,当我继续预测某些事情时,它非常缓慢。
所以我的问题是:RandomForrestRegressor
的这个基本特征还是我可以真正做些什么呢?
from sklearn.ensemble import RandomForestRegressor
model = RandomForestRegressor(n_estimators=100,
max_features='auto',
oob_score=True,
n_jobs=-1,
random_state=42,
min_samples_leaf=2)
答案 0 :(得分:1)
以下是使用sklearn优化RandomForest的一些步骤
predict()
来进行批量预测。这样可以减少Python的开销。min_samples_leaf
或min_samples_split
的东西来避免有很多小的决策节点。要使用训练集的5%,请使用0.05
。n_estimators=10
就可以执行OK。必须使用交叉验证或类似方法来验证优化模型的性能。步骤2和步骤3是相关的,因此可以进行网格搜索以找到最能保持模型性能的组合。