SciKit Learn SVR 运行时间很长

SciKit Learn SVR runs very long

我面临以下问题,我是 运行 来自训练集的 scikit-learn 库的 SVR,大约有 46500 个观察值,它运行了六个多小时,直到现在。

我正在使用线性内核。

def build_linear(self):
    model = SVR(kernel='linear', C=1)
    return model

我已经尝试在 1e-3 和 1000 之间更改 "C" 值,但没有任何变化。

poly 内核运行大约 5 分钟,但我需要评估值,可以跳过这部分...

有人知道如何加快速度吗?

非常感谢!

众所周知,SVM 无法随样本数量扩展!

使用 LinearSVR or for huge data: SGDClassifier

而不是具有线性内核的 SVR

LinearSVR 在计算方面受到更多限制(无非线性内核),限制更多的算法通常有更多假设并使用这些假设来加速(或节省内存)。

SVR 基于 libsvm, while LinearSVR is based on liblinear。两者都是经过良好测试的高质量实现。

(添加可能很有价值:不要在一般情况下浪费时间,例如等待 6 小时。对数据进行子采样并尝试更小、更小……示例并从中推断出运行时间或问题. 编辑:看来你已经这样做了,很好!)。