1
我正在模拟数据,我有一些问题。我正在尝试修复参数。问题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!哈哈有一个愉快的一天 – Mohamed