2014-10-08 9 views
0

svm-rank을 사용하고 있습니다.SVM 등급은 작은 데이터 집합에서만 작동합니다.

작은 데이터 세트에 svm_rank_learn을 실행 :

교육의 속성 설정 : 3 개 기능, 12 순위, 596 예

런은 몇 초에 완료 나는 유효한 모델을 얻을 수 있습니다.

교육의 속성 설정 : 내가 조금 larger dataset 사용할 때 3 개 기능, 30 순위, 1580 예

런은 반복 29 에 시간 동안 갇혀

을이 문서 이후 매우 이상하다 svm-rank는 "순위 (즉, 질의)의 수에 선형 적으로 비례합니다"라고 명시합니다.

데이터 세트 또는 형식에 어떤 문제가 있습니까? 내가 SVMrank 코딩에 오후보다 더 보내고 싶지 않았기 때문에

+0

이 문제를 재현 할 수 있습니다. 그러나 내 컴퓨터에서는 반복 24에서 멈 춥니 다. 동일한 출력을 제공하는 매개 변수를 사용하여 svm-light 코드를 실행하려고 할 수 있습니다. 그것이 거기에 붙어 있는지보십시오. – Unapiedra

+0

구성 매개 변수를 포함하여 실행 한 정확한 명령을 포함시키는 것이 좋습니다. – dmh

답변

1

그러나, 나는 각 순위의 항목의 수 (안 O [K *에서 차있는 간단한 분리 오라클 구현 log k] 분리 오라클 [Joachims, 2006]). http://www.cs.cornell.edu/people/tj/svm_light/svm_rank.html

당신은 더 많거나 적은 그래서 3으로 예의 수를 증가하고, 당신이 기대하는 그 9

[S] 인스 문서 상태의 요인에 의해 시간이 증가 그 svm-rank "는 순위 (즉, 질의)의 수에 따라 선형 적으로 조정됩니다.

순위의 수는 2보다 약간 큰 배율로 조정합니다. d는 훈련이 약 20 배 더 오래 걸릴 것으로 기대합니다.

이것은 몇 초에서 여러 시간으로가는 이유를 설명하지 않습니다.

0

귀하의 기능 값은 다른 범위에 해당합니다. 모든 피쳐의 평균 및 단위 분산이 0이되도록 샘플간에 피쳐의 크기를 조정 해보십시오. 또한 매 샘플마다 기능을 표준화하는 데 도움이됩니다. 이 두 단계는 계산 속도를 대폭 향상시킵니다.

Scikit-learn은 데이터 전처리에 대한 유용한 정보를 제공하며 쉽게 수행 할 수있는 방법을 제공합니다. 자세한 내용은 http://scikit-learn.org/stable/modules/preprocessing.html#preprocessing을 참조하십시오.