Categorical Regression Splines.
Calls crs::crs() from crs.
Parameters
| Id | Type | Default | Levels | Range |
| degree | integer | 3 | \([0, \infty)\) | |
| segments | integer | 1 | \([1, \infty)\) | |
| include | integer | - | \((-\infty, \infty)\) | |
| lambda | untyped | - | - | |
| lambda.discrete | logical | FALSE | TRUE, FALSE | - |
| lambda.discrete.num | integer | 100 | \([0, \infty)\) | |
| cv | character | nomad | nomad, exhaustive, none | - |
| cv.threshold | integer | 10000 | \([0, \infty)\) | |
| cv.func | character | cv.ls | cv.ls, cv.gcv, cv.aic | - |
| kernel | logical | TRUE | TRUE, FALSE | - |
| degree.max | integer | 10 | \([0, \infty)\) | |
| segments.max | integer | 10 | \([1, \infty)\) | |
| degree.min | integer | 0 | \([0, \infty)\) | |
| segments.min | integer | 1 | \([1, \infty)\) | |
| cv.df.min | integer | 1 | \((-\infty, \infty)\) | |
| complexity | character | degree-knots | degree-knots, degree, knots | - |
| knots | character | quantiles | quantiles, uniform, auto | - |
| basis | character | auto | auto, additive, tensor, glp | - |
| prune | logical | FALSE | TRUE, FALSE | - |
| restarts | integer | 0 | \([0, \infty)\) | |
| nmulti | integer | 5 | \([0, \infty)\) | |
| singular.ok | logical | FALSE | TRUE, FALSE | - |
| deriv | integer | 0 | \([0, \infty)\) | |
| data.return | logical | FALSE | TRUE, FALSE | - |
| model.return | logical | FALSE | TRUE, FALSE | - |
| random.seed | integer | - | \((-\infty, \infty)\) | |
| tau | numeric | - | \([0, 1]\) | |
| initial.mesh.size.real | untyped | - | - | |
| initial.mesh.size.integer | untyped | - | - | |
| max.bb.eval | untyped | - | - | |
| min.mesh.size.real | untyped | - | - | |
| min.mesh.size.integer | untyped | - | - | |
| min.poll.size.real | untyped | - | - | |
| min.poll.size.integer | untyped | - | - | |
| opts | untyped | - | - |
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 -> LearnerRegrCrs
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.crs")
print(learner)
#>
#> ── <LearnerRegrCrs> (regr.crs): Regression Splines ─────────────────────────────
#> • Model: -
#> • Parameters: list()
#> • Packages: mlr3 and crs
#> • Predict Types: [response] and se
#> • Feature Types: integer, numeric, factor, and ordered
#> • Encapsulation: none (fallback: -)
#> • Properties: weights
#> • Other settings: use_weights = 'use'
# 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)
#> Calling NOMAD (Nonsmooth Optimization by Mesh Adaptive Direct Search)
#>
#> starting point # 0: ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 )
#> starting point # 1: ( 0 0 1 7 5 1 6 0 0 1 4 5 8 7 1 3 6 6 1 1 )
#> starting point # 2: ( 0 0 1 9 8 1 1 3 0 3 8 6 3 6 4 5 2 6 7 7 )
#> starting point # 3: ( 0 3 0 5 1 0 8 8 0 6 3 2 6 2 9 9 8 2 9 9 )
#> starting point # 4: ( 0 1 0 0 6 1 4 5 0 9 7 9 4 3 6 7 5 9 4 3 )
#>
#>
fv = 23.2912
fv = 30.47484
fv = 35.13187
fv = 154.5506
fv = 738.6214
fv = 12.40671
fv = 4886.384
fv = 1.340781e+154
fv = 10.30216
fv = 25.60409
fv = 1.340781e+154
fv = 1.340781e+154
fv = 14.17301
fv = 27.65388
fv = 1.340781e+154
fv = 24.62161
fv = 1.340781e+154
fv = 1.340781e+154
fv = 27.65388
fv = 25.31647
fv = 56.70847
fv = 14.17301
fv = 1.340781e+154
fv = 1.340781e+154
fv = 17.38799
fv = 8.950662
fv = 84.16861
fv = 1.340781e+154
fv = 9.702662
fv = 8.904737
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 10.4043
fv = 13.80447
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 774198.2
fv = 12.48489
fv = 1.340781e+154
fv = 1300034114
fv = 9.945133
fv = 8.904737
fv = 7.887373
fv = 80.46878
fv = 1.340781e+154
fv = 1239904
fv = 1.340781e+154
fv = 8.977046
fv = 1.340781e+154
fv = 8.136086
fv = 9.362671
fv = 10.07484
fv = 10.12898
fv = 1.340781e+154
fv = 7.887373
fv = 1.340781e+154
fv = 9.296111
fv = 7.106564
fv = 5.21215
fv = 10032.85
fv = 1.340781e+154
fv = 31.42606
fv = 6.976844
fv = 6.976844
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 85.72164
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 6.976844
fv = 27582.92
fv = 1.340781e+154
fv = 28.81924
fv = 9.028929
fv = 3.632703
fv = 4.402829
fv = 1.340781e+154
fv = 1.340781e+154
fv = 9.38099
fv = 1.340781e+154
fv = 1.340781e+154
fv = 8.833123
fv = 11.83533
fv = 5.823093
fv = 1.340781e+154
fv = 76.04165
fv = 3.982024
fv = 3.468903
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 19.00179
fv = 1.340781e+154
fv = 11880.26
fv = 6.533756
fv = 1.340781e+154
fv = 1.340781e+154
fv = 4.953247
fv = 1.340781e+154
fv = 1.340781e+154
fv = 3.468903
fv = 1.340781e+154
fv = 11.95357
fv = 9.285748
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 20.52505
fv = 3897.403
fv = 1.340781e+154
fv = 1.340781e+154
fv = 376.969
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 33.61657
fv = 1.340781e+154
fv = 15.37154
fv = 4.342307
fv = 1.340781e+154
fv = 147.8569
fv = 7.716473
fv = 101479.3
fv = 9.791522
fv = 8.258277
fv = 10.42084
fv = 18.45118
fv = 17.7076
fv = 24.1919
fv = 6.516586
fv = 4.694978
fv = 4.694978
fv = 7.716473
fv = 4.694978
fv = 7.716473
fv = 67.46826
fv = 5.028661
fv = 26.27457
fv = 1.340781e+154
fv = 221.5327
fv = 15499.1
fv = 1.340781e+154
fv = 1.340781e+154
fv = 11.90318
fv = 4.778554
fv = 6.343979
fv = 4.767016
fv = 4.018261
fv = 6.159399
fv = 1.340781e+154
fv = 3.982024
fv = 11.38496
fv = 4.694978
fv = 6.036376
fv = 14.86828
#> Warning: number of rows of result is not a multiple of vector length (arg 2)
#>
fv = 11.82224
fv = 3.468903
fv = 7.610548
fv = 5.179729
fv = 76637.43
fv = 3.468903
fv = 4.278712
fv = 1.340781e+154
fv = 1.340781e+154
fv = 703.656
fv = 1.340781e+154
fv = 8.468656
fv = 12.36336
fv = 4.709618
fv = 3.468903
fv = 3.468903
fv = 4.93895
fv = 13.42706
fv = 4.004573
fv = 3.468903
fv = 7.559896
fv = 14.66852
fv = 29.25315
fv = 8.321267
fv = 5.480229
fv = 4.405546
fv = 13.52862
fv = 97.12339
fv = 10.0699
fv = 4.064488
fv = 4.21894
fv = 45.76974
fv = 6.394373
run # 0: f=3.468902922
#>
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 3.327704
fv = 21.14717
fv = 1.340781e+154
fv = 1.340781e+154
fv = 10.23285
fv = 3.327704
fv = 1.340781e+154
fv = 3.64938
fv = 5.735179
fv = 1.340781e+154
fv = 10.73634
fv = 1.340781e+154
fv = 7.463061
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 5.885625
fv = 1.340781e+154
fv = 3.327704
fv = 3.327704
fv = 1.340781e+154
fv = 1.340781e+154
fv = 3.464929
fv = 3.327704
fv = 3.413684
fv = 3.556461
fv = 3.327704
fv = 1.340781e+154
fv = 34.29694
fv = 3.327704
fv = 3.327704
fv = 27909785
fv = 6.850387
fv = 5.47066
fv = 4.239413
fv = 57.06416
fv = 1.340781e+154
fv = 5.14255
fv = 31.30453
fv = 382.6135
fv = 3.327704
fv = 4.591112
fv = 1.340781e+154
fv = 31.30955
fv = 19.69557
fv = 3.358077
fv = 3.327704
fv = 3.327704
fv = 3.327704
fv = 4.443543
fv = 10.59892
fv = 1.340781e+154
fv = 1.340781e+154
fv = 3.327704
fv = 3.327704
fv = 6.734601
fv = 2.373054
fv = 2017.123
fv = 1.340781e+154
fv = 21.14717
fv = 1.340781e+154
fv = 6.297765
fv = 2.765992
fv = 3.690591
fv = 2.765992
fv = 2.373054
fv = 8.159782
fv = 2.373054
fv = 2.373054
fv = 2.373054
fv = 2.765992
fv = 1.340781e+154
fv = 3.805207
fv = 2.765992
fv = 3.690265
fv = 4.256987
fv = 2.463019
fv = 7.657253
fv = 24.39893
fv = 1.340781e+154
fv = 13.9946
fv = 4.279091
fv = 6.061023
fv = 2.71659
fv = 2.463019
fv = 1.340781e+154
fv = 3.419982
fv = 2.690114
fv = 2.765992
fv = 2.509946
fv = 2.641779
fv = 2.853109
fv = 2.373054
fv = 2.373054
fv = 3.544835
fv = 2.978639
fv = 2.765992
fv = 3.064945
fv = 2.373054
fv = 2.373054
fv = 15.98329
run # 1: f=2.373053894
#>
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 15.89554
fv = 31.30955
fv = 1.340781e+154
fv = 15.89554
fv = 15.89554
fv = 1.340781e+154
fv = 1908.744
fv = 18.78386
fv = 47.90774
fv = 7.788273
fv = 1.340781e+154
fv = 13.06906
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 286.2521
fv = 1.340781e+154
fv = 1.340781e+154
fv = 19337.78
fv = 1.968497
fv = 8.038017
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.968497
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 6.107956
fv = 10.81299
fv = 1.968497
fv = 1.968497
fv = 1.340781e+154
fv = 15.82514
fv = 1.340781e+154
fv = 117199181
fv = 1.340781e+154
fv = 749354.4
fv = 1.968497
fv = 1.340781e+154
fv = 1.968497
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 10.41315
fv = 1.340781e+154
fv = 15.08532
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1331.884
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.968497
fv = 1.340781e+154
fv = 214853297
fv = 1.968497
fv = 1.968497
fv = 1.968497
fv = 1.968497
fv = 1.968497
fv = 8.001029
fv = 1.340781e+154
fv = 15.08532
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.968497
fv = 1.968497
fv = 1.340781e+154
fv = 1.968497
fv = 1.968497
fv = 1.968497
fv = 1.968497
fv = 91592812
fv = 928.9916
run # 2: f=1.968497107
#>
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
run # 3: f=1.340780793e+154
#>
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 16.61674
fv = 31.30955
fv = 1.340781e+154
fv = 1.340781e+154
fv = 16.61674
fv = 81.90619
fv = 12.54685
fv = 1.340781e+154
fv = 1.340781e+154
fv = 2061.038
fv = 12.43064
fv = 12.43064
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 15.65936
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 12.43064
fv = 12.43064
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 12.54685
fv = 1.340781e+154
fv = 7.055916
fv = 11.43726
fv = 6.394633
fv = 185.2866
fv = 6.732663
fv = 27.9821
fv = 1.340781e+154
fv = 12.93109
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 179512.3
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 27.9821
fv = 27.9821
fv = 1.340781e+154
fv = 6.394633
fv = 1.340781e+154
fv = 7.300953
fv = 6.394633
fv = 1.340781e+154
fv = 27.9821
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 1.340781e+154
fv = 136.8057
fv = 1.340781e+154
fv = 6.732663
fv = 7.908271
fv = 6.732663
fv = 30.93223
fv = 7.300953
fv = 6.394633
fv = 3887590557
fv = 10.60194
fv = 921853.2
fv = 6.394633
fv = 7.799414
fv = 10.81299
fv = 1.340781e+154
fv = 10.37475
fv = 1.340781e+154
fv = 18.0428
fv = 120.0504
fv = 821719502
fv = 1.340781e+154
fv = 105.5025
fv = 27.22728
fv = 12.98466
fv = 9.506105
fv = 1.340781e+154
fv = 6.394633
fv = 6.394633
fv = 6.394633
fv = 1249.977
fv = 24.6881
fv = 6.394633
fv = 6.394633
fv = 1.340781e+154
fv = 1.340781e+154
fv = 6.394633
fv = 7.318669
fv = 83.3756
fv = 10.35921
fv = 12.93109
fv = 1.340781e+154
fv = 1.340781e+154
fv = 6.394633
fv = 1.340781e+154
fv = 27.22728
fv = 6.394633
fv = 1.340781e+154
fv = 6.394633
fv = 7.430585
fv = 22.2822
fv = 1.340781e+154
fv = 18.88104
fv = 13.28602
fv = 24.04289
fv = 6.394633
fv = 6.394633
fv = 5.525487
fv = 9.901138
fv = 1.340781e+154
fv = 185.2866
fv = 5.525487
fv = 5.525487
fv = 5.525487
fv = 5.525487
fv = 5.525487
fv = 5.525487
fv = 1.340781e+154
fv = 1.340781e+154
fv = 5.525487
fv = 8.93722
fv = 8.377299
fv = 8.416365
fv = 7.225668
fv = 9.049252
fv = 23.87911
fv = 6.1518
fv = 13.56561
fv = 28.51945
fv = 8.922956
fv = 5.525487
fv = 31.19281
run # 4: f=5.525487215
#>
#> bb eval : 683
#> best : 1.968497107
#> worst : 1.340780793e+154
#> solution: x = ( 0 0 1 4 2 0 0 0 0 0 3 1 2 10 1 2 1 3 5 4 ) f(x) = 1.968497107
#>
#>
fv = 1.968497
#> Warning: optimal segment equals search maximum (10): rerun with larger segments.max
#> Working...
print(learner$model)
#> Call:
#> crs.formula(formula = formula, data = data, weights = private$.get_weights(task))
# Make predictions for the test rows
predictions = learner$predict(task, row_ids = ids$test)
#> Working...
#> Warning: some 'x' values beyond boundary knots may cause ill-conditioned bases
#> Warning: some 'x' values beyond boundary knots may cause ill-conditioned bases
#>
# Score the predictions
predictions$score()
#> regr.mse
#> 1036.708