R kernlab パッケージの 1 つのクラス svm を使用して、外れ値を検出し、確率として出力しようとしています。データのインポートとモデル構築プロセスはすべて問題ないように見えますが、type="probabilities" を指定してモデルを予測しようとすると、「ksvm オブジェクトには確率モデルが含まれていません」というエラーが表示されます。私はバージョン 3.1.0 を使用しています。これが私のコードです。
mydata <- read.table("C:/Temp/MyTrainData.csv", header = TRUE, sep=",", dec=".")
mydata1 <- as.matrix(mydata)
model <- ksvm(mydata1,type="one-svc",kernel="rbfdot",kpar="automatic",prob.model = TRUE)
mytest <- read.table("C:/Temp/MyTestData.csv", header = TRUE, sep=",", dec=".")
mytest1 <- as.matrix(mytest)
pred <- predict(model,mytest1,type="probabilities")
次のようになります。
Error in .local(object, ...) :
ksvm object contains no probability model. Make sure you set the paramater prob.model in ksvm during training.
上記のように、既に ksvm 関数に対して prob.model = TRUE を設定しており、新しいデータを予測しようとするまで、その段階でエラーは発生しませんでした。e1071 パッケージも試しましたが、同様のエラーが発生します。確率オプションが 1 つのクラス svm に許可されているかどうか疑問に思っていますか? そうでない場合、回避策はありますか、それとも他の一般的なソフトウェア (RapidMiner など) でサポートされていますか?