我正在尝试使用插入包构建一个支持向量机模型。在对参数进行调整之后,如何使用最优参数来建立模型,从而在将来使用该模型时不需要对参数进行调优?谢谢。
library(caret)
data("mtcars")
set.seed(100)
mydata = mtcars[, -c(8,9)]
model_svmr <- train(
hp ~ .,
data = mydata,
tuneLength = 10,
method = "svmRadial",
metric = "RMSE",
preProcess = c('center', 'scale'),
trControl = trainControl(
method = "repeatedcv",
number = 5,
repeats = 2,
verboseIter = TRUE
)
)
model_svmr$bestTune结果表明,sigma=0.1263203,C=4.如何利用可调参数建立支持向量机模型?
发布于 2022-10-08 20:39:54
来自此页的caret包文档:
在已知模型优化值的情况下,可以使用
train将模型拟合到整个培训集,而无需任何重采样或参数优化。可以在method = "none"中使用trainControl选项。
在你的例子中,这看起来是:
library(caret)
data("mtcars")
set.seed(100)
mydata2 <- mtcars[, -c(8, 9)]
model_svmr <- train(
hp ~ .,
data = mydata,
method = "svmRadial",
trControl = trainControl(method = "none"), # Telling caret not to re-tune
tuneGrid = data.frame(sigma=0.1263203, C=4) # Specifying the parameters
)我们删除了任何与调优相关的参数,即tunelength、metric和preProcess。
请注意,
plot.train、resamples、confusionMatrix.train和其他几个函数将不与此对象一起工作,但predict.train和其他函数将使用。
https://stackoverflow.com/questions/74000112
复制相似问题