2016-08-23 3 views
0

J'essaie d'obtenir une sortie de probabilité dans libSVM (empaquetage e1071 dans R) mais la sortie est seulement VRAI ou FAUX avec mon ensemble de données.Comment obtenir une probabilité en utilisant libSVM (paquet e1071) dans R?

Suivez le code:

dadosBrutos<-read.csv("Dataset/circle.data",header = FALSE) 


svm.modelo <- svm(V3 ~ ., 
       data=conjuntoTreinamento, 
       type='C-classification', 
       probability=TRUE) 
       #cost=c, 
       #type='C-classification', 
       #kernel='linear', 
       #scale=FALSE, 
       #verbose=FALSE 
svm.predict <- predict(svm.modelo, 
         subset(conjuntoTreinamento, 
         select = -V3), 
         probability=TRUE) 

posterior <- as.matrix(svm.predict) 

Mais, quand je DataSet Iris par exemple, la sortie de probabilité est% et non le nom de la classe.

library(e1071) 

model <- svm(Species ~ ., data = iris, probability=TRUE) 
pred <- predict(model, iris, probability=TRUE) 
head(attr(pred, "probabilities")) 

#  setosa versicolor virginica 
# 1 0.9803339 0.01129740 0.008368729 
# 2 0.9729193 0.01807053 0.009010195 
# 3 0.9790435 0.01192820 0.009028276 
# 4 0.9750030 0.01531171 0.009685342 
# 5 0.9795183 0.01164689 0.008834838 
# 6 0.9740730 0.01679643 0.009130620 

Quelqu'un peut-il m'aider à comprendre cela?

Répondre