이것은 매우 기본적인 질문 인 것 같습니다. 그러나 어디에서나 답을 찾을 수없는 것 같습니다. SVM과 ML에 익숙하지 않고 간단한 연습을하려고하지만 결과가 일치하지 않는 것 같습니다. 저는 R과 함께 e1071을 사용하고 있습니다. 통계 학습 입문 James, Witten, Hastie 및 Tibshirani가 진행했습니다.e1071의 기본 SVM 문제 : 테스트 오류율이 조정 결과와 일치하지 않음
내 질문 : 예측을 사용할 때 분류 오류가없는 것 같지만 조정 기능 결과가 0이 아닌 오류율을 나타내는 이유는 무엇입니까? 내 코드 (나는 세 가지 클래스에서 찾고 있어요는) : 나는 test.pred 볼 때
set.seed(4)
dat <- data.frame(pop = rnorm(900, c(0,3,6), 1), strat = factor(rep(c(0,1,2), times=300)))
ind <- sample(1:900)
train <- dat[ind[1:600],]
test <- dat[ind[601:900],]
tune1 <- tune(svm, train.x=train[,1], train.y=train[,2], kernel="radial", ranges=list(cost=10^(-1:2), gamma=c(.5,1,2)))
svm.tuned <- svm(train[,2]~., data=train, kernel = "radial", cost=10, gamma=1) # I just entered the optimal cost and gamma values returned by tune
test.pred <- predict(svm.tuned, newdata=data.frame(pop=test[,1],strat=test[,2]))
그래서 나는 모든 값이 실제 클래스 라벨와 일치하는 것을 알 수있다. 그러나 모델을 튜닝했을 때 에러율은 0.06이었고, 어느 쪽이든 테스트 할 수있는 오류율은 분리 할 수없는 데이터에 대해서는 어리석은 것으로 보입니다. 모든 설명이 도움이 될 것입니다. 고마워요.
따라서 이러한 데이터는 분리 할 수 없지만이 모델은 여전히 완벽하게 분류 할 수있었습니다. 그것은 조금 믿기 힘들 것 같습니다. 어쨌든 CV 오류율이 전반적인 교육 오류율보다 항상 더 큰 것처럼 보이는 이유를 정리해 주셔서 감사합니다. – Chaconne
분리 할 수 없다는 것은 무엇을 의미합니까? 올바른 매개 변수를 사용하여 가우시안 커널을 사용하고 있습니다 ** 일관된 데이터 세트 ** (일관성 = 다른 레이블과 정확히 같은 두 점이 없습니다). 이것은 무한히 차원적인 특징 공간의 결과입니다. – lejlot
정말 고마워요! 이 업데이트로 해결되었습니다. 일관된 데이터 세트를 정의 해 주셔서 감사합니다. 이전에는 그 용어를 듣지 못했습니다. – Chaconne