Skip to contents

The "low-level" stochtree interface enables a high degreee of sampler customization, in which users employ R wrappers around C++ objects like ForestDataset, Outcome, CppRng, and ForestModel to run the Gibbs sampler of a BART model with custom modifications. ForestModelConfig allows users to specify / query the parameters of a forest model they wish to run.

Value

Vector of integer-coded feature types (integers where 0 = numeric, 1 = ordered categorical, 2 = unordered categorical)

Vector specifying sampling probability for all p covariates in ForestDataset

Number of trees in a forest

Number of features in a forest model training set

Number of observations in a forest model training set

Root node split probability in tree prior

Depth prior penalty in tree prior

Minimum number of samples in a tree leaf

Maximum depth of any tree in the ensemble in the model

Integer coded leaf model type

Scale parameter used in Gaussian leaf models

Shape parameter for IG leaf models

Scale parameter for IG leaf models

Number of unique cutpoints to consider

Public fields

feature_types

Vector of integer-coded feature types (integers where 0 = numeric, 1 = ordered categorical, 2 = unordered categorical)

num_trees

Number of trees in the forest being sampled

num_features

Number of features in training dataset

num_observations

Number of observations in training dataset

leaf_dimension

Dimension of the leaf model

alpha

Root node split probability in tree prior

beta

Depth prior penalty in tree prior

min_samples_leaf

Minimum number of samples in a tree leaf

max_depth

Maximum depth of any tree in the ensemble in the model. Setting to -1 does not enforce any depth limits on trees.

leaf_model_type

Integer specifying the leaf model type (0 = constant leaf, 1 = univariate leaf regression, 2 = multivariate leaf regression)

leaf_model_scale

Scale parameter used in Gaussian leaf models

variable_weights

Vector specifying sampling probability for all p covariates in ForestDataset

variance_forest_shape

Shape parameter for IG leaf models (applicable when leaf_model_type = 3)

variance_forest_scale

Scale parameter for IG leaf models (applicable when leaf_model_type = 3)

cutpoint_grid_size

Number of unique cutpoints to consider Create a new ForestModelConfig object.

Methods


Method new()

Usage

ForestModelConfig$new(
  feature_types = NULL,
  num_trees = NULL,
  num_features = NULL,
  num_observations = NULL,
  variable_weights = NULL,
  leaf_dimension = 1,
  alpha = 0.95,
  beta = 2,
  min_samples_leaf = 5,
  max_depth = -1,
  leaf_model_type = 1,
  leaf_model_scale = NULL,
  variance_forest_shape = 1,
  variance_forest_scale = 1,
  cutpoint_grid_size = 100
)

Arguments

feature_types

Vector of integer-coded feature types (where 0 = numeric, 1 = ordered categorical, 2 = unordered categorical)

num_trees

Number of trees in the forest being sampled

num_features

Number of features in training dataset

num_observations

Number of observations in training dataset

variable_weights

Vector specifying sampling probability for all p covariates in ForestDataset

leaf_dimension

Dimension of the leaf model (default: 1)

alpha

Root node split probability in tree prior (default: 0.95)

beta

Depth prior penalty in tree prior (default: 2.0)

min_samples_leaf

Minimum number of samples in a tree leaf (default: 5)

max_depth

Maximum depth of any tree in the ensemble in the model. Setting to -1 does not enforce any depth limits on trees. Default: -1.

leaf_model_type

Integer specifying the leaf model type (0 = constant leaf, 1 = univariate leaf regression, 2 = multivariate leaf regression). Default: 0.

leaf_model_scale

Scale parameter used in Gaussian leaf models (can either be a scalar or a q x q matrix, where q is the dimensionality of the basis and is only >1 when leaf_model_int = 2). Calibrated internally as 1/num_trees, propagated along diagonal if needed for multivariate leaf models.

variance_forest_shape

Shape parameter for IG leaf models (applicable when leaf_model_type = 3). Default: 1.

variance_forest_scale

Scale parameter for IG leaf models (applicable when leaf_model_type = 3). Default: 1.

cutpoint_grid_size

Number of unique cutpoints to consider (default: 100)

Returns

