2017-11-23 12 views
0

다음 문제에 직면했습니다. 저는 약 46500 개의 obsevations가있는 교육 세트에서 scikit-learn 라이브러리의 SVR을 실행 중이며 지금까지 6 시간 이상 실행됩니다.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 더는 계산할 수있는 측면 (NO 비선형 커널)보다 제한된 알고리즘에 제한 일반적으로 더이 가정을하고이를 사용하여 작업 속도를 높이거나 메모리를 절약하십시오.

SVR은 libsvm을 기준으로하며 LinearSVR은 liblinear을 기준으로합니다. 둘 다 잘 테스트 된 고품질 구현입니다.

(이러한 대기 시간이 6 시간 인 일반적인 경우에는 시간 낭비하지 말고 데이터를 서브 샘플링하여 작고 작게 ... 예를 시도하고 그로부터 런타임 또는 문제를 추론하십시오. 편집 : 그것은 당신이 벌써 그랬던 것처럼 보인다!).

+0

작동합니다! SVR이 30 분을 넘는 작은 데이터 세트는 1 분 만에 실행되었습니다. – tschaefermedia

+0

힌트를 보내 주셔서 감사합니다! – tschaefermedia

+0

여러분을 환영합니다. – sascha