如何加快sklearn SVR?

时间:2013-03-23 02:16:26

标签: python svm sparse-matrix scikit-learn

我在python中使用SVR svr包实现sklearn。我的稀疏矩阵的大小为146860 x 10202.我已将其划分为大小为2500 x 10202的各种子矩阵。对于每个子矩阵,SVR拟合大约需要10分钟。 有什么方法可以加快这个过程?请建议任何不同的方法或不同的python包相同。 谢谢!

1 个答案:

答案 0 :(得分:6)

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

或者,您可以尝试在使用Nystroem method计算的内核扩展输出上拟合线性回归模型。

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

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

编辑2 :实际上,通常使用[0, 1]将输入变量缩放到[-1, 1]StandardScaler或单位方差可以加快收敛速度位。

此外,默认参数不太可能产生良好的结果:您必须在增加大小的子样本上搜索gamma的最佳值,也可能epsilon,以检查在拟合大型模型之前,最佳参数的稳定性。