A new ForestModelConfig object.


Method update_feature_types()

Update feature types

Usage

ForestModelConfig$update_feature_types(feature_types)

Arguments

feature_types

Vector of integer-coded feature types (integers where 0 = numeric, 1 = ordered categorical, 2 = unordered categorical)


Method update_variable_weights()

Update variable weights

Usage

ForestModelConfig$update_variable_weights(variable_weights)

Arguments

variable_weights

Vector specifying sampling probability for all p covariates in ForestDataset


Method update_alpha()

Update root node split probability in tree prior

Usage

ForestModelConfig$update_alpha(alpha)

Arguments

alpha

Root node split probability in tree prior


Method update_beta()

Update depth prior penalty in tree prior

Usage

ForestModelConfig$update_beta(beta)

Arguments

beta

Depth prior penalty in tree prior


Method update_min_samples_leaf()

Update minimum number of samples per leaf node in the tree prior

Usage

ForestModelConfig$update_min_samples_leaf(min_samples_leaf)

Arguments

min_samples_leaf

Minimum number of samples in a tree leaf


Method update_max_depth()

Update max depth in the tree prior

Usage

ForestModelConfig$update_max_depth(max_depth)

Arguments

max_depth

Maximum depth of any tree in the ensemble in the model


Method update_leaf_model_scale()

Update scale parameter used in Gaussian leaf models

Usage

ForestModelConfig$update_leaf_model_scale(leaf_model_scale)

Arguments

leaf_model_scale

Scale parameter used in Gaussian leaf models


Method update_variance_forest_shape()

Update shape parameter for IG leaf models

Usage

ForestModelConfig$update_variance_forest_shape(variance_forest_shape)

Arguments

variance_forest_shape

Shape parameter for IG leaf models


Method update_variance_forest_scale()

Update scale parameter for IG leaf models

Usage

ForestModelConfig$update_variance_forest_scale(variance_forest_scale)

Arguments

variance_forest_scale

Scale parameter for IG leaf models


Method update_cutpoint_grid_size()

Update number of unique cutpoints to consider

Usage

ForestModelConfig$update_cutpoint_grid_size(cutpoint_grid_size)

Arguments

cutpoint_grid_size

Number of unique cutpoints to consider


Method get_feature_types()

Query feature types for this ForestModelConfig object

Usage

ForestModelConfig$get_feature_types()


Method get_variable_weights()

Query variable weights for this ForestModelConfig object

Usage

ForestModelConfig$get_variable_weights()


Method get_num_trees()

Query number of trees

Usage

ForestModelConfig$get_num_trees()


Method get_num_features()

Query number of features

Usage

ForestModelConfig$get_num_features()


Method get_num_observations()

Query number of observations

Usage

ForestModelConfig$get_num_observations()


Method get_alpha()

Query root node split probability in tree prior for this ForestModelConfig object

Usage

ForestModelConfig$get_alpha()


Method get_beta()

Query depth prior penalty in tree prior for this ForestModelConfig object

Usage

ForestModelConfig$get_beta()


Method get_min_samples_leaf()

Query root node split probability in tree prior for this ForestModelConfig object

Usage

ForestModelConfig$get_min_samples_leaf()


Method get_max_depth()

Query root node split probability in tree prior for this ForestModelConfig object

Usage

ForestModelConfig$get_max_depth()


Method get_leaf_model_type()

Query (integer-coded) type of leaf model

Usage

ForestModelConfig$get_leaf_model_type()


Method get_leaf_model_scale()

Query scale parameter used in Gaussian leaf models for this ForestModelConfig object

Usage

ForestModelConfig$get_leaf_model_scale()


Method get_variance_forest_shape()

Query shape parameter for IG leaf models for this ForestModelConfig object

Usage

ForestModelConfig$get_variance_forest_shape()


Method get_variance_forest_scale()

Query scale parameter for IG leaf models for this ForestModelConfig object

Usage

ForestModelConfig$get_variance_forest_scale()


Method get_cutpoint_grid_size()

Query number of unique cutpoints to consider for this ForestModelConfig object

Usage

ForestModelConfig$get_cutpoint_grid_size()