2017-02-20 11 views
0

私は8つの場合、私の場合はparallization n_jobs = -1でGridSearchCVを介してSVRとSVCの最適化を行っている、私の質問はなぜ最後のフィットと比較して非常に速く実行されますか?写真10212のようにフィットは23.7秒かかりましたが、フィット数106764は20.7分を必要としました。線形外挿を仮定した場合にのみ4.2分でなければなりません。ここGridSeachCVの最適化が遅くなりました

はコードのサンプルです:

opt = GridSearchCV(SVR(tol=tol),param_grid=param_grid,scoring=scoring,n_jobs=n_jobs,cv=cv,verbose=verbose) 
opt.fit(allr_sets_nor[:,:2],allr_sets_nor[:,2]) 

、これは画面のログです:

enter image description here

+1

問題を再現するためのコードを投稿してください。 –

答えて

1

サポート・ベクター・マシン・ラーニングは、与えられたパラメータに大きく依存しています。

Cのようなパラメータは、サポートベクトルの数に影響を及ぼし、多くのサポートベクトル(間接的にCによって制御される)のインスタンスは、はるかにゆっくりと訓練されます。

これは、GridSearchesの基本的な警告です。

(このhere by user lejlot上の別の少しより完全なテイク)

学習アルゴリズムはまた、これにいくつかの追加の難予測可能なファクターを追加するヒューリスティックに基づいています。

+0

Okey、ありがとうございます。私はそれが並列化の問題かもしれないと思った。 –

+0

@AhmadSultanこの種の並列化は、他のより細かいアプローチよりもずっと簡単です。もちろん、何かが間違っている可能性がありますが、しばしばリニアなスピードアップを達成することは問題ではありません。 – sascha

関連する問題