【问题标题】:How to speed up sklearn SVR?如何加快sklearn SVR?
【发布时间】:2013-03-13 00:53:40
【问题描述】:

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

【问题讨论】:

    标签: python svm sparse-matrix scikit-learn


    【解决方案1】:

    您可以平均 SVR 子模型的预测。

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

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

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

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

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

    【讨论】:

    • 谢谢。最后我等了 10 个小时才完成 SVR 的安装,因为这是一项任务。我会尝试你建议的其他回归模型。
    猜你喜欢
    • 2018-09-21
    • 2016-12-20
    • 2013-10-06
    • 2021-12-16
    • 1970-01-01
    • 2021-05-24
    • 1970-01-01
    • 2023-04-07
    • 2017-01-03
    相关资源
    最近更新 更多