如何加速sklearn中的SVR?
1 个回答
7
你可以把SVR子模型的预测结果取个平均值。
另外,你也可以尝试用线性回归模型来处理通过Nystroem方法计算出来的核扩展的输出。
或者,你可以试试其他非线性回归模型,比如随机树的组合或者梯度提升回归树。
补充说明: 我忘了说,核SVR模型本身不太适合大规模数据,因为它的复杂度超过了二次方,所以没有办法“加速”它。
补充说明 2: 其实,通常将输入变量缩放到[0, 1]
或者[-1, 1]
,或者使用StandardScaler
来调整到单位方差,可以大大加快收敛速度。
另外,默认的参数很可能不会得到好的结果:你需要在逐渐增大的样本上进行网格搜索,找到gamma
的最佳值,可能还需要调整epsilon
,以检查这些最佳参数的稳定性,然后再应用到大模型上。