Package: ppforest2 0.1.2

ppforest2: Projection Pursuit Oblique Decision Trees and Random Forests

Builds decision trees by splitting on linear combinations of randomly chosen variables. Projection pursuit is used to choose a projection of the variables that best separates the groups. Using linear combinations of variables to separate groups takes the correlation between variables into account, which allows the model to outperform a traditional decision tree when the separation between groups occurs in combinations of variables. Single trees can be assembled into random forests for improved accuracy. Implements projection pursuit classification trees (Lee, Cook, Park and Lee (2013) <doi:10.1214/13-EJS810>) and projection pursuit forests (da Silva, Cook and Lee (2021) <doi:10.1080/10618600.2020.1870480>), following the earlier 'PPforest' package.

Authors:Andrés Vidal [aut, cre, cph], Natalia da Silva [aut]

ppforest2_0.1.2.tar.gz
ppforest2_0.1.2.zip(r-4.7)ppforest2_0.1.2.zip(r-4.6)ppforest2_0.1.2.zip(r-4.5)
ppforest2_0.1.2.tgz(r-4.6-x86_64)ppforest2_0.1.2.tgz(r-4.6-arm64)ppforest2_0.1.2.tgz(r-4.5-x86_64)ppforest2_0.1.2.tgz(r-4.5-arm64)
ppforest2_0.1.2.tar.gz(r-4.7-arm64)ppforest2_0.1.2.tar.gz(r-4.7-x86_64)ppforest2_0.1.2.tar.gz(r-4.6-arm64)ppforest2_0.1.2.tar.gz(r-4.6-x86_64)
ppforest2_0.1.2.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
ppforest2/json (API)

# Install 'ppforest2' in R:
install.packages('ppforest2', repos = c('https://andres-vidal.r-universe.dev', 'https://cloud.r-project.org'))
Uses libs:
  • c++– GNU Standard C++ Library v3
  • openmp– GCC OpenMP (GOMP) support library
Datasets:

On CRAN:

Conda:

This package does not link to any Github/Gitlab/R-forge repository. No issue tracker or development information is available.

cppopenmp

3.62 score 21 scripts 11 downloads 28 exports 2 dependencies

Last updated from:625e145edb. Checks:13 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64OK292
linux-devel-x86_64OK304
source / vignettesOK395
linux-release-arm64OK260
linux-release-x86_64OK292
macos-release-arm64OK266
macos-release-x86_64OK533
macos-oldrel-arm64OK216
macos-oldrel-x86_64OK584
windows-develOK332
windows-releaseOK282
windows-oldrelOK344
wasm-releaseOK242

Exports:bag_samplesbinarize_disabledbinarize_largest_gapcutpoint_mean_of_meansgrouping_by_cutpointgrouping_by_labelleaf_majority_voteleaf_mean_responseload_jsonoob_erroroob_predictionsoob_samplespermuted_importancepp_pdapp_rand_forestpp_treepprfpptrprojection_importancesave_jsonstop_anystop_max_depthstop_min_sizestop_min_variancestop_pure_nodevars_allvars_uniformweighted_importance

Dependencies:RcppRcppEigen

Custom strategies
How strategies work | Adding a new strategy | Step 1: C++ implementation | Step 2: R constructor | Step 3: Use it | Strategy families reference | PP: Projection pursuit | Vars: Variable selection | Threshold: Split cutpoint | Stop: Stopping rule | Binarize: Binarization | Grouping: Group partition | Checklist

Last update: 2026-07-19
Started: 2026-07-19

Introduction to ppforest2
Single tree | Random forest | Visualization | Regularization with PDA | Explicit strategy selection | Tidymodels integration

Last update: 2026-07-19
Started: 2026-07-19

Readme and manuals

Help Manual

Help pageTopics
In-bag row indices per tree.bag_samples
Disabled binarization strategy (placeholder).binarize_disabled
Largest-gap binarization strategy.binarize_largest_gap
California Housing Datasetcalifornia_housing
Australian Crabs Datasetcrab
Crabs Datasetcrabs
Mean-of-means split cutpoint strategy.cutpoint_mean_of_means
Fish Catch Datasetfishcatch
Fitted (in-sample) predictions from a ppforest2 model.fitted.ppmodel
Formula extractor for ppforest2 models.formula.ppmodel
Glass Datasetglass
Cutpoint-based grouping strategy (regression).grouping_by_cutpoint
Label-based grouping strategy.grouping_by_label
Image Datasetimage
Majority-vote leaf strategy.leaf_majority_vote
Mean-response leaf strategy.leaf_mean_response
Leukemia Datasetleukemia
Load a model from a JSON file.load_json
Lymphoma Datasetlymphoma
NCI60 DatasetNCI60
Number of observations used to fit a ppforest2 model.nobs.ppmodel
Olive Datasetolive
Out-of-bag error for a random forest.oob_error
Out-of-bag predictions for a random forest.oob_predictions
Out-of-bag row indices per tree.oob_samples
Parkinson Datasetparkinson
Permuted variable importance for a random forest.permuted_importance
Plot a pprf model.plot.pprf
Plot a pptr model.plot.pptr
PDA projection pursuit strategy.pp_pda
Parsnip model specification for pprf.pp_rand_forest
Parsnip model specification for pptr.pp_tree
Trains a Random Forest of Projection-Pursuit oblique decision trees.pprf
Trains a Projection-Pursuit oblique decision tree.pptr
Predicts labels or vote proportions from a pprf model (classification mode).predict.pprf_classification
Predicts numeric responses from a pprf model (regression mode).predict.pprf_regression
Predicts labels or per-group one-hot proportions from a pptr model (classification mode).predict.pptr_classification
Predicts numeric responses from a pptr model (regression mode).predict.pptr_regression
Prints a compact summary of a pprf forest.print.pprf
Prints the structure of a pptr tree.print.pptr
Projection-coefficient variable importance.projection_importance
Residuals from a regression ppforest2 model.residuals.ppmodel
Save a model to a JSON file.save_json save_json.ppmodel
Composite stopping rule (logical OR).stop_any
Maximum-depth stopping rule.stop_max_depth
Minimum-size stopping rule.stop_min_size
Minimum-variance stopping rule.stop_min_variance
Pure-node stopping rule.stop_pure_node
Summary of a pprf forest (shared header + VI).summary.pprf
Update a 'pp_rand_forest' model specification.update.pp_rand_forest
Update a 'pp_tree' model specification.update.pp_tree
All-variables selection strategy.vars_all
Uniform random variable selection strategy.vars_uniform
Weighted projection variable importance for a random forest.weighted_importance
Wine Datasetwine