Skip to main content

Boosted forest regression with native support for multioutput problems.

Project description

mubofo

mubofo (from multioutput boosted forest) is a Python implementation of boosted forest regression with native support for multioutput problems.

Boosting is a technique for building an ensemble of weak learners (often tree models) wherein each new regressor is trained on the residual errors accrued by the regressors trained so far. However, most popular implementations use gradient boosting, a mathematical reformulation that involves Taylor-expanding the loss function about the current prediction at each iteration and is thus impractical when the output space is multidimensional.

Some gradient boosting libraries support multioutput problems by training one-dimensional models for each output channel, but such an approach risks missing correlations between outputs and is much slower than a single multioutput model would be.

mubofo solves this problem by returning to the "train on the residuals" perspective of boosting. The main class is BoostedForestRegressor, which implements the scikit-learn estimator API. While implemented entirely in Python, BoostedForestRegressor is fast enough for practical use because the individual trees in the forest are sklearn.tree.DecisionTreeRegressor instances, and so most model fitting is handled by the C backend.

mubofo can be installed with pip install mubofo.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mubofo-0.0.1.tar.gz (4.4 kB view hashes)

Uploaded Source

Built Distribution

mubofo-0.0.1-py2.py3-none-any.whl (4.5 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page