gpt4 book ai didi

python - RandomForestRegressor predict() 从根本上来说是慢的吗?

转载 作者:太空宇宙 更新时间:2023-11-04 05:05:31 28 4
gpt4 key购买 nike

我每秒只能用这个超慢的模型做出 2-3 次预测。使用 LinearRegression 模型时,我可以轻松实现 40 倍的加速。

我正在使用 scikit-learn python 包和一个非常简单的数据集,其中包含 3 列(dayhourresult ) 所以基本上有 2 个特征。
dayhour 是分类变量。
自然有 7 个day 和 24 个hour 类别。
训练样本相对较小(大约 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)

最佳答案

以下是使用 sklearn 优化随机森林的一些步骤

  1. 通过将多个数据点传递给 predict() 来进行批量预测。这减少了 Python 开销。
  2. 减少树木的深度。使用类似 min_samples_leafmin_samples_split 的东西来避免有很多小决策节点。要使用 5% 的训练集,请使用 0.05
  3. 减少树木的数量。通过对树进行一些修剪,RF 通常只需 n_estimators=10 即可正常执行。
  4. 使用优化的 RF 推理实现,例如 emtrees .最后要尝试的事情,也取决于先前的步骤才能表现良好。

必须使用交叉验证或类似方法验证优化模型的性能。第 2 步和第 3 步是相关的,因此可以进行网格搜索以找到最能保持模型性能的组合。

关于python - RandomForestRegressor predict() 从根本上来说是慢的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44611983/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com