Я работаю над смоделированными данными, и у меня есть некоторые проблемы. Я пытаюсь исправить параметры.Проблема Кривые ROC SVM имитированные данные
library(e1071)
library(ROCR)
set.seed(10)
#function to generate data
generate.data <- function(n){
x2 <- runif(n)
x1 <- runif(n)
y <- as.factor(ifelse((x2>2*x1)|(x2>(2-2*x1)),-1,1))
return(data.frame(x1,x2,y))
}
#Training and test: n = 500
dtrain <- generate.data(500)
dtest <- generate.data(200)
Я выполнил кросс проверки на обучающем наборе, и я имел с радиальным ядра, параметр cost=1000
и gamma=0.1
.
tune.out = tune(svm, y~x1+x2, data=dtrain, kernel="radial",
ranges=list(cost=c(0.1,1,10,100,1000), gamma=c(0.01,0.1,1,10,100)))
svmbestmod = svm(y~x1+x2, data=dtrain, kernel="radial", cost=1000, gamma=0.1,
probability=TRUE)
Я хотел предсказать на своем тестовом наборе, но у меня есть 0 ошибок. Я не понимаю.
yrad.test <- predict(svmbestmod, dtest)
#confusion matrix
mc.rad <- table(dtest$y, yrad.test)
print(mc.rad)
#Error
err.rad <- 1-sum(diag(mc.rad))/sum(mc.rad)
print(err.rad)
Если кто-то может помочь мне понять мои ошибки или что не так, было бы хорошо.
Извините за опоздание .. Спасибо за ваш ответ, я изменил количество записей. Я должен научиться использовать gg2plot! lol У меня хороший день – Mohamed