2017-12-31 81 views
0

나는 예측을하기 위해 svm 분류자를 훈련시키고있다. 훈련 된 모델을 사용하려고하면 테스트 데이터가 모델과 일치하지 않습니다. 나는 이것이 일어나고있는 이유가 아닙니다. 이이 오류 뒤에 이유는 내가 훈련에서 관찰의 ID와 SVM 분류기를 혼동 한 테스트 데이터를 포함한다는 것입니다 내 코드svm 오류 테스트 데이터가 모델과 일치하지 않습니까?

# to prepare the training and testing data 
dat = data.frame(x = rbind(tmp1, tmp2), y = as.factor(c(rep(1, 300), rep(-1, 300)))) 
set.seed(1) 
train_ind = sample(seq_len(nrow(dat)), size = 500) 
train = dat[train_ind, ] 
test = dat[-train_ind, ] 

# training and prediction 
library('e1071') 
svmfit = svm(y ~ ., data = train, kernel ='linear', cost = 10, scale = FALSE) 
ypred = predict(svmfit, test) 
table(predict=ypred, truth = test$y) 

답변

0

입니다. 관찰의 ID는 첫 번째 열에 있습니다. 따라서 교육 및 테스트에서 첫 번째 열을 제거하면 효과적이었습니다.