Skip to contents

Fit a linear model with a response-surface component. Calls rsm::rsm() from rsm.

Custom mlr3 parameters

  • modelfun: This parameter controls how the formula for rsm::rsm() is created. Possible values are:

    • "FO" - first order

    • "TWI" - wo-way interactions, this is with 1st oder terms

    • "SO" - full second order

Dictionary

This Learner can be instantiated via lrn():

lrn("regr.rsm")

Meta Information

  • Task type: “regr”

  • Predict Types: “response”

  • Feature Types: “integer”, “numeric”, “factor”, “ordered”

  • Required Packages: mlr3, rsm

Parameters

IdTypeDefaultLevels
modelfuncharacter-FO, TWI, SO

References

Lenth, V R (2010). “Response-surface methods in R, using rsm.” Journal of Statistical Software, 32, 1–17.

See also

Author

sebffischer

Super classes

mlr3::Learner -> mlr3::LearnerRegr -> LearnerRegrRSM

Methods

Inherited methods


Method new()

Creates a new instance of this R6 class.

Usage


Method clone()

The objects of this class are cloneable with this method.

Usage

LearnerRegrRSM$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

# Define the Learner
learner = mlr3::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 = 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.212337  
#>   FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)am  
#>                                                  3.021597  
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)carb  
#>                                                  0.456968  
#>  FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)cyl  
#>                                                  2.365850  
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)disp  
#>                                                  0.008505  
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)drat  
#>                                                  0.086643  
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)gear  
#>                                                  0.927166  
#>   FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)hp  
#>                                                 -0.042662  
#> FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)qsec  
#>                                                  0.989283  
#>   FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)vs  
#>                                                  8.481246  
#>   FO(am, carb, cyl, disp, drat, gear, hp, qsec, vs, wt)wt  
#>                                                 -3.370352  
#> 


# Make predictions for the test rows
predictions = learner$predict(task, row_ids = ids$test)

# Score the predictions
predictions$score()
#> regr.mse 
#> 23.39731