2014-06-11 3 views
4

N 개의 예제 x 765 기능의 매트릭스가 있습니다. 여기에는 각 예제에 대한 N 개의 레이블 벡터가 있습니다.모델이 비어 있습니다. e1071 패키지의 SVM

SVM을 사용하여 분류하고 예측을 시도하고 있습니다. 내가 이것을 사용하여 루프에서 각 클래스의 밖으로 절반을 무작위하려고하면, 그러나

indicator<-1:(length(idx)/2) 
training <- idx[indicator] 
test<-idx[-indicator] 

:이에게 수동 반 분할을 사용하여 교육 및 검증에 전체 데이터를 분할 할 때 그것은 하나 개의 인스턴스에서 일 : 호출 할 때

indicator<-sample(idx, trunc(length(idx)/2)) 
training <- idx[indicator] 
test<-idx[-indicator] 

나는 다음과 같은 오류가 발생합니다 :

svm.model <- svm(x=training,y=trainlabels) 

Error in predict.svm(ret, xhold, decision.values = TRUE) : Model is empty! 

행렬의 크기와 라벨의 길이를 완벽하게 정상적으로하는의 SVM() 호출은 무엇 STO입니다 추 신 : ps.

trainlabels는 레이블이있는 "요소"이며 svmTraining은 행렬의 하위 집합입니다. 나는 한 번 그 오류를 가지고

답변

5

는 이유는 모든 레이블이 같은 있다고, 그리고 아무것도 이 지정되지 않은 경우, SVM은 두 클래스 분류를 수행하려고합니다. 레이블의 90 %가 A이고 반을 무작위로 선택한 경우 으로만 표시됩니다.

관련 문제