twd*_*wds 5 python scikit-learn
正如很多地方所说,对于大小为 10000 的输入数据,批量预测整个数据比逐行预测要快得多(在这两种情况下,model.n_jobs=1)。
我知道一对一的解决方案有很多开销。但是在在线服务中,请求是一个接一个地来的,很难先聚合它们然后批量预测。
另一种解决方案是仅将 scikit-learn 用于训练/验证,并开发一个项目来加载模型文件并优化一对一预测。
问题是预测项目需要知道每种模型的细节(我们可能会使用随机森林、LR 等)。
所以我的问题是有什么解决方案可以减少 sklearn 的一对一预测开销?
scikit-learn 版本:0.20.0(你可以提出任何其他版本可以解决这个问题)
小智 2
是的,sklearn 针对向量运算进行了优化。我不知道专门针对在线设置优化的代码。最好能够针对单个请求分析 sklearn 的性能。为了提高速度,随机森林等一些方法已经在 Cython 中进行了重写。但是,由于 Python 可能很慢,您可能需要用 C 重写代码来处理开销较大的部分。对于 GBDT 等方法,请考虑使用优化包(例如 xgboost)。另外,请查看这些讨论加速随机森林的幻灯片:https://www.slideshare.net/glouppe/acceleating-random-forests-in-scikitlearn
归档时间: |
|
查看次数: |
849 次 |
最近记录: |