R Under development (unstable) (2021-03-23 r80109) -- "Unsuffered Consequences" Copyright (C) 2021 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. Natural language support but running in an English locale R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > pkgname <- "compboost" > source(file.path(R.home("share"), "R", "examples-header.R")) > options(warn = 1) > library('compboost') > > base::assign(".oldSearch", base::search(), pos = 'CheckExEnv') > base::assign(".old_wd", base::getwd(), pos = 'CheckExEnv') > cleanEx() > nameEx("BaselearnerCustom") > ### * BaselearnerCustom > > flush(stderr()); flush(stdout()) > > ### Name: BaselearnerCustom > ### Title: Create custom base-learner factory by using R functions. > ### Aliases: BaselearnerCustom > > ### ** Examples > > # Sample data: > data.mat = cbind(1, 1:10) > y = 2 + 3 * 1:10 > > # Create new data object: > data.source = InMemoryData$new(data.mat, "my.data.name") > data.target = InMemoryData$new() > > instantiateDataFun = function (X) { + return(X) + } > # Ordinary least squares estimator: > trainFun = function (y, X) { + return(solve(t(X) %*% X) %*% t(X) %*% y) + } > predictFun = function (model, newdata) { + return(as.matrix(newdata %*% model)) + } > extractParameter = function (model) { + return(as.matrix(model)) + } > > # Create new custom linear base-learner factory: > custom.lin.factory = BaselearnerCustom$new(data.source, data.target, + instantiateDataFun, trainFun, predictFun, extractParameter) > > # Get the transformed data: > custom.lin.factory$getData() [,1] [,2] [1,] 1 1 [2,] 1 2 [3,] 1 3 [4,] 1 4 [5,] 1 5 [6,] 1 6 [7,] 1 7 [8,] 1 8 [9,] 1 9 [10,] 1 10 > > # Summarize factory: > custom.lin.factory$summarizeFactory() Custom base-learner Factory: - Name of the used data: my.data.name - Factory creates the following base-learner: custom > > # Transform data manually: > custom.lin.factory$transformData(data.mat) [,1] [,2] [1,] 1 1 [2,] 1 2 [3,] 1 3 [4,] 1 4 [5,] 1 5 [6,] 1 6 [7,] 1 7 [8,] 1 8 [9,] 1 9 [10,] 1 10 > > > > > cleanEx() > nameEx("BaselearnerCustomCpp") > ### * BaselearnerCustomCpp > > flush(stderr()); flush(stdout()) > > ### Name: BaselearnerCustomCpp > ### Title: Create custom cpp base-learner factory by using cpp functions > ### and external pointer. > ### Aliases: BaselearnerCustomCpp > > ### ** Examples > > > > > cleanEx() > nameEx("BaselearnerPSpline") > ### * BaselearnerPSpline > > flush(stderr()); flush(stdout()) > > ### Name: BaselearnerPSpline > ### Title: Base-learner factory to do non-parametric B or P-spline > ### regression > ### Aliases: BaselearnerPSpline > > ### ** Examples > > # Sample data: > data.mat = cbind(1:10) > y = sin(1:10) > > # Create new data object: > data.source = InMemoryData$new(data.mat, "my.data.name") > data.target = InMemoryData$new() > > # Create new linear base-learner: > spline.factory = BaselearnerPSpline$new(data.source, data.target, + degree = 3, n_knots = 4, penalty = 2, differences = 2) > > # Get the transformed data: > spline.factory$getData() [,1] [,2] [,3] [,4] [,5] [,6] [1,] 0.16666667 0.66666667 0.166666667 0.0000000000 0.0000000000 0.000000000 [2,] 0.01463192 0.44375857 0.513031550 0.0285779607 0.0000000000 0.000000000 [3,] 0.00000000 0.11705533 0.655006859 0.2277091907 0.0002286237 0.000000000 [4,] 0.00000000 0.00617284 0.370370370 0.5740740741 0.0493827160 0.000000000 [5,] 0.00000000 0.00000000 0.078417924 0.6227709191 0.2969821674 0.001828989 [6,] 0.00000000 0.00000000 0.001828989 0.2969821674 0.6227709191 0.078417924 [7,] 0.00000000 0.00000000 0.000000000 0.0493827160 0.5740740741 0.370370370 [8,] 0.00000000 0.00000000 0.000000000 0.0002286237 0.2277091907 0.655006859 [9,] 0.00000000 0.00000000 0.000000000 0.0000000000 0.0285779607 0.513031550 [10,] 0.00000000 0.00000000 0.000000000 0.0000000000 0.0000000000 0.166666667 [,7] [,8] [1,] 0.00000000 0.00000000 [2,] 0.00000000 0.00000000 [3,] 0.00000000 0.00000000 [4,] 0.00000000 0.00000000 [5,] 0.00000000 0.00000000 [6,] 0.00000000 0.00000000 [7,] 0.00617284 0.00000000 [8,] 0.11705533 0.00000000 [9,] 0.44375857 0.01463192 [10,] 0.66666667 0.16666667 > > # Summarize factory: > spline.factory$summarizeFactory() Spline factory of degree 3 - Name of the used data: my.data.name - Factory creates the following base-learner: spline_degree_3 > > # Transform data manually: > spline.factory$transformData(data.mat) [,1] [,2] [,3] [,4] [,5] [,6] [1,] 0.16666667 0.66666667 0.166666667 0.0000000000 0.0000000000 0.000000000 [2,] 0.01463192 0.44375857 0.513031550 0.0285779607 0.0000000000 0.000000000 [3,] 0.00000000 0.11705533 0.655006859 0.2277091907 0.0002286237 0.000000000 [4,] 0.00000000 0.00617284 0.370370370 0.5740740741 0.0493827160 0.000000000 [5,] 0.00000000 0.00000000 0.078417924 0.6227709191 0.2969821674 0.001828989 [6,] 0.00000000 0.00000000 0.001828989 0.2969821674 0.6227709191 0.078417924 [7,] 0.00000000 0.00000000 0.000000000 0.0493827160 0.5740740741 0.370370370 [8,] 0.00000000 0.00000000 0.000000000 0.0002286237 0.2277091907 0.655006859 [9,] 0.00000000 0.00000000 0.000000000 0.0000000000 0.0285779607 0.513031550 [10,] 0.00000000 0.00000000 0.000000000 0.0000000000 0.0000000000 0.166666667 [,7] [,8] [1,] 0.00000000 0.00000000 [2,] 0.00000000 0.00000000 [3,] 0.00000000 0.00000000 [4,] 0.00000000 0.00000000 [5,] 0.00000000 0.00000000 [6,] 0.00000000 0.00000000 [7,] 0.00617284 0.00000000 [8,] 0.11705533 0.00000000 [9,] 0.44375857 0.01463192 [10,] 0.66666667 0.16666667 > > > > > cleanEx() > nameEx("BaselearnerPolynomial") > ### * BaselearnerPolynomial > > flush(stderr()); flush(stdout()) > > ### Name: BaselearnerPolynomial > ### Title: Base-learner factory to make polynomial regression > ### Aliases: BaselearnerPolynomial > > ### ** Examples > > # Sample data: > data.mat = cbind(1:10) > > # Create new data object: > data.source = InMemoryData$new(data.mat, "my.data.name") > data.target1 = InMemoryData$new() > data.target2 = InMemoryData$new() > > # Create new linear base-learner factory: > lin.factory = BaselearnerPolynomial$new(data.source, data.target1, + degree = 2, intercept = FALSE) > lin.factory.int = BaselearnerPolynomial$new(data.source, data.target2, + degree = 2, intercept = TRUE) > > # Get the transformed data: > lin.factory$getData() [,1] [1,] 1 [2,] 4 [3,] 9 [4,] 16 [5,] 25 [6,] 36 [7,] 49 [8,] 64 [9,] 81 [10,] 100 > lin.factory.int$getData() [,1] [,2] [1,] 1 1 [2,] 1 1 [3,] 1 1 [4,] 1 1 [5,] 1 1 [6,] 1 1 [7,] 1 1 [8,] 1 1 [9,] 1 1 [10,] 1 1 > > # Summarize factory: > lin.factory$summarizeFactory() Quadratic base-learner factory: - Name of the used data: my.data.name - Factory creates the following base-learner: polynomial_degree_2 > > # Transform data manually: > lin.factory$transformData(data.mat) [,1] [1,] 1 [2,] 4 [3,] 9 [4,] 16 [5,] 25 [6,] 36 [7,] 49 [8,] 64 [9,] 81 [10,] 100 > lin.factory.int$transformData(data.mat) [,1] [,2] [1,] 1 1 [2,] 1 4 [3,] 1 9 [4,] 1 16 [5,] 1 25 [6,] 1 36 [7,] 1 49 [8,] 1 64 [9,] 1 81 [10,] 1 100 > > > > > cleanEx() > nameEx("BlearnerFactoryList") > ### * BlearnerFactoryList > > flush(stderr()); flush(stdout()) > > ### Name: BlearnerFactoryList > ### Title: Base-learner factory list to define the set of base-learners > ### Aliases: BlearnerFactoryList > > ### ** Examples > > # Sample data: > data.mat = cbind(1:10) > > # Create new data object: > data.source = InMemoryData$new(data.mat, "my.data.name") > data.target1 = InMemoryData$new() > data.target2 = InMemoryData$new() > > lin.factory = BaselearnerPolynomial$new(data.source, data.target1, 1, TRUE) > poly.factory = BaselearnerPolynomial$new(data.source, data.target2, 2, TRUE) > > # Create new base-learner list: > my.bl.list = BlearnerFactoryList$new() > > # Register factories: > my.bl.list$registerFactory(lin.factory) > my.bl.list$registerFactory(poly.factory) > > # Get registered factories: > my.bl.list$printRegisteredFactories() Registered base-learner: - my.data.name_polynomial_degree_1 - my.data.name_polynomial_degree_2 > > # Get all target data matrices in one big matrix: > my.bl.list$getModelFrame() $colnames [1] "my.data.name_polynomial_degree_1x11" "my.data.name_polynomial_degree_1x12" [3] "my.data.name_polynomial_degree_2x11" "my.data.name_polynomial_degree_2x12" $model.frame [,1] [,2] [,3] [,4] [1,] 1 1 1 1 [2,] 1 2 1 1 [3,] 1 3 1 1 [4,] 1 4 1 1 [5,] 1 5 1 1 [6,] 1 6 1 1 [7,] 1 7 1 1 [8,] 1 8 1 1 [9,] 1 9 1 1 [10,] 1 10 1 1 > > # Clear list: > my.bl.list$clearRegisteredFactories() > > # Get number of registered factories: > my.bl.list$getNumberOfRegisteredFactories() [1] 0 > > > > > cleanEx() > nameEx("Compboost") > ### * Compboost > > flush(stderr()); flush(stdout()) > > ### Name: Compboost > ### Title: Compboost API > ### Aliases: Compboost > > ### ** Examples > > cboost = Compboost$new(mtcars, "mpg", loss = LossQuadratic$new()) > cboost$addBaselearner("hp", "spline", BaselearnerPSpline, degree = 3, + n.knots = 10, penalty = 2, differences = 2) > cboost$train(1000) 1/1000: risk = 16 25/1000: risk = 5.1 50/1000: risk = 4 75/1000: risk = 3.8 100/1000: risk = 3.8 125/1000: risk = 3.7 150/1000: risk = 3.7 175/1000: risk = 3.6 200/1000: risk = 3.6 225/1000: risk = 3.6 250/1000: risk = 3.5 275/1000: risk = 3.5 300/1000: risk = 3.5 325/1000: risk = 3.5 350/1000: risk = 3.5 375/1000: risk = 3.5 400/1000: risk = 3.5 425/1000: risk = 3.4 450/1000: risk = 3.4 475/1000: risk = 3.4 500/1000: risk = 3.4 525/1000: risk = 3.4 550/1000: risk = 3.4 575/1000: risk = 3.4 600/1000: risk = 3.4 625/1000: risk = 3.4 650/1000: risk = 3.4 675/1000: risk = 3.4 700/1000: risk = 3.4 725/1000: risk = 3.3 750/1000: risk = 3.3 775/1000: risk = 3.3 800/1000: risk = 3.3 825/1000: risk = 3.3 850/1000: risk = 3.3 875/1000: risk = 3.3 900/1000: risk = 3.3 925/1000: risk = 3.3 950/1000: risk = 3.3 975/1000: risk = 3.3 1000/1000: risk = 3.3 Train 1000 iterations in 0 Seconds. Final risk based on the train set: 3.3 > > table(cboost$getSelectedBaselearner()) hp_spline 1000 > cboost$plot("hp_spline") > > > > cleanEx() > nameEx("Compboost_internal") > ### * Compboost_internal > > flush(stderr()); flush(stdout()) > > ### Name: Compboost_internal > ### Title: Main Compboost Class > ### Aliases: Compboost_internal > > ### ** Examples > > > # Some data: > df = mtcars > df$mpg.cat = ifelse(df$mpg > 20, 1, -1) > > # # Create new variable to check the polynomial base-learner with degree 2: > # df$hp2 = df[["hp"]]^2 > > # Data for the baselearner are matrices: > X.hp = as.matrix(df[["hp"]]) > X.wt = as.matrix(df[["wt"]]) > > # Target variable: > y = df[["mpg.cat"]] > > data.source.hp = InMemoryData$new(X.hp, "hp") > data.source.wt = InMemoryData$new(X.wt, "wt") > > data.target.hp1 = InMemoryData$new() > data.target.hp2 = InMemoryData$new() > data.target.wt1 = InMemoryData$new() > data.target.wt2 = InMemoryData$new() > > # List for oob logging: > oob.data = list(data.source.hp, data.source.wt) > > # List to test prediction on newdata: > test.data = oob.data > > # Factories: > linear.factory.hp = BaselearnerPolynomial$new(data.source.hp, data.target.hp1, 1, TRUE) > linear.factory.wt = BaselearnerPolynomial$new(data.source.wt, data.target.wt1, 1, TRUE) > quadratic.factory.hp = BaselearnerPolynomial$new(data.source.hp, data.target.hp2, 2, TRUE) > spline.factory.wt = BaselearnerPSpline$new(data.source.wt, data.target.wt2, 3, 10, 2, 2) > > # Create new factory list: > factory.list = BlearnerFactoryList$new() > > # Register factories: > factory.list$registerFactory(linear.factory.hp) > factory.list$registerFactory(linear.factory.wt) > factory.list$registerFactory(quadratic.factory.hp) > factory.list$registerFactory(spline.factory.wt) > > # Define loss: > loss.bin = LossBinomial$new() > > # Define optimizer: > optimizer = OptimizerCoordinateDescent$new() > > ## Logger > > # Define logger. We want just the iterations as stopper but also track the > # time, inbag risk and oob risk: > log.iterations = LoggerIteration$new(TRUE, 500) > log.time = LoggerTime$new(FALSE, 500, "microseconds") > log.inbag = LoggerInbagRisk$new(FALSE, loss.bin, 0.05) > log.oob = LoggerOobRisk$new(FALSE, loss.bin, 0.05, oob.data, y) > > # Define new logger list: > logger.list = LoggerList$new() > > # Register the logger: > logger.list$registerLogger(" iteration.logger", log.iterations) > logger.list$registerLogger("time.logger", log.time) > logger.list$registerLogger("inbag.binomial", log.inbag) > logger.list$registerLogger("oob.binomial", log.oob) > > # Run compboost: > # -------------- > > # Initialize object: > cboost = Compboost_internal$new( + response = y, + learning_rate = 0.05, + stop_if_all_stopper_fulfilled = FALSE, + factory_list = factory.list, + loss = loss.bin, + logger_list = logger.list, + optimizer = optimizer + ) > > # Train the model (we want to print the trace): > cboost$train(trace = 50) 1/500: risk = 0.68 0.68: 0.68: 2: 50/500: risk = 0.43 0.43: 0.43: 14077: 100/500: risk = 0.32 0.32: 0.32: 29725: 150/500: risk = 0.27 0.27: 0.27: 42704: 200/500: risk = 0.24 0.24: 0.24: 56191: 250/500: risk = 0.21 0.21: 0.21: 69043: 300/500: risk = 0.19 0.19: 0.19: 95034: 350/500: risk = 0.18 0.18: 0.18: 121323: 400/500: risk = 0.17 0.17: 0.17: 147434: 450/500: risk = 0.16 0.16: 0.16: 160310: 500/500: risk = 0.15 0.15: 0.15: 173046: Train 500 iterations in 0 Seconds. Final risk based on the train set: 0.15 > cboost Compboost object with: - Learning Rate: 0.05 - Are all logger used as stopper: 0 - Model is already trained with 500 iterations/fitted baselearner - Actual state is at iteration 500 - Loss optimal initialization: -0.13 To get more information check the other objects! > > # Get estimated parameter: > cboost$getEstimatedParameter() $hp_polynomial_degree_1 [,1] [1,] 2.62874827 [2,] -0.01913396 $wt_spline_degree_3 [,1] [1,] 2.1223239 [2,] 2.1140690 [3,] 2.1124133 [4,] 2.0544375 [5,] 1.7055817 [6,] 1.0234459 [7,] -0.5234731 [8,] -2.1219046 [9,] -2.5020902 [10,] -2.4939805 [11,] -2.3079948 [12,] -2.0167416 [13,] -1.6912421 [14,] -1.3667113 > > # Get trace of selected base-learner: > cboost$getSelectedBaselearner() [1] "wt_spline_degree_3" "wt_spline_degree_3" "wt_spline_degree_3" [4] "wt_spline_degree_3" "wt_spline_degree_3" "wt_spline_degree_3" [7] "wt_spline_degree_3" "wt_spline_degree_3" "wt_spline_degree_3" [10] "wt_spline_degree_3" "wt_spline_degree_3" "wt_spline_degree_3" [13] "wt_spline_degree_3" "wt_spline_degree_3" "wt_spline_degree_3" [16] "wt_spline_degree_3" "wt_spline_degree_3" "wt_spline_degree_3" [19] "wt_spline_degree_3" "wt_spline_degree_3" "wt_spline_degree_3" [22] "wt_spline_degree_3" "wt_spline_degree_3" "wt_spline_degree_3" [25] "wt_spline_degree_3" "wt_spline_degree_3" "wt_spline_degree_3" [28] "wt_spline_degree_3" "wt_spline_degree_3" "wt_spline_degree_3" [31] "wt_spline_degree_3" "wt_spline_degree_3" "wt_spline_degree_3" [34] "wt_spline_degree_3" "wt_spline_degree_3" "wt_spline_degree_3" [37] "wt_spline_degree_3" "wt_spline_degree_3" "hp_polynomial_degree_1" [40] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [43] "hp_polynomial_degree_1" "wt_spline_degree_3" "wt_spline_degree_3" [46] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [49] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [52] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [55] "wt_spline_degree_3" "wt_spline_degree_3" "hp_polynomial_degree_1" [58] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [61] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [64] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [67] "hp_polynomial_degree_1" "wt_spline_degree_3" "wt_spline_degree_3" [70] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [73] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [76] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [79] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [82] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [85] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [88] "hp_polynomial_degree_1" "wt_spline_degree_3" "wt_spline_degree_3" [91] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [94] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [97] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [100] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [103] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [106] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [109] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [112] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [115] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [118] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [121] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [124] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [127] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [130] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [133] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [136] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [139] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [142] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [145] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [148] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [151] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [154] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [157] "wt_spline_degree_3" "hp_polynomial_degree_1" "hp_polynomial_degree_1" [160] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [163] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [166] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [169] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [172] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [175] "hp_polynomial_degree_1" "hp_polynomial_degree_1" "wt_spline_degree_3" [178] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [181] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [184] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [187] "wt_spline_degree_3" "hp_polynomial_degree_1" "hp_polynomial_degree_1" [190] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [193] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [196] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [199] "hp_polynomial_degree_1" "hp_polynomial_degree_1" "wt_spline_degree_3" [202] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [205] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [208] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [211] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [214] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [217] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [220] "wt_spline_degree_3" "hp_polynomial_degree_1" "hp_polynomial_degree_1" [223] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [226] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [229] "wt_spline_degree_3" "hp_polynomial_degree_1" "hp_polynomial_degree_1" [232] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [235] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [238] "wt_spline_degree_3" "hp_polynomial_degree_1" "hp_polynomial_degree_1" [241] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [244] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [247] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [250] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [253] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [256] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [259] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [262] "hp_polynomial_degree_1" "hp_polynomial_degree_1" "wt_spline_degree_3" [265] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [268] "wt_spline_degree_3" "hp_polynomial_degree_1" "hp_polynomial_degree_1" [271] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [274] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [277] "wt_spline_degree_3" "hp_polynomial_degree_1" "hp_polynomial_degree_1" [280] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [283] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [286] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [289] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [292] "hp_polynomial_degree_1" "hp_polynomial_degree_1" "wt_spline_degree_3" [295] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [298] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [301] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [304] "hp_polynomial_degree_1" "hp_polynomial_degree_1" "wt_spline_degree_3" [307] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [310] "wt_spline_degree_3" "hp_polynomial_degree_1" "hp_polynomial_degree_1" [313] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [316] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [319] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [322] "wt_spline_degree_3" "hp_polynomial_degree_1" "hp_polynomial_degree_1" [325] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [328] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [331] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [334] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [337] "hp_polynomial_degree_1" "hp_polynomial_degree_1" "wt_spline_degree_3" [340] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [343] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [346] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [349] "hp_polynomial_degree_1" "hp_polynomial_degree_1" "wt_spline_degree_3" [352] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [355] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [358] "wt_spline_degree_3" "hp_polynomial_degree_1" "hp_polynomial_degree_1" [361] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [364] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [367] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [370] "wt_spline_degree_3" "hp_polynomial_degree_1" "hp_polynomial_degree_1" [373] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [376] "hp_polynomial_degree_1" "hp_polynomial_degree_1" "wt_spline_degree_3" [379] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [382] "wt_spline_degree_3" "hp_polynomial_degree_1" "hp_polynomial_degree_1" [385] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [388] "hp_polynomial_degree_1" "hp_polynomial_degree_1" "wt_spline_degree_3" [391] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [394] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [397] "wt_spline_degree_3" "hp_polynomial_degree_1" "hp_polynomial_degree_1" [400] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [403] "hp_polynomial_degree_1" "hp_polynomial_degree_1" "wt_spline_degree_3" [406] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [409] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [412] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [415] "hp_polynomial_degree_1" "hp_polynomial_degree_1" "wt_spline_degree_3" [418] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [421] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [424] "wt_spline_degree_3" "hp_polynomial_degree_1" "hp_polynomial_degree_1" [427] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [430] "hp_polynomial_degree_1" "hp_polynomial_degree_1" "wt_spline_degree_3" [433] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [436] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [439] "wt_spline_degree_3" "hp_polynomial_degree_1" "hp_polynomial_degree_1" [442] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [445] "hp_polynomial_degree_1" "hp_polynomial_degree_1" "wt_spline_degree_3" [448] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [451] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [454] "wt_spline_degree_3" "hp_polynomial_degree_1" "hp_polynomial_degree_1" [457] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [460] "hp_polynomial_degree_1" "hp_polynomial_degree_1" "wt_spline_degree_3" [463] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [466] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [469] "wt_spline_degree_3" "hp_polynomial_degree_1" "hp_polynomial_degree_1" [472] "wt_spline_degree_3" "hp_polynomial_degree_1" "hp_polynomial_degree_1" [475] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [478] "hp_polynomial_degree_1" "hp_polynomial_degree_1" "wt_spline_degree_3" [481] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [484] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [487] "wt_spline_degree_3" "hp_polynomial_degree_1" "hp_polynomial_degree_1" [490] "wt_spline_degree_3" "hp_polynomial_degree_1" "wt_spline_degree_3" [493] "hp_polynomial_degree_1" "hp_polynomial_degree_1" "wt_spline_degree_3" [496] "hp_polynomial_degree_1" "wt_spline_degree_3" "hp_polynomial_degree_1" [499] "hp_polynomial_degree_1" "wt_spline_degree_3" > > # Set to iteration 200: > cboost$setToIteration(200) > > # Get new parameter values: > cboost$getEstimatedParameter() $hp_polynomial_degree_1 [,1] [1,] 1.381264835 [2,] -0.009865462 $wt_spline_degree_3 [,1] [1,] 1.6120957 [2,] 1.6356993 [3,] 1.6560717 [4,] 1.6082144 [5,] 1.3248234 [6,] 0.7429991 [7,] -0.3758869 [8,] -1.4904949 [9,] -1.8416663 [10,] -1.8917575 [11,] -1.7876185 [12,] -1.5914161 [13,] -1.3639838 [14,] -1.1363683 > > > > > cleanEx() > nameEx("InMemoryData") > ### * InMemoryData > > flush(stderr()); flush(stdout()) > > ### Name: InMemoryData > ### Title: In memory data class to store data in RAM > ### Aliases: InMemoryData > > ### ** Examples > > # Sample data: > data.mat = cbind(1:10) > > # Create new data object: > data.obj = InMemoryData$new(data.mat, "my.data.name") > > # Get data and identifier: > data.obj$getData() [,1] [1,] 1 [2,] 2 [3,] 3 [4,] 4 [5,] 5 [6,] 6 [7,] 7 [8,] 8 [9,] 9 [10,] 10 > data.obj$getIdentifier() [1] "my.data.name" > > > > > cleanEx() > nameEx("LoggerInbagRisk") > ### * LoggerInbagRisk > > flush(stderr()); flush(stdout()) > > ### Name: LoggerInbagRisk > ### Title: Logger class to log the inbag risk > ### Aliases: LoggerInbagRisk > > ### ** Examples > > # Used loss: > log.bin = LossBinomial$new() > > # Define logger: > log.inbag.risk = LoggerInbagRisk$new(FALSE, log.bin, 0.05) > > # Summarize logger: > log.inbag.risk$summarizeLogger() Inbag risk logger: - Use logger as stopper: 0> > > > > cleanEx() > nameEx("LoggerIteration") > ### * LoggerIteration > > flush(stderr()); flush(stdout()) > > ### Name: LoggerIteration > ### Title: Logger class to log the current iteration > ### Aliases: LoggerIteration > > ### ** Examples > > # Define logger: > log.iters = LoggerIteration$new(FALSE, 100) > > # Summarize logger: > log.iters$summarizeLogger() Iteration logger: - Maximal iterations: 100 - Use logger as stopper: 0 > > > > > cleanEx() > nameEx("LoggerList") > ### * LoggerList > > flush(stderr()); flush(stdout()) > > ### Name: LoggerList > ### Title: Logger list class to collect all loggers > ### Aliases: LoggerList > > ### ** Examples > > # Define logger: > log.iters = LoggerIteration$new(TRUE, 100) > log.time = LoggerTime$new(FALSE, 20, "minutes") > > # Create logger list: > logger.list = LoggerList$new() > > # Register new loggeR: > logger.list$registerLogger("iteration", log.iters) > logger.list$registerLogger("time", log.time) > > # Print registered logger: > logger.list$printRegisteredLogger() Registered Logger: >>iteration<< Logger >>time<< Logger > > # Important: The keys has to be unique: > logger.list$registerLogger("iteration", log.iters) > > # Still just two logger: > logger.list$printRegisteredLogger() Registered Logger: >>iteration<< Logger >>time<< Logger > > # Remove all logger: > logger.list$clearRegisteredLogger() > > # Get number of registered logger: > logger.list$getNumberOfRegisteredLogger() [1] 0 > > > > > cleanEx() > nameEx("LoggerOobRisk") > ### * LoggerOobRisk > > flush(stderr()); flush(stdout()) > > ### Name: LoggerOobRisk > ### Title: Logger class to log the out of bag risk > ### Aliases: LoggerOobRisk > > ### ** Examples > > # Define data: > X1 = cbind(1:10) > X2 = cbind(10:1) > data.source1 = InMemoryData$new(X1, "x1") > data.source2 = InMemoryData$new(X2, "x2") > > oob.list = list(data.source1, data.source2) > > set.seed(123) > y.oob = rnorm(10) > > # Used loss: > log.bin = LossBinomial$new() > > # Define logger: > log.oob.risk = LoggerOobRisk$new(FALSE, log.bin, 0.05, oob.list, y.oob) > > # Summarize logger: > log.oob.risk$summarizeLogger() Out of bag risk logger: compboost_modules.cpp:1690:9: runtime error: load of value 190, which is not a valid value for type 'bool' #0 0x7fce3b67db3b in LoggerOobRiskWrapper::summarizeLogger() /data/gannet/ripley/R/packages/tests-gcc-SAN/compboost/src/compboost_modules.cpp:1690 #1 0x7fce3b62f0be in Rcpp::CppMethod0::operator()(LoggerOobRiskWrapper*, SEXPREC**) /data/gannet/ripley/R/test-4.1/Rcpp/include/Rcpp/module/Module_generated_CppMethod.h:51 #2 0x7fce3bb0db13 in Rcpp::class_::invoke_void(SEXPREC*, SEXPREC*, SEXPREC**, int) /data/gannet/ripley/R/test-4.1/Rcpp/include/Rcpp/module/class.h:212 #3 0x7fce3d6c84ef in CppMethod__invoke_void(SEXPREC*) /tmp/RtmpZR7CAT/R.INSTALL38ca9338efedae/Rcpp/src/module.cpp:200 #4 0x56c86e in do_External /data/gannet/ripley/R/svn/R-devel/src/main/dotcode.c:576 #5 0x6712fe in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:830 #6 0x678cf6 in do_begin /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2517 #7 0x670d08 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:802 #8 0x675304 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1897 #9 0x6777a7 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1823 #10 0x6708df in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:850 #11 0x6f038d in Rf_ReplIteration /data/gannet/ripley/R/svn/R-devel/src/main/main.c:264 #12 0x6f09d8 in R_ReplConsole /data/gannet/ripley/R/svn/R-devel/src/main/main.c:314 #13 0x6f0b24 in run_Rmainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1113 #14 0x6f0b72 in Rf_mainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1120 #15 0x41b3d8 in main /data/gannet/ripley/R/svn/R-devel/src/main/Rmain.c:29 #16 0x7fce4dc07081 in __libc_start_main (/lib64/libc.so.6+0x27081) #17 0x41db5d in _start (/data/gannet/ripley/R/gcc-SAN/bin/exec/R+0x41db5d) - Use logger as stopper: compboost_modules.cpp:1693:53: runtime error: load of value 190, which is not a valid value for type 'bool' #0 0x7fce3b67db54 in LoggerOobRiskWrapper::summarizeLogger() /data/gannet/ripley/R/packages/tests-gcc-SAN/compboost/src/compboost_modules.cpp:1693 #1 0x7fce3b62f0be in Rcpp::CppMethod0::operator()(LoggerOobRiskWrapper*, SEXPREC**) /data/gannet/ripley/R/test-4.1/Rcpp/include/Rcpp/module/Module_generated_CppMethod.h:51 #2 0x7fce3bb0db13 in Rcpp::class_::invoke_void(SEXPREC*, SEXPREC*, SEXPREC**, int) /data/gannet/ripley/R/test-4.1/Rcpp/include/Rcpp/module/class.h:212 #3 0x7fce3d6c84ef in CppMethod__invoke_void(SEXPREC*) /tmp/RtmpZR7CAT/R.INSTALL38ca9338efedae/Rcpp/src/module.cpp:200 #4 0x56c86e in do_External /data/gannet/ripley/R/svn/R-devel/src/main/dotcode.c:576 #5 0x6712fe in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:830 #6 0x678cf6 in do_begin /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2517 #7 0x670d08 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:802 #8 0x675304 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1897 #9 0x6777a7 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1823 #10 0x6708df in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:850 #11 0x6f038d in Rf_ReplIteration /data/gannet/ripley/R/svn/R-devel/src/main/main.c:264 #12 0x6f09d8 in R_ReplConsole /data/gannet/ripley/R/svn/R-devel/src/main/main.c:314 #13 0x6f0b24 in run_Rmainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1113 #14 0x6f0b72 in Rf_mainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1120 #15 0x41b3d8 in main /data/gannet/ripley/R/svn/R-devel/src/main/Rmain.c:29 #16 0x7fce4dc07081 in __libc_start_main (/lib64/libc.so.6+0x27081) #17 0x41db5d in _start (/data/gannet/ripley/R/gcc-SAN/bin/exec/R+0x41db5d) 0> > > > > cleanEx() > nameEx("LoggerTime") > ### * LoggerTime > > flush(stderr()); flush(stdout()) > > ### Name: LoggerTime > ### Title: Logger class to log the elapsed time > ### Aliases: LoggerTime > > ### ** Examples > > # Define logger: > log.time = LoggerTime$new(FALSE, 20, "minutes") > > # Summarize logger: > log.time$summarizeLogger() Time logger: - Tracked time unit: minutes > > > > > cleanEx() > nameEx("LossAbsolute") > ### * LossAbsolute > > flush(stderr()); flush(stdout()) > > ### Name: LossAbsolute > ### Title: Absolute loss for regression tasks. > ### Aliases: LossAbsolute > > ### ** Examples > > > # Create new loss object: > absolute.loss = LossAbsolute$new() > absolute.loss LossAbsolute Loss: Loss function: L(y,x) = |y - f(x)| > > > > > cleanEx() > nameEx("LossBinomial") > ### * LossBinomial > > flush(stderr()); flush(stdout()) > > ### Name: LossBinomial > ### Title: 0-1 Loss for binary classification derived of the binomial > ### distribution > ### Aliases: LossBinomial > > ### ** Examples > > > # Create new loss object: > bin.loss = LossBinomial$new() > bin.loss LossBinomial Loss: Loss function: L(y,x) = log(1 + exp(-2yf(x)) > > > > > cleanEx() > nameEx("LossCustom") > ### * LossCustom > > flush(stderr()); flush(stdout()) > > ### Name: LossCustom > ### Title: Create LossCustom by using R functions. > ### Aliases: LossCustom > > ### ** Examples > > > # Loss function: > myLoss = function (true.values, prediction) { + return (0.5 * (true.values - prediction)^2) + } > # Gradient of loss function: > myGradient = function (true.values, prediction) { + return (prediction - true.values) + } > # Constant initialization: > myConstInit = function (true.values) { + return (mean(true.values)) + } > > # Create new custom quadratic loss: > my.loss = LossCustom$new(myLoss, myGradient, myConstInit) > > > > > cleanEx() > nameEx("LossCustomCpp") > ### * LossCustomCpp > > flush(stderr()); flush(stdout()) > > ### Name: LossCustomCpp > ### Title: Create custom cpp losses by using cpp functions and external > ### pointer. > ### Aliases: LossCustomCpp > > ### ** Examples > > > > > cleanEx() > nameEx("LossQuadratic") > ### * LossQuadratic > > flush(stderr()); flush(stdout()) > > ### Name: LossQuadratic > ### Title: Quadratic loss for regression tasks. > ### Aliases: LossQuadratic > > ### ** Examples > > > # Create new loss object: > quadratic.loss = LossQuadratic$new() > quadratic.loss LossQuadratic Loss: Loss function: L(y,x) = 0.5 * (y - f(x))^2 > > > > > cleanEx() > nameEx("OptimizerCoordinateDescent") > ### * OptimizerCoordinateDescent > > flush(stderr()); flush(stdout()) > > ### Name: OptimizerCoordinateDescent > ### Title: Greedy Optimizer > ### Aliases: OptimizerCoordinateDescent > > ### ** Examples > > > # Define optimizer: > optimizer = OptimizerCoordinateDescent$new() > > > > > cleanEx() > nameEx("boostLinear") > ### * boostLinear > > flush(stderr()); flush(stdout()) > > ### Name: boostLinear > ### Title: Wrapper to boost linear models for each feature. > ### Aliases: boostLinear > > ### ** Examples > > mod = boostLinear(data = iris, target = "Sepal.Length", loss = LossQuadratic$new()) 1/100: risk = 0.32 2/100: risk = 0.29 4/100: risk = 0.25 6/100: risk = 0.22 8/100: risk = 0.2 10/100: risk = 0.17 12/100: risk = 0.16 14/100: risk = 0.14 16/100: risk = 0.13 18/100: risk = 0.12 20/100: risk = 0.12 22/100: risk = 0.11 24/100: risk = 0.1 26/100: risk = 0.1 28/100: risk = 0.096 30/100: risk = 0.094 32/100: risk = 0.091 34/100: risk = 0.089 36/100: risk = 0.087 38/100: risk = 0.085 40/100: risk = 0.084 42/100: risk = 0.082 44/100: risk = 0.08 46/100: risk = 0.079 48/100: risk = 0.078 50/100: risk = 0.076 52/100: risk = 0.075 54/100: risk = 0.074 56/100: risk = 0.073 58/100: risk = 0.072 60/100: risk = 0.071 62/100: risk = 0.07 64/100: risk = 0.069 66/100: risk = 0.068 68/100: risk = 0.067 70/100: risk = 0.067 72/100: risk = 0.066 74/100: risk = 0.065 76/100: risk = 0.065 78/100: risk = 0.064 80/100: risk = 0.063 82/100: risk = 0.063 84/100: risk = 0.062 86/100: risk = 0.062 88/100: risk = 0.062 90/100: risk = 0.061 92/100: risk = 0.061 94/100: risk = 0.06 96/100: risk = 0.06 98/100: risk = 0.06 100/100: risk = 0.059 Train 100 iterations in 0 Seconds. Final risk based on the train set: 0.06 > mod$getBaselearnerNames() [1] "Sepal.Width_linear" "Petal.Length_linear" [3] "Petal.Width_linear" "Species_setosa_category" [5] "Species_versicolor_category" "Species_virginica_category" > mod$getEstimatedCoef() $Petal.Length_linear [,1] [1,] -1.5712285 [2,] 0.4181023 $Sepal.Width_linear [,1] [1,] -1.165480 [2,] 0.381208 $offset [1] 5.843333 > table(mod$getSelectedBaselearner()) Petal.Length_linear Sepal.Width_linear 65 35 > mod$predict() [,1] [1,] 5.026196 [2,] 4.835592 [3,] 4.870024 [4,] 4.915523 [5,] 5.064317 [6,] 5.304110 [7,] 4.988075 [8,] 5.029886 [9,] 4.797471 [10,] 4.915523 [11,] 5.144248 [12,] 5.071696 [13,] 4.835592 [14,] 4.710161 [15,] 5.133180 [16,] 5.411094 [17,] 5.136869 [18,] 5.026196 [19,] 5.265989 [20,] 5.182369 [21,] 5.113506 [22,] 5.144248 [23,] 4.897076 [24,] 5.075385 [25,] 5.197126 [26,] 4.919213 [27,] 5.071696 [28,] 5.068006 [29,] 4.988075 [30,] 4.995454 [31,] 4.957333 [32,] 5.029886 [33,] 5.296731 [34,] 5.293042 [35,] 4.915523 [36,] 4.828213 [37,] 4.984386 [38,] 5.064317 [39,] 4.793782 [40,] 5.029886 [41,] 4.984386 [42,] 4.526936 [43,] 4.870024 [44,] 5.109817 [45,] 5.349610 [46,] 4.835592 [47,] 5.224179 [48,] 4.911834 [49,] 5.144248 [50,] 4.949955 [51,] 6.291571 [52,] 6.207951 [53,] 6.337071 [54,] 5.655813 [55,] 6.097278 [56,] 6.055468 [57,] 6.329692 [58,] 5.401262 [59,] 6.135399 [60,] 5.766486 [61,] 5.332399 [62,] 6.006279 [63,] 5.617692 [64,] 6.177209 [65,] 5.717296 [66,] 6.128020 [67,] 6.131709 [68,] 5.850106 [69,] 5.826743 [70,] 5.690244 [71,] 6.333382 [72,] 5.846417 [73,] 6.108346 [74,] 6.139088 [75,] 6.009968 [76,] 6.089899 [77,] 6.180898 [78,] 6.340760 [79,] 6.093589 [80,] 5.561124 [81,] 5.610313 [82,] 5.568503 [83,] 5.766486 [84,] 6.268208 [85,] 6.131709 [86,] 6.284193 [87,] 6.253451 [88,] 5.823054 [89,] 5.964468 [90,] 5.732054 [91,] 5.937416 [92,] 6.173520 [93,] 5.770175 [94,] 5.363141 [95,] 5.891916 [96,] 6.006279 [97,] 5.968158 [98,] 6.009968 [99,] 5.313952 [100,] 5.888227 [101,] 6.873225 [102,] 6.268208 [103,] 6.717053 [104,] 6.553501 [105,] 6.675242 [106,] 7.009724 [107,] 5.941105 [108,] 6.846173 [109,] 6.484638 [110,] 7.029398 [111,] 6.458812 [112,] 6.351829 [113,] 6.549812 [114,] 6.150156 [115,] 6.306329 [116,] 6.542433 [117,] 6.549812 [118,] 7.356501 [119,] 6.982672 [120,] 6.035794 [121,] 6.709674 [122,] 6.222709 [123,] 6.975293 [124,] 6.184588 [125,] 6.747795 [126,] 6.835104 [127,] 6.180898 [128,] 6.298950 [129,] 6.515380 [130,] 6.675242 [131,] 6.724431 [132,] 7.231070 [133,] 6.515380 [134,] 6.306329 [135,] 6.439139 [136,] 6.800673 [137,] 6.744105 [138,] 6.587932 [139,] 6.257140 [140,] 6.546122 [141,] 6.629743 [142,] 6.420692 [143,] 6.268208 [144,] 6.793294 [145,] 6.747795 [146,] 6.424381 [147,] 6.150156 [148,] 6.424381 [149,] 6.660485 [150,] 6.382571 > mod$plot("Sepal.Width_linear") > > > > cleanEx() > nameEx("boostSplines") > ### * boostSplines > > flush(stderr()); flush(stdout()) > > ### Name: boostSplines > ### Title: Wrapper to boost p spline models for each feature. > ### Aliases: boostSplines > > ### ** Examples > > mod = boostSplines(data = iris, target = "Sepal.Length", loss = LossQuadratic$new()) 1/100: risk = 0.31 2/100: risk = 0.29 4/100: risk = 0.25 6/100: risk = 0.21 8/100: risk = 0.18 10/100: risk = 0.16 12/100: risk = 0.14 14/100: risk = 0.13 16/100: risk = 0.11 18/100: risk = 0.1 20/100: risk = 0.095 22/100: risk = 0.088 24/100: risk = 0.083 26/100: risk = 0.078 28/100: risk = 0.074 30/100: risk = 0.071 32/100: risk = 0.069 34/100: risk = 0.067 36/100: risk = 0.065 38/100: risk = 0.063 40/100: risk = 0.062 42/100: risk = 0.061 44/100: risk = 0.06 46/100: risk = 0.059 48/100: risk = 0.058 50/100: risk = 0.057 52/100: risk = 0.056 54/100: risk = 0.056 56/100: risk = 0.055 58/100: risk = 0.054 60/100: risk = 0.054 62/100: risk = 0.053 64/100: risk = 0.052 66/100: risk = 0.052 68/100: risk = 0.051 70/100: risk = 0.051 72/100: risk = 0.051 74/100: risk = 0.05 76/100: risk = 0.05 78/100: risk = 0.049 80/100: risk = 0.049 82/100: risk = 0.049 84/100: risk = 0.048 86/100: risk = 0.048 88/100: risk = 0.048 90/100: risk = 0.048 92/100: risk = 0.047 94/100: risk = 0.047 96/100: risk = 0.047 98/100: risk = 0.047 100/100: risk = 0.046 Train 100 iterations in 0 Seconds. Final risk based on the train set: 0.05 > mod$getBaselearnerNames() [1] "Sepal.Width_spline" "Petal.Length_spline" [3] "Petal.Width_spline" "Species_setosa_category" [5] "Species_versicolor_category" "Species_virginica_category" > mod$getEstimatedCoef() $Petal.Length_spline [,1] [1,] -1.27655623 [2,] -1.02868710 [3,] -0.80869499 [4,] -0.64501328 [5,] -0.60804362 [6,] -0.67098894 [7,] -0.72253225 [8,] -0.74722791 [9,] -0.73021911 [10,] -0.64460869 [11,] -0.43330475 [12,] -0.23739283 [13,] -0.06561192 [14,] 0.12348822 [15,] 0.31929391 [16,] 0.33698642 [17,] 0.36378188 [18,] 0.49733031 [19,] 0.76328460 [20,] 1.17495747 [21,] 1.50764528 [22,] 1.63449003 [23,] 1.66689823 [24,] 1.68946047 $Petal.Width_spline [,1] [1,] -0.338131870 [2,] -0.225844022 [3,] -0.126296587 [4,] -0.055913275 [5,] -0.011893486 [6,] -0.039424085 [7,] -0.053509048 [8,] -0.037121939 [9,] -0.013183888 [10,] -0.005443167 [11,] -0.017218232 [12,] 0.016953700 [13,] 0.116574026 [14,] 0.124258859 [15,] 0.049440484 [16,] -0.028482334 [17,] -0.020365722 [18,] 0.029380101 [19,] 0.116363071 [20,] 0.175609665 [21,] 0.188266047 [22,] 0.084279153 [23,] -0.061607502 [24,] -0.202273741 $Sepal.Width_spline [,1] [1,] -0.315693409 [2,] -0.190372347 [3,] -0.079465301 [4,] -0.054302588 [5,] -0.112802782 [6,] -0.153815245 [7,] -0.134908448 [8,] -0.094636460 [9,] -0.025263960 [10,] -0.014996999 [11,] 0.024256704 [12,] 0.075458975 [13,] -0.018160580 [14,] -0.060979174 [15,] 0.005604253 [16,] 0.054736658 [17,] 0.104380263 [18,] 0.183950502 [19,] 0.306248039 [20,] 0.368566801 [21,] 0.377059930 [22,] 0.397053215 [23,] 0.423500566 [24,] 0.451023149 $offset [1] 5.843333 > table(mod$getSelectedBaselearner()) Petal.Length_spline Petal.Width_spline Sepal.Width_spline 46 25 29 > mod$predict() [,1] [1,] 4.968389 [2,] 4.973951 [3,] 4.922816 [4,] 5.060615 [5,] 5.013414 [6,] 5.438515 [7,] 4.988467 [8,] 4.973458 [9,] 4.945529 [10,] 4.974648 [11,] 5.111661 [12,] 5.010964 [13,] 4.887984 [14,] 4.678675 [15,] 5.160790 [16,] 5.544281 [17,] 5.264904 [18,] 5.034951 [19,] 5.303439 [20,] 5.243847 [21,] 5.033051 [22,] 5.222118 [23,] 4.722821 [24,] 5.153680 [25,] 5.035398 [26,] 5.063010 [27,] 5.121421 [28,] 5.019942 [29,] 4.921905 [30,] 5.074341 [31,] 5.098121 [32,] 5.083915 [33,] 5.293841 [34,] 5.341475 [35,] 5.060615 [36,] 4.852444 [37,] 4.905923 [38,] 4.927447 [39,] 4.911485 [40,] 4.973458 [41,] 4.972485 [42,] 4.871798 [43,] 4.922816 [44,] 5.155558 [45,] 5.349681 [46,] 5.040512 [47,] 5.214791 [48,] 4.985282 [49,] 5.111661 [50,] 4.927403 [51,] 6.290309 [52,] 6.180196 [53,] 6.329425 [54,] 5.698490 [55,] 6.174774 [56,] 6.084858 [57,] 6.156821 [58,] 5.109093 [59,] 6.163292 [60,] 5.692358 [61,] 5.185333 [62,] 5.967264 [63,] 5.647873 [64,] 6.250555 [65,] 5.511856 [66,] 6.152973 [67,] 6.168865 [68,] 5.695404 [69,] 6.086807 [70,] 5.504909 [71,] 6.178957 [72,] 5.754264 [73,] 6.134856 [74,] 6.120720 [75,] 5.972405 [76,] 6.117862 [77,] 6.248845 [78,] 6.188805 [79,] 6.140443 [80,] 5.254845 [81,] 5.452882 [82,] 5.388211 [83,] 5.584574 [84,] 6.156678 [85,] 6.168865 [86,] 6.056456 [87,] 6.298844 [88,] 5.962836 [89,] 5.868305 [90,] 5.645280 [91,] 5.871457 [92,] 6.240492 [93,] 5.607111 [94,] 5.149900 [95,] 5.835637 [96,] 5.874725 [97,] 5.905309 [98,] 5.972405 [99,] 4.975940 [100,] 5.817832 [101,] 6.836184 [102,] 6.136967 [103,] 6.950953 [104,] 6.416767 [105,] 6.852912 [106,] 7.616260 [107,] 5.895519 [108,] 7.253910 [109,] 6.499314 [110,] 7.054990 [111,] 6.309665 [112,] 6.191391 [113,] 6.525933 [114,] 6.126433 [115,] 6.226284 [116,] 6.435105 [117,] 6.364791 [118,] 7.826019 [119,] 7.539287 [120,] 6.220635 [121,] 6.724986 [122,] 6.227038 [123,] 7.529273 [124,] 6.079771 [125,] 6.657586 [126,] 6.938097 [127,] 6.117151 [128,] 6.177864 [129,] 6.555858 [130,] 6.714858 [131,] 7.045461 [132,] 7.612583 [133,] 6.588855 [134,] 6.264662 [135,] 6.438262 [136,] 7.230224 [137,] 6.471215 [138,] 6.399902 [139,] 6.167625 [140,] 6.497368 [141,] 6.558372 [142,] 6.404461 [143,] 6.136967 [144,] 6.971805 [145,] 6.452410 [146,] 6.390284 [147,] 6.063160 [148,] 6.319269 [149,] 6.419732 [150,] 6.198686 > mod$plot("Sepal.Width_spline") > > > > ### *