我在尝试运行一个SVM模型时,遇到了以下错误:
错误:预处理方法仅限于:BoxCox, YeoJohnson, expoTrans, invHyperbolicSine, center, scale, range, knnImpute, bagImpute, medianImpute, pca, ica, spatialSign, ignore, keep, remove, 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)