LDATree is an R modeling package for fitting classification trees. If you are unfamiliar with classification trees, here is a tutorial about the traditional CART and its R implementation
Compared to other similar trees,
LDATree sets itself apart in the following ways:
It applies the idea of LDA (Linear Discriminant Analysis) when selecting variables, finding splits, and fitting models in terminal nodes.
It addresses certain limitations of the R implementation of LDA (
MASS::lda), such as handling missing values, dealing with more features than samples, and constant values within groups.
Re-implement LDA using the Generalized Singular Value Decomposition (GSVD), LDATree offers quick response, particularly with large datasets.
The package also includes several visualization tools to provide deeper insights into the data.
To build an LDATree:
To plot the LDATree:
# View the overall tree. plot(fit)
# Three types of individual plots # 1. Scatter plot on first two LD scores plot(fit, data = iris, node = 1)
# 2. Density plot on the first LD score plot(fit, data = iris, node = 3) #> Warning: Groups with fewer than two data points have been dropped. #> Warning in max(ids, na.rm = TRUE): no non-missing arguments to max; returning #> -Inf
# 3. A message plot(fit, data = iris, node = 5) #>  "Every observation in this node is predicted to be virginica"
To make predictions:
If you encounter a clear bug, please file an issue with a minimal reproducible example on GitHub