ControlBurn: Nonlinear Feature Selection with Sparse Tree Ensembles
It addresses the problem of interpretability and feature selection in machine learning for practitioners, though it is incremental as it builds on existing tree ensemble and sparse modeling techniques.
ControlBurn is a Python package that builds feature-sparse tree ensembles for nonlinear feature selection and interpretable machine learning, offering accuracy and flexibility with scalable runtime, such as handling tens of thousands of samples and hundreds of features in seconds.
ControlBurn is a Python package to construct feature-sparse tree ensembles that support nonlinear feature selection and interpretable machine learning. The algorithms in this package first build large tree ensembles that prioritize basis functions with few features and then select a feature-sparse subset of these basis functions using a weighted lasso optimization criterion. The package includes visualizations to analyze the features selected by the ensemble and their impact on predictions. Hence ControlBurn offers the accuracy and flexibility of tree-ensemble models and the interpretability of sparse generalized additive models. ControlBurn is scalable and flexible: for example, it can use warm-start continuation to compute the regularization path (prediction error for any number of selected features) for a dataset with tens of thousands of samples and hundreds of features in seconds. For larger datasets, the runtime scales linearly in the number of samples and features (up to a log factor), and the package support acceleration using sketching. Moreover, the ControlBurn framework accommodates feature costs, feature groupings, and $\ell_0$-based regularizers. The package is user-friendly and open-source: its documentation and source code appear on https://pypi.org/project/ControlBurn/ and https://github.com/udellgroup/controlburn/.