Compboost_internal | R Documentation |
This class is the raw C++
pendant and still at a very high-level.
It is the base for the Compboost R6 class and provides
many convenient wrapper to access data and execute methods by calling
the C++
methods.
oob_response |
(ResponseRegr | ResponseBinaryClassif) |
learning_rate |
( |
stop_if_all_stopper_fulfilled |
( |
factory_list |
(BlearnerFactoryList) |
loss |
(LossQuadratic | LossBinomial | LossHuber | LossAbsolute | LossQuantile) |
logger_list |
(LoggerList) |
optimizer |
(OptimizerCoordinateDescent | OptimizerCoordinateDescentLineSearch | OptimizerAGBM | OptimizerCosineAnnealing) |
S4 object.
Compboost$new(response, learning_rate, stop_if_all_stopper_fulfilled, factory_list, loss, logger_list, optimizer)
This class doesn't contain public fields.
$train()
: () -> ()
$continueTraining()
: () -> ()
$getLearningRate()
: () -> numeric(1)
$getPrediction()
: () -> matrix()
$getSelectedBaselearner()
: () -> character()
$getLoggerData()
: () -> list(character(), matrix())
$getEstimatedParameter()
: () -> list(matrix())
$getParameterAtIteration()
: () -> list(matrix())
$getParameterMatrix()
: () -> matrix()
$predictFactoryTrainData()
: () -> matrix()
$predictFactoryNewData()
: list(Data*) -> matrix()
$predictIndividualTrainData()
: () -> list(matrix())
Get the linear contribution of each base learner for the training data.
$predictIndividual()
: list(Data*) -> list(matrix())
Get the linear contribution of each base learner for new data.
$predict()
: list(Data*), logical(1) -> matrix()
$summarizeCompboost()
: () -> ()
$isTrained()
: () -> logical(1)
$setToIteration()
: () -> ()
$saveJson()
: () -> ()
$getOffset()
: () -> numeric(1) | matrix()
$getRiskVector()
: () -> numeric()
$getResponse()
: () -> Response*
$getOptimizer()
: () -> Optimizer*
$getLoss()
: () -> Loss*
$getLoggerList()
: () -> LoggerList
$getBaselearnerList()
: () -> BlearnerFactoryList
$useGlobalStopping()
: () -> logical(1)*
$getFactoryMap()
: () -> list(Baselearner*)
$getDataMap()
: () -> list(Data*)
# Some data:
df = mtcars
df$mpg_cat = ifelse(df$mpg > 20, "high", "low")
# # 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:
response = ResponseBinaryClassif$new("mpg_cat", "high", df[["mpg_cat"]])
data_source_hp = InMemoryData$new(X_hp, "hp")
data_source_wt = InMemoryData$new(X_wt, "wt")
# 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,
list(degree = 1, intercept = TRUE))
linear_factory_wt = BaselearnerPolynomial$new(data_source_wt,
list(degree = 1, intercept = TRUE))
quadratic_factory_hp = BaselearnerPolynomial$new(data_source_hp,
list(degree = 2, intercept = TRUE))
spline_factory_wt = BaselearnerPSpline$new(data_source_wt,
list(degree = 3, n_knots = 10, penalty = 2, differences = 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(" iteration_logger", TRUE, 500)
log_time = LoggerTime$new("time_logger", FALSE, 500, "microseconds")
# Define new logger list:
logger_list = LoggerList$new()
# Register the logger:
logger_list$registerLogger(log_iterations)
logger_list$registerLogger(log_time)
# Run compboost:
# --------------
# Initialize object:
cboost = Compboost_internal$new(
response = response,
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)
cboost
# Get estimated parameter:
cboost$getEstimatedParameter()
# Get trace of selected base learner:
cboost$getSelectedBaselearner()
# Set to iteration 200:
cboost$setToIteration(200, 30)
# Get new parameter values:
cboost$getEstimatedParameter()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.