Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R';s ksvm_R_Svm_Kernlab - Fatal编程技术网

在R';s ksvm

在R';s ksvm,r,svm,kernlab,R,Svm,Kernlab,有没有一种简单的方法可以遍历多个C值并显示前5个结果 我的ksvm设置如下: # call ksvm model <- ksvm(as.matrix(data[,1:10]),as.factor(data[,11]),type="C-svc",kernel="vanilladot",C=100, scaled=TRUE) # calculate a1.am a <- colSums(model@xmatrix[[1]] * model@coef[[1]]) a # calculat

有没有一种简单的方法可以遍历多个C值并显示前5个结果

我的ksvm设置如下:

# call ksvm
model <-  ksvm(as.matrix(data[,1:10]),as.factor(data[,11]),type="C-svc",kernel="vanilladot",C=100, scaled=TRUE)
# calculate a1.am
a <- colSums(model@xmatrix[[1]] * model@coef[[1]])
a
# calculate a0
a0 <- -model@b
a0
# view predictions
pred <- predict(model,data[,1:10])
pred
# get model accuracy
sum(pred == data[,11]) / nrow(data) 
allC = c(0.0001:10000000)
results=list()
for(i in 1:length(allC)){
  model <-  ksvm(as.matrix(data[,1:10]),as.factor(data[,11]),type="C-svc",kernel=vanilladot,C=allC[[i]],scaled=TRUE)
  results[[i]]=data.table(kernel=vanilladot,accuracy=sum(pred == data[,11]) / nrow(data))
}
rbindlist(results)
#呼叫ksvm
model您可以使用seq()函数代替allC=c(0.0001:10000000),详细信息请参见?seq

然后,将rbindlist(结果)指定给对象:

results_dt = rbindlist(results)
results_dt[order(-accuracy)][1:5] #this will give you top 5 w.r.t accuracy