【发布时间】:2018-03-08 20:52:44
【问题描述】:
我正在一个大型数据集上运行一个 nu-SVR 模型,我正在使用 sklearn,但是训练花费了太多时间,我什至不使用网格搜索来寻找最佳参数,我修复了 C 和nu 参数。
clf = NuSVR(kernel="rbf",C=15.0, nu=0.3)
有没有办法加快训练速度?
【问题讨论】:
-
支持向量机的扩展性很差,样本很多,非线性内核在某种程度上禁止替代方案(例如 SGDRegressor,它可以用于线性支持向量机的海量数据)。所以不行。一般来说,您无能为力(尽管 C,nu 的某些值可能训练得更快;取决于您的数据是否好)。删除内核或寻找另一个回归量。
-
还可以先尝试标准化您的数据,这可能有助于 svm 运行得更快。
-
感谢您的回答,是的,我的数据是标准化的@VivekKumar。
-
@sascha SVM 回归器给了我最好的结果,对于我在上面给你的配置( C=15.0, nu=0.3 )花了 3 个小时来完成训练,有什么我可以做的吗,我有一个带有 8g RAM 的 i7 英特尔,这不是硬件问题
-
我已经说过:这是一个算法问题(您已经使用事实上的标准库来优化它)。
标签: python scikit-learn