データに 2 つの異なるパッケージを使用して 2 つの SVM モデルをトレーニングし、非常に異なる結果を得ています。これは予想されることですか?
e1071を使用したmodel1
library('e1071')
model1 <- svm(myFormula, data=trainset,type='C',kernel='linear',probability = TRUE)
outTrain <- predict(model1, trainset, probability = TRUE)
outTest <- predict(model1, testset, probability = TRUE)
train_pred <- attr(outTrain, "probabilities")[,2]
test_pred <- attr(outTest, "probabilities")[,2]
calculateAUC(train_pred,trainTarget)
calculateAUC(test_pred,testTarget)
キャレットを使用したmodel2
model2 <- train(myFormula,data=trainset,method='svmLinear')
train_pred <- predict(model2, trainset)
test_pred <- predict(model2, testset)
calculateAUC(train_pred,trainTarget)
calculateAUC(test_pred,testTarget)
calculateAUC()
ターゲットの予測値と実際の値を考慮して、AUC 値を計算するために定義した関数です。値は次のように表示されます。
モデル1 (e1071)
1
0.8567979
model2 (キャレット)
0.9910193
0.758201
これは可能なことですか?それとも私はこれを間違っていますか?
参考になれば、サンプルデータを提供できます