如何加速sklearn SVR?

2024-04-15

我正在实施SVR http://en.wikipedia.org/wiki/Support_vector_machine#Regression using sklearn http://scikit-learn.org/stable/python 中的 svr 包。我的稀疏矩阵的大小为 146860 x 10202。我将其划分为大小为 2500 x 10202 的各个子矩阵。对于每个子矩阵,SVR 拟合大约需要 10 分钟。 有哪些方法可以加快这一过程?请建议任何不同的方法或不同的 python 包。 谢谢!


您可以对 SVR 子模型预测进行平均。

或者,您可以尝试在核扩展的输出上拟合线性回归模型尼斯特罗姆法 http://scikit-learn.org/dev/modules/kernel_approximation.html.

或者您可以尝试其他非线性回归模型,例如随机树集成或梯度增强回归树。

Edit:我忘了说:内核 SVR 模型本身不可扩展,因为它的复杂性超过二次方,因此无法“加速”。

Edit 2:实际上,经常将输入变量缩放为[0, 1] or [-1, 1]或使用单位方差StandardScaler可以大大加快收敛速度​​。

此外,默认参数不太可能产生良好的结果:您必须网格搜索最佳值gamma也许还有epsilon在拟合大型模型之前,先对尺寸不断增加的子样本进行分析(以检查最佳参数的稳定性)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何加速sklearn SVR? 的相关文章

随机推荐