R svm{e1071}的非确定性行为

R svm{e1071}的非确定性行为,r,machine-learning,svm,R,Machine Learning,Svm,我注意到当SVM输入decision.values=T(加上sigmoid以获得概率)时,当我排列分析中的数据帧时,会产生不确定的结果。有人知道为什么吗?请自己尝试代码 install.packages("e1071") library(e1071) A <- cbind(rnorm(20,1,1),rnorm(20,1,1),rep(1,20)) B <- cbind(rnorm(20,9,1),rnorm(20,9,1),rep(0,20)) dataframe <- a

我注意到当SVM输入decision.values=T(加上sigmoid以获得概率)时,当我排列分析中的数据帧时,会产生不确定的结果。有人知道为什么吗?请自己尝试代码

install.packages("e1071")
library(e1071)
A <- cbind(rnorm(20,1,1),rnorm(20,1,1),rep(1,20))
B <- cbind(rnorm(20,9,1),rnorm(20,9,1),rep(0,20))

dataframe <- as.data.frame(rbind(A,B))

predc <- rep(0,length(dataframe[,1]))
K <- length(dataframe[1,])
permutator <- sample(nrow(dataframe))

dataframe$V3 <- factor(dataframe$V3)
dataframe <- dataframe[permutator, ]
for(i in 1:length(dataframe[,1])) {    

  frm <- as.formula(object=paste("V",as.character(K), " ~ .",sep=""))
  r <- svm(formula=frm, data=(dataframe[-i,]))
  predicted <- predict(r,newdata=dataframe[i,],decision.values=TRUE)
  predc[i] <- sigmoid(attr(predicted,'decision.values')[1])
}


plot(sort(predc))
install.packages(“e1071”)
图书馆(e1071)

A什么是x?您不是正在从训练数据(即数据帧[-i,])中删除一个值吗?我看不出你在哪里排列数据frame@AndrewCassidy-是的,我正在从训练数据中删除一个值(这是在交叉验证中保留一个值),使用dataframe实现置换,我仍然无法运行此操作。我不知道x是什么:错误:找不到对象“x”,你的svm来自哪个软件包。你需要在这里说得更具体一些。对不起,我已经解决了-现在试试