practical projection pursuit regression
On macOS:
- Install Homebrew.
- Install Python with
brew install [email protected]
; if you have conflicting versions,brew unlink
andbrew link
as needed. - Run
make
.
This repository offers an implementation of
projection pursuit regression with a handful of tweaks
for ease-of-use such as inspectability of the model through some convenient plotting functionality. For a more
established implementation we point to projection-pursuit
,
which includes a more fully-fledged feature suite (e.g., multiple output dimensions, backfitting). Some interesting
components of this repository's implementation include:
- in the linear step of the alternating minimization (to compute an optimal projection direction), we introduce the capability to optimize for sparse projections, which helps for understanding the role of each projection; that is, a linear combination of, say, three coordinates is easier to understand than a linear combination of hundreds;
- in the nonlinear step of the alternating minimization (to compute an optimal ridge function), we supplement the standard capability for polynomial regression with options for piecewise linear regression (through a one-hidden-layer perceptron with rectilinear activation) and kernel regression (Nadaraya-Watson).
Visualization capability includes loss plotting functionality,
and ridge function (univariate nonlinear models in projected space) visualization,