我在python中使用SVR svr包实现sklearn。我的稀疏矩阵的大小为146860 x 10202.我已将其划分为大小为2500 x 10202的各种子矩阵。对于每个子矩阵,SVR拟合大约需要10分钟。 有什么方法可以加快这个过程?请建议任何不同的方法或不同的python包相同。 谢谢!
答案 0 :(得分:6)
您可以对SVR子模型预测进行平均。
或者,您可以尝试在使用Nystroem method计算的内核扩展输出上拟合线性回归模型。
或者您可以尝试其他非线性回归模型,例如随机树集合或梯度增强回归树。
编辑:我忘了说:内核SVR模型本身不可扩展,因为它的复杂性超过了二次方,因此没有办法“加速”。
编辑2 :实际上,通常使用[0, 1]
将输入变量缩放到[-1, 1]
或StandardScaler
或单位方差可以加快收敛速度位。
此外,默认参数不太可能产生良好的结果:您必须在增加大小的子样本上搜索gamma
的最佳值,也可能epsilon
,以检查在拟合大型模型之前,最佳参数的稳定性。