machine à vecteurs de support de train caret erreur kernlab classe des calculs de probabilité a échoué; retour NAs

j'ai des données et Y la variable est un facteur de Bon ou de Mauvais. Je suis la construction d'une machine à vecteurs de Support à l'aide du "train" de la méthode de "signe". À l'aide du "train" de la fonction, j'ai été en mesure de finaliser les valeurs des différents paramètres de réglage et a obtenu le final de la machine à vecteurs de Support . Pour les données de test, je peux prédire la "classe". Mais lorsque je tente de prédire les probabilités de données de test, j'obtiens erreur ci-dessous (par exemple, mon modèle me dit que le 1er point de données dans les données de test a y='bon', mais je veux savoir quelle est la probabilité d'obtenir des "bons" ...en général, dans le cas de la machine à vecteurs de support, le modèle calcule la probabilité de prédiction..si la variable Y a 2 résultats puis modèle permettront de prédire la probabilité de chaque résultat. Le résultat qui a la probabilité maximale est considérée comme la solution finale)

**Warning message:  
In probFunction(method, modelFit, ppUnk) :  
  kernlab class probability calculations failed; returning NAs**

exemple de code ci-dessous

library(caret)
trainset <- data.frame( 
     class=factor(c("Good",    "Bad",   "Good", "Good", "Bad",  "Good", "Good", "Good", "Good", "Bad",  "Bad",  "Bad")),
     age=c(67,  22, 49, 45, 53, 35, 53, 35, 61, 28, 25, 24))

testset <- data.frame( 
     class=factor(c("Good",    "Bad",   "Good"  )),
    age=c(64,   23, 50))



library(kernlab)
set.seed(231)

### finding optimal value of a tuning parameter
sigDist <- sigest(class ~ ., data = trainset, frac = 1)
### creating a grid of two tuning parameters, .sigma comes from the earlier line. we are trying to find best value of .C
svmTuneGrid <- data.frame(.sigma = sigDist[1], .C = 2^(-2:7))

set.seed(1056)
svmFit <- train(class ~ .,
                data = trainset,
                method = "svmRadial",
                preProc = c("center", "scale"),
                tuneGrid = svmTuneGrid,
                trControl = trainControl(method = "repeatedcv", repeats = 5))

### svmFit finds the optimal values of tuning parameters and builds the model using the best parameters

### to predict class of test data
predictedClasses <- predict(svmFit, testset )
str(predictedClasses)


### predict probablities but i get an error
predictedProbs <- predict(svmFit, newdata = testset , type = "prob")
head(predictedProbs)

nouvelle question en dessous de cette ligne: comme par ci-dessous de sortie il y a 9 vecteurs de soutien. comment reconnaître de 12 la formation de points de données qui sont ces 9?

svmFit$finalModel

Machine à Vecteurs de Support un objet de la classe "ksvm"

SV type: C-svc (classification)
paramètre : coût C = 1

Gaussien Radiale de Base de la fonction noyau.
Hyper-paramètre : sigma = 0.72640759446315

Nombre de Vecteurs de Soutien : 9

Valeur De La Fonction Objectif : -5.6994
La formation d'erreur : 0.083333

C'est le "signe" de l'emballage et le "train" de la fonction. Pas de code pour la construction d'un cas de test est inclus. Si vous voulez d'attention à la question, vous devriez reconsidérer faire de la question reproductible (soit en utilisant un ensemble de données dans le lambda-paquet ou à l'aide de dput(head( your_data, 30)) , et vous pouvez envisager d'utiliser vos casquettes-clé le plus souvent le cas échéant et, moins souvent, lorsqu'il n'est pas.
d'accord avec vos entrées, j'ai ajouté l'exemple de code...et essayé de modifier mon capitalisation
J'ai édité ma réponse pour répondre à vos questions supplémentaires. Pour une raison quelconque, le modèle n'extrait 8 Sv.

OriginalL'auteur user2543622 | 2013-07-24