我正在对我的数据使用两个不同的包来训练两个 SVM 模型,并得到截然不同的结果。这是可以预料的吗?
使用 e1071 的模型 1
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)
使用插入符号的模型2
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
模型2(插入符号)
0.9910193
0.758201
这是可能的吗?还是我做错了?
如果有帮助,我可以提供示例数据