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
Methods
Inherited methods
mlr3::Learner$base_learner()mlr3::Learner$configure()mlr3::Learner$encapsulate()mlr3::Learner$format()mlr3::Learner$help()mlr3::Learner$predict()mlr3::Learner$predict_newdata()mlr3::Learner$print()mlr3::Learner$reset()mlr3::Learner$selected_features()mlr3::Learner$train()mlr3::LearnerRegr$predict_newdata_fast()
Examples
# Define the Learner
learner = lrn("regr.rsm")
print(learner)
#>
#> ── <LearnerRegrRSM> (regr.rsm): Response Surface Model ─────────────────────────
#> • Model: -
#> • Parameters: modelfun=FO
#> • Packages: mlr3 and rsm
#> • Predict Types: [response]
#> • Feature Types: integer, numeric, factor, and ordered
#> • Encapsulation: none (fallback: -)
#> • Properties:
#> • Other settings: use_weights = 'error'
# Define a Task
task = tsk("mtcars")
# Create train and test set
ids = 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)
#> -19.76457
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)am
#> -0.90059
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)carb
#> 0.19064
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)cyl
#> 1.54783
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)disp
#> 0.01370
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)drat
#> 0.89408
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)gear
#> 3.59603
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)hp
#> -0.04487
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)qsec
#> 1.70806
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)vs
#> 2.25840
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)wt
#> -4.07349
#>
# Make predictions for the test rows
predictions = learner$predict(task, row_ids = ids$test)
# Score the predictions
predictions$score()
#> regr.mse
#> 21.20961