Skip to main content

Bayesian Optimization + Gradient Boosted Trees

Project description

# Bonsai: Gradient Boosted Trees + Bayesian Optimization

Bonsai is a wrapper for the XGBoost and Catboost model training pipelines that leverages Bayesian optimization for computationally efficient hyperparameter tuning.

Depsite it being a very small package, it has access to nearly all of the configurable parameters in XGBoost and CatBoost as well as the Bayesian Optimization package allowing users to configure unique objectives, metrics, parameter search ranges, and search policies. This is made possible thanks to the strong similaries between both libraries.

## Why use Bonsai?

Grid search and random search are the most commonly used algorithms for exploring the hyperparameter space for a wide range of machine learning models. While effective for optimizing over low dimensional hyperparameter spaces (ex: few regularization terms), these methods do not scale well to tuning models with a large number of hyperparameters.

Bayesian optimization on the other hand dynamically samples from the hyperparameter space with the goal of minimizing uncertaintly about the underlying objective function. For the case of model optimization, this is consists of iteratively building a prior distribution of functions over the hyperparameter space and sampling with the goal of minimizing the posterior variance of the loss surface.

## Tutorial

At the moment Bonsai is solely a wrapper for XGBoost and CatBoost. Naturally, to use either library you must do the usual preprocessing so that your training data is compatible. Below are few examples that demonstrate a basic work flow with Bonsai.

### Encodings

Words

### Model Configuration

Bonsai provides this functionality while allowing users to easily set up gradient boosted tree models via 3 simple parameter dictionarys: model_config, cv_config, and pbounds.

### Tuning and Predictions

optimize + predict + results df display

### Additional Features

parallel coordinates + ask for contributors

<div align=”center”> <img src=”https://github.com/magi-1/bonsai/blob/199a4aa92d4ffcba98ec259671413d711ebe8f70/images/bebop1.gif” style=”max-height:50%;max-width:50%”></img> </div>

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

bonsai-tree-1.2.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

bonsai_tree-1.2-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file bonsai-tree-1.2.tar.gz.

File metadata

  • Download URL: bonsai-tree-1.2.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.6.9

File hashes

Hashes for bonsai-tree-1.2.tar.gz
Algorithm Hash digest
SHA256 96fb0588204099e1c000db85da60d210acc52bd205c5be92fed8e9daaa385326
MD5 1f81d4f9cd1123b8ca733c26f2ade489
BLAKE2b-256 cc9d8ba7e56aa58a0db38caa65232e265df0f3a2fb6d0e6abc5671ef31eeed00

See more details on using hashes here.

File details

Details for the file bonsai_tree-1.2-py3-none-any.whl.

File metadata

  • Download URL: bonsai_tree-1.2-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.6.9

File hashes

Hashes for bonsai_tree-1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e79d3475d3172f881ac5b84f2c4e5f4146790e898cf87a4d1f81696853be431e
MD5 67353f640522534fe3a44c46e9cfcb23
BLAKE2b-256 e0166d139dc4418a69fcc8e8756ecda73872f0225f11f0172530f8c24e85ad5c

See more details on using hashes here.

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