キャレットパッケージのカスタムトレーニングモデルに問題があります。私はSVM回帰を行う必要があり、私はSVMモデルのすべてのパラメータ、つまりコスト、シグマ、イプシロンを見つけたいと思っています。ビルトインバージョンはコストとシグマしかありません。私はすでにかなり役立つヒントhereとhereを見つけましたが、私のモデルはまだ動作しません。キャレットのカスタムSVMモデルのチューニングでエラーが発生しました
Error in models$grid(x = x, y = y, len = tuneLength, search = trControl$search) :
unused argument (search = trControl$search)
このエラーは私が得ているものであり、私のコードはここにあります。
SVMrbf <- list(type = "Regression", library = "kernlab", loop = NULL)
prmrbf <- data.frame(parameters = data.frame(parameter = c('sigma', 'C', 'epsilon'),
class = c("numeric", "numeric", "numeric"),
label = c('Sigma', "Cost", "epsilon")))
SVMrbf$parameters <- prmrbf
svmGridrbf <- function(x, y, len = NULL) {
library(kernlab)
sigmas <- sigest(as.matrix(x), na.action = na.omit, scaled = TRUE, frac = 1)
expand.grid(sigma = mean(sigmas[-2]), epsilon = 10^(-5:0),
C = 2 ^(-5:len)) # len = tuneLength in train
}
SVMrbf$grid <- svmGridrbf
svmFitrbf <- function(x, y, wts, param, lev, last, weights, classProbs, ...) {
ksvm(x = as.matrix(x), y = y,
type = "eps-svr",
kernel = "rbfdot",
sigma = param$sigma,
C = param$C, epsilon = param$epsilon,
prob.model = classProbs,
...)
}
SVMrbf$fit <- svmFitrbf
svmPredrbf <- function(modelFit, newdata, preProc = NULL, submodels = NULL)
predict(modelFit, newdata)
SVMrbf$predict <- svmPredrbf
svmProb <- function(modelFit, newdata, preProc = NULL, submodels = NULL)
predict(modelFit, newdata, type="probabilities")
SVMrbf$prob <- svmProb
svmSortrbf <- function(x) x[order(x$C), ]
SVMrbf$sort <- svmSortrbf
svmRbfFit <- train(x = train.predictors1, y = train.response1, method = SVMrbf,
tuneLength = 10)
svmRbfFit
同じエラーがあり、実際に間違っている人がいない人は見つかりませんでした。このコードは、私がオンラインで見つけたものと少しだけ変わったものです。
これは私の最初の投稿ですので、うまくいけば理解できます。追加情報を追加できます。あなたは慎重にカスタム関数のためcaret documentationを見れば