A Python package for concise, transparent, and accurate predictive modeling with sklearn-compatible interpretable models.
imodels is a Python package that provides a unified scikit-learn-compatible interface for fitting and using state-of-the-art interpretable machine learning models. It addresses the complexity of modern ML by offering simpler, transparent models like rule sets, rule lists, rule trees, and algebraic models that can often replace black-box alternatives without sacrificing predictive accuracy. The package includes novel algorithms such as FIGS (Fast Interpretable Greedy-Tree Sums) and Hierarchical Shrinkage for post-hoc tree regularization.
Data scientists and machine learning practitioners working on tabular data who need interpretable models for binary classification or regression tasks, particularly in domains like healthcare, finance, or any field requiring model transparency and compliance. Researchers developing or benchmarking interpretable ML methods will also find it useful.
Developers choose imodels because it offers a comprehensive, sklearn-compatible library of interpretable models in one package, simplifying integration into existing workflows. Its unique selling point is providing access to both established and novel algorithms (like FIGS and Hierarchical Shrinkage) that maintain high accuracy while being inherently explainable, often outperforming black-box models in interpretability and efficiency.
Interpretable ML package 🔍 for concise, transparent, and accurate predictive modeling (sklearn-compatible).
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
All models use the standard fit and predict API, making integration into existing scikit-learn workflows effortless, as demonstrated in the quickstart demo code.
Includes a wide range of interpretable models, from rule sets like RuleFit to novel algorithms like FIGS, providing flexibility for different transparency needs across tabular data.
Features unique models such as FIGS for fast interpretable greedy-tree sums and Hierarchical Shrinkage for post-hoc tree regularization, backed by recent research papers cited in the README.
Offers data-wrangling functions, error explanation tools, and fast discretizers, enhancing preprocessing and post-hoc analysis capabilities for practical ML pipelines.
Focuses only on binary classification and regression, with no native support for multiclass problems or other ML tasks like clustering, as shown in the model support table.
Several models require additional Python packages (e.g., gosdt for OptimalTreeClassifier, irf for IRFClassifier), which can complicate installation and maintenance.
Some algorithms, such as Bayesian rule sets and optimal rule trees, are noted to fail on large datasets, limiting their use in big data applications despite the package's aims.