SVM 模型中的错误:预处理方法仅限于:BoxCox、R 中的 YeoJohnson

Error in SVM model: Pre-processing methods are limited to: BoxCox, YeoJohnson in R

我正在尝试 运行 SVM 模型,但出现错误:

错误:预处理方法仅限于:BoxCox, YeoJohnson, expoTrans, invHyperbolicSine, center, scale, range, knnImpute, bagImpute, medianImpute, pca, ica, spatialSign , 忽略, 保留, 移除, zv, nzv, conditionalX, corr

我不明白哪里出了问题。

svm.model_unigrams = train(outcome ~.
                           , data = training_set_unigrams
                           , trControl = training_controls
                           , method = "svmRadial"
                           , preProcess = (training_set_unigrams, method = c("center", "scale"))
                           , na.action = na.pass)

由于你没有提供任何数据,所以,我使用IRIS数据。

library(caret)
data(iris)

svm.model_unigrams = train(Species ~., data = iris,
                            trControl = trainControl(method = "cv",
                                                      number = 5,
                                                      allowParallel = TRUE),
                            method = "svmRadial",
                            preProc = c("center", "scale"),
                            na.action = na.pass)

同样,您可以使用其他方法,例如

train(Species ~., data = iris,
                           trControl = trainControl(method = "cv",
                                                    number = 5,
                                                    allowParallel = TRUE),
                           method = "svmRadial",
                           preProc = c("BoxCox"),
                           na.action = na.pass)