Regression Response Surface Model Learner
mlr_learners_regr.rsm.Rd
Fit a linear model with a response-surface component.
Calls rsm::rsm()
from rsm.
Custom mlr3 parameters
modelfun
: This parameter controls how the formula forrsm::rsm()
is created. Possible values are:"FO"
- first order"TWI"
- wo-way interactions, this is with 1st oder terms"SO"
- full second order
References
Lenth, V R (2010). “Response-surface methods in R, using rsm.” Journal of Statistical Software, 32, 1–17.
See also
as.data.table(mlr_learners)
for a table of available Learners in the running session (depending on the loaded packages).Chapter in the mlr3book: https://mlr3book.mlr-org.com/basics.html#learners
mlr3learners for a selection of recommended learners.
mlr3cluster for unsupervised clustering learners.
mlr3pipelines to combine learners with pre- and postprocessing steps.
mlr3tuning for tuning of hyperparameters, mlr3tuningspaces for established default tuning spaces.
Super classes
mlr3::Learner
-> mlr3::LearnerRegr
-> LearnerRegrRSM
Examples
# Define the Learner
learner = mlr3::lrn("regr.rsm")
print(learner)
#> <LearnerRegrRSM:regr.rsm>: Response Surface Model
#> * Model: -
#> * Parameters: modelfun=FO
#> * Packages: mlr3, rsm
#> * Predict Types: [response]
#> * Feature Types: integer, numeric, factor, ordered
#> * Properties: -
# Define a Task
task = mlr3::tsk("mtcars")
# Create train and test set
ids = mlr3::partition(task)
# Train the learner on the training ids
learner$train(task, row_ids = ids$train)
print(learner$model)
#>
#> Call:
#> rsm(formula = mpg ~ FO(am, carb, cyl, disp, drat, gear, hp, qsec,
#> vs, wt), data = data)
#>
#> Coefficients:
#> (Intercept)
#> 6.316810
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)am
#> 5.409332
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)carb
#> -0.034103
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)cyl
#> 0.272699
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)disp
#> 0.007735
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)drat
#> 0.059198
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)gear
#> -0.240523
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)hp
#> -0.020467
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)qsec
#> 1.079630
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)vs
#> 2.397000
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)wt
#> -2.702034
#>
# Make predictions for the test rows
predictions = learner$predict(task, row_ids = ids$test)
# Score the predictions
predictions$score()
#> regr.mse
#> 8.234345