tsc*_*dia 6 python machine-learning svm scikit-learn
我面临以下问题,我在训练集上运行来自 scikit-learn 库的 SVR,观察次数约为 46500,并且运行了六个多小时,直到现在。
我正在使用线性内核。
def build_linear(self):
model = SVR(kernel='linear', C=1)
return model
Run Code Online (Sandbox Code Playgroud)
我已经尝试在 1e-3 和 1000 之间更改“C”值,但没有任何变化。
poly 内核运行大约 5 分钟,但我需要评估值,可以跳过这部分...
有没有人知道如何加快速度?
非常感谢!
sas*_*cha 10
众所周知,SVM 会随着样本数量的增加而严重扩展!
代替带有线性内核的 SVR,使用LinearSVR或用于大量数据:SGDClassifier
LinearSVR 在它可以计算的内容方面受到更多限制(没有非线性内核),并且更受限制的算法通常有更多的假设,并使用这些来加速事物(或节省内存)。
SVR 基于libsvm,而 LinearSVR 基于liblinear。两者都是经过良好测试的高质量实现。
(补充一点可能很有价值:不要在像这样等待 6 小时的一般情况下浪费时间。对数据进行子采样并尝试更小、更小、......示例并从中推断运行时间或问题。编辑:似乎你已经这样做了,很好!)。