2014-06-13 8 views
12

In R, was ist die Funktionalität von probability=TRUE in der svm-Funktion des e1071-Pakets?Funktionalität der Wahrscheinlichkeit = TRUE in der SVM-Funktion des e1071-Pakets in R

model <- svm (Type ~ ., data, probability=TRUE, cost = 100, gamma = 1) 
+0

svm ist nicht in Basis R - bitte geben Sie an, welche Pakete Sie verwenden. – Dason

+1

Von '? Svm'" Wahrscheinlichkeit: Angabe, ob das Modell Wahrscheinlichkeitsvorhersagen ermöglichen soll. " –

+0

Ich benutze 'e1071' Paket. –

Antwort

24

Einstellen des probability Argument TRUE für beide Modellanpassung und Vorhersage zurückgibt, für jede Vorhersage, der Vektor von Wahrscheinlichkeiten von der Antwortvariable zu jeder Klasse gehören. Diese werden in einer Matrix als Attribut des Vorhersageobjekts gespeichert.

Zum Beispiel:

library(e1071) 

model <- svm(Species ~ ., data = iris, probability=TRUE) 
# (below I'm just predicting to the training dataset - it could of course just 
# as easily be a separate test dataset) 
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 

Beachten Sie jedoch, dass es wichtig ist, probability=TRUE für den Anruf svm zu setzen und nicht nur der Anruf an predict, da diese allein würde produzieren:

#  setosa versicolor virginica 
# 1 0.3333333 0.3333333 0.3333333 
# 2 0.3333333 0.3333333 0.3333333 
# 3 0.3333333 0.3333333 0.3333333 
# 4 0.3333333 0.3333333 0.3333333 
# 5 0.3333333 0.3333333 0.3333333 
# 6 0.3333333 0.3333333 0.3333333 
+0

ich bekomme nur NULL, wenn ich auf das Attribut zugreife, auch bekomme ich eine binäre Ausgabe, wo als im Wahrscheinlichkeiten – bicepjai

+0

@bicepjai unter welchen Umständen erwarten ?? Wenn Sie den Code in meinem Beitrag oben ausführen? – jbaums

+0

Nein ur-Code gibt korrekte Ausgabe, mein Code mit meinen Daten (binärer Prädiktor und andere Faktor und numerische unabhängige Variablen) gibt nur Binärzahlen und nicht Wahrscheinlichkeiten. – bicepjai

Verwandte Themen