2016-08-02 4 views
1

그래서 약 120 개의 특징과 10,000 개의 관측치가있는 데이터 프레임에서 sklearn의 SVM 분류기 (선형 커널과 확률 값은 false)를 실행하고 있습니다. 프로그램을 실행하는 데 몇 시간이 걸리며 계산 한계를 초과하여 충돌이 계속 발생합니다. 이 데이터 프레임이 너무 큰지 궁금합니다.SVM의 데이터가 너무 많습니까?

+0

선형 커널에서는 괜찮습니다 (최소한 LinearSVC에서는 커널 : 선형에서는 SVC가 확실하지 않음). 우리에게 코드를 보여줘! – sascha

답변

0

알고리즘의 매개 변수를 변경해보십시오. 이 모든 너무 크지도 않고, 아니 짧은 에서

enter image description here

+0

그는 선형 커널을 사용하고 있으므로 커널 캐시가 사용되지 않습니다! – sascha

+0

감사합니다 - 내 게시물을 업데이트했습니다 – bobo

+0

그리고 치트 시트는 그가하는 일을 정확하게 (분류 <100k 샘플 -> 선형 SVC) 권장합니다. 따라서이 정보로 얻는 것은 없습니다. – sascha

2

:

Tips on practical use from the documentation.

당신은 다른 알고리즘을 시도해 볼 수도 있습니다, 여기에 당신이 도움이 될 수있는 치트 시트입니다. 선형 svm은 훨씬 더 확장 할 수 있습니다. 반면에 libSVC 라이브러리는 그렇게 할 수 없습니다. 좋은 점은 scikit 에서조차도 대규모 SVM 구현이 있다는 것을 알 수 있습니다 - LinearSVC는 liblinear을 기반으로합니다. SGD (또한 scikitlearn에서 사용 가능)를 사용하여 해결할 수 있습니다.이 SGD는 훨씬 더 큰 데이터 세트에도 수렴 할 것입니다.

0

구현은 libsvm을 기반으로합니다. 적합 시간 복잡도는 샘플 수와 함께 2 차보다 더 많으므로 은 10000 개가 넘는 샘플을 가진 데이터 세트로 축척하기가 어렵습니다.

은 offical 한 데이터에 대한 sklearn svm theshold 10,000 샘플 그래서 SGD가 더 좋은 시도가 될 수 있습니다 말했다.

관련 문제