2017-11-23 11 views
0

私は以下の問題に直面しています。私は約46500個のobsevationsを持つトレーニングセットでscikit-learnライブラリからSVRを実行しています。SciKit Learn SVRが非常に長く実行する

私はリニアカーネルを使用しています。

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

すでに「1e-3」と「1000」の間の「C」値を変更しようとしましたが、変更はありません。

ポリカーネルは約5分で実行されますが、私は評価のための値を必要とし、この部分をスキップすることができます...

は、誰もがこれをスピードアップするためにどのようにアイデアを得ていますか?

ありがとうございます!

答えて

1

SVMは、サンプル数によってひどく変化することが知られています!線形カーネルを持つ代わりに、SVRの

LinearSVRや膨大なデータのために使用します。 SGDClassifier

LinearSVRは、より多くのそれが計算できるかという点(無非線形カーネル)と、より制限されたアルゴリズムに制限されている通常より多くを持っていますそれらを高速化する(またはメモリを節約する)ためにこれらを使用します。

SVRはlibsvmに基づいており、LinearSVRはliblinearに基づいています。両方とも、十分にテストされた高品質な実装です。

(このような6時間のような一般的なケースでは、時間を無駄にしないでください)データをサブサンプルし、小さく、小さく小さくしてみて、ランタイムや問題を推測してください。編集:あなたはすでにそれをやったようですね!)。

+0

これは機能します。 30分を超えるSVRで、より小さなデータセットが1分で実行されました。 – tschaefermedia

+0

ヒントをありがとう! – tschaefermedia

+0

ようこそ。 – sascha

関連する問題