1

R で e1071 の svm を使用する: 次のコードがあります。

svm1<-svm(srv~., data=TrainSet,methof='C-classification',probability=TRUE)
pred.svm1<-predict(svm1,data=Test,probability=TRUE)

pred.svm1 をesminingすると、確率のみの分類が表示されません。具体的には:

attr(pred.svm1,"probability")

NULL

何をすべきかわからない、とにかくグーグルで調べたところ、他の人も同様の問題を抱えていましたが、彼らの解決策は私にとってはうまくいきませんでした.

4

4 に答える 4

2

属性の正しい名前はprobabilities(複数形に注意)

したがって

attr(pred.svm1,"probabilities")

動作するはずです。

于 2012-12-17T04:43:47.717 に答える
2

OPには少し遅れていますが、テストデータセットで予測を取得するには、次を使用します

pred.svm1 <- predict(svm1, newdata=Test, ...)

いいえ

pred.svm1 <- predict(svm1, data=Test, ...)

データセットをメソッドに渡す引数は、 ではなくpredictで呼び出されます。質問に書かれているように、トレーニングデータセット、つまりモデルに適合するために使用されるデータに関する予測を提供します。newdatadatapred.svm1

于 2013-07-08T15:24:17.170 に答える
2

値をモデルにプラグインする前に、TrainデータTestフレームの出力変数のタイプが であることを確認してくださいfactor

train$OutputVar <- factor(train$OutputVar)
test$OutputVar <- factor(test$OutputVar)
于 2015-11-12T06:53:43.407 に答える