## 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 = " ")
#
# # Predict from model
# new_preds <- CRTreeForest_pred(model, agaricus_data_test, return_list = FALSE)
#
# # We can check whether we have equal predictions, it's all TRUE!
# all.equal(model$train_preds, CRTreeForest_pred(model, agaricus_data_train, folds = folds))
# all.equal(model$valid_preds, CRTreeForest_pred(model, agaricus_data_test))
# all.equal(model$train_means, CRTreeForest_pred(model,
# agaricus_data_train,
# folds = folds,
# return_list = FALSE,
# prediction = TRUE))
# all.equal(model$valid_means, CRTreeForest_pred(model,
# agaricus_data_test,
# return_list = FALSE,
# prediction = TRUE))
#
# # 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 = " ")
#
# # Predict from model for mutliclass problems
# new_preds <- CRTreeForest_pred(model, agaricus_data_test, return_list = FALSE)
#
# # We can check whether we have equal predictions, it's all TRUE!
# all.equal(model$train_preds, CRTreeForest_pred(model, agaricus_data_train, folds = folds))
# all.equal(model$valid_preds, CRTreeForest_pred(model, agaricus_data_test))
# all.equal(model$train_means, CRTreeForest_pred(model,
# agaricus_data_train,
# folds = folds,
# return_list = FALSE,
# prediction = TRUE))
# all.equal(model$valid_means, CRTreeForest_pred(model,
# agaricus_data_test,
# return_list = FALSE,
# prediction = TRUE))
## ---------------------------------------------
Run the code above in your browser using DataLab