Getting started with YARF

YARF fits regression and classification forests while exposing the splitting, node-assignment, aggregation, and out-of-bag calculations for customization. Java 8 or newer is required.

Fit a classification forest

library(YARF)
set_YARF_num_cores(1)

fit = YARF(
  X = iris[, 1:4],
  y = iris$Species,
  num_trees = 50,
  seed = 2026
)

pred = predict(fit, iris[, 1:4])
table(observed = iris$Species, predicted = pred)

Inspect out-of-bag performance

fit = YARF_update_with_oob_results(fit)
summary(fit)
query_variable_proportions_across_trees(fit)

Missing values

The default use_missing_data = TRUE enables missingness incorporated in attributes. For iterative random-forest imputation, use YARFMissForest().

X_missing = iris[, 1:4]
X_missing[1:5, 1] = NA

fit_missing = YARF(
  X = X_missing,
  y = iris$Species,
  num_trees = 50,
  seed = 2026,
  use_missing_data = TRUE
)

See the function reference for custom JavaScript hooks and tree-inspection utilities.