## Not run: ------------------------------------
# # Load libraries
# library(data.table)
# library(Matrix)
# library(xgboost)
# 
# # Create data
# data(agaricus.train, package = "lightgbm")
# data(agaricus.test, package = "lightgbm")
# agaricus_data_train <- data.table(as.matrix(agaricus.train$data))
# agaricus_data_test <- data.table(as.matrix(agaricus.test$data))
# agaricus_label_train <- agaricus.train$label
# agaricus_label_test <- agaricus.test$label
# folds <- Laurae::kfold(agaricus_label_train, 5)
# 
# # Train a model (binary classification)
# model <- CRTreeForest(training_data = agaricus_data_train, # Training data
#                       validation_data = agaricus_data_test, # Validation data
#                       training_labels = agaricus_label_train, # Training labels
#                       validation_labels = agaricus_label_test, # Validation labels
#                       folds = folds, # Folds for cross-validation
#                       nthread = 1, # Change this to use more threads
#                       lr = 1, # Do not touch this unless you are expert
#                       training_start = NULL, # Do not touch this unless you are expert
#                       validation_start = NULL, # Do not touch this unless you are expert
#                       n_forest = 5, # Number of forest models
#                       n_trees = 10, # Number of trees per forest
#                       random_forest = 2, # We want only 2 random forest
#                       seed = 0,
#                       objective = "binary:logistic",
#                       eval_metric = Laurae::df_logloss,
#                       return_list = TRUE, # Set this to FALSE for a data.table output
#                       multi_class = 2, # Modify this for multiclass problems
#                       verbose = " ")
# 
# # Attempt to perform fake multiclass problem
# agaricus_label_train[1:100] <- 2
# 
# # Train a model (multiclass classification)
# model <- CRTreeForest(training_data = agaricus_data_train, # Training data
#                       validation_data = agaricus_data_test, # Validation data
#                       training_labels = agaricus_label_train, # Training labels
#                       validation_labels = agaricus_label_test, # Validation labels
#                       folds = folds, # Folds for cross-validation
#                       nthread = 1, # Change this to use more threads
#                       lr = 1, # Do not touch this unless you are expert
#                       training_start = NULL, # Do not touch this unless you are expert
#                       validation_start = NULL, # Do not touch this unless you are expert
#                       n_forest = 5, # Number of forest models
#                       n_trees = 10, # Number of trees per forest
#                       random_forest = 2, # We want only 2 random forest
#                       seed = 0,
#                       objective = "multi:softprob",
#                       eval_metric = Laurae::df_logloss,
#                       return_list = TRUE, # Set this to FALSE for a data.table output
#                       multi_class = 3, # Modify this for multiclass problems
#                       verbose = " ")
## ---------------------------------------------
Run the code above in your browser using DataLab