2017-02-20 2 views
0

필자는 Parallization n_jobs = -1 인 GridSearchCV를 통해 SVR 및 SVC 최적화를 수행하고 있는데, 제 경우에는 8입니다. 제 질문은 왜 마지막 적합과 비교하여 매우 빠르게 실행됩니까? 사진 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, Thank you. 병렬화에 문제가 있다고 생각했습니다. –

+0

@AhmadSultan 이러한 병렬 처리는 다른보다 세분화 된 접근 방식보다 훨씬 간단합니다. 물론 뭔가 잘못 될 수 있지만 종종 선형 속도 향상을 달성하는 것은 문제가되지 않습니다. – sascha

관련 문제