A Python library for building Generalized Additive Models (GAMs) with a scikit-learn-like API, emphasizing interpretability and performance.
pyGAM is a Python library for building Generalized Additive Models (GAMs), which are smooth semi-parametric models that extend generalized linear models by allowing non-linear functions of features while maintaining additivity. It solves the problem of modeling complex, non-linear relationships in data while preserving model interpretability, using penalized B-splines to automatically capture these patterns.
Data scientists, statisticians, and machine learning practitioners who need interpretable models for regression and classification tasks, particularly those familiar with scikit-learn or scipy.
Developers choose pyGAM for its balance of flexibility and interpretability, offering a scikit-learn-like API that simplifies building GAMs while providing performance optimizations and the ability to incorporate prior knowledge and control overfitting.
[CONTRIBUTORS WELCOME] Generalized Additive Models in Python
Designed for ease of use with a familiar interface for users of scikit-learn or scipy, facilitating seamless integration into existing Python ML workflows, as stated in the README.
Uses penalized B-splines to automatically capture non-linear relationships without manual feature transformations, reducing engineering effort, as highlighted in the key features.
Maintains additivity to examine individual predictor effects while holding others constant, making it ideal for statistical analysis where transparency is crucial.
Optimized for speed with support for acceleration via Intel MKL, as mentioned in the installation section, though setup requires careful configuration.
Installation with Intel MKL for optimal performance is described as tricky, requiring third-party builds or careful Conda channel management, which can hinder usability.
Focuses solely on Generalized Additive Models, lacking the breadth of algorithms in comprehensive libraries like scikit-learn, which may not suit diverse modeling needs.
As a version 0.x package, pyGAM may undergo breaking changes, as indicated by the release notes link, posing risks for long-term project maintenance.
Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more
Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Dask, Flink and DataFlow
A fast, distributed, high performance gradient boosting (GBT, GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks.
A toolkit for making real world machine learning and data analysis applications in C++
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.