2017-02-20 161 views
0

我正在通過GridSearchCV進行SVR和SVC優化,並通過parallization n_jobs = -1這在我的情況下是8,我的問題是爲什麼第一次擬合與最後一次擬合運行得非常快?如照片10212所示,23.7秒的擬合時間需要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