web-dev-qa-db-ja.com

Rのe1071パッケージのSVM関数での確率= TRUEの機能

Rでは、probability=TRUEパッケージのsvm関数のe1071の機能は何ですか?

model <- svm (Type ~ ., data, probability=TRUE, cost = 100, gamma = 1)
15
A.M.

モデルフィッティングと予測の両方でprobability引数をTRUEに設定すると、予測ごとに、応答変数の各クラスに属する確率のベクトルが返されます。これらは、予測オブジェクトの属性として、マトリックスに格納されます。

例えば:

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

ただし、svmの呼び出しではprobability=TRUEを設定することが重要であり、predictの呼び出しではなくjust後者のみなので、生成されます:

#      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
31
jbaums