pycatdap¶
AIC-based EDA and ML error analysis library for categorical data.
pycatdap is a Python implementation of CATDAP (CATegorical Data Analysis Program), originally developed by Sakamoto & Katsura (1980) at the Institute of Statistical Mathematics. It extends the classic CATDAP toolkit with modern EDA and ML error analysis workflows.
What makes pycatdap unique¶
Unlike ydata-profiling, Skrub, DivExplorer, or pysubgroup, pycatdap provides:
- AIC-based variable relevance ranking — captures the trade-off between information and complexity (unlike Cramér's V or mutual information)
- AIC-optimal continuous binning — principled binning of continuous variables (vs. arbitrary equal-width or quantile binning)
- Subset optimization (CATDAP-02) — discovers the best combination of explanatory variables (unlike feature importance ranking)
- Model-agnostic ML error analysis — works with predictions from any framework (sklearn, LightGBM, XGBoost, PyTorch)
At a glance¶
Navigating these docs¶
This documentation follows the Diátaxis framework:
- Getting Started — install and run your first analysis in 5 minutes
- Tutorials — step-by-step learning paths for each feature area
- How-to Guides — solutions to specific tasks
- API Reference — complete function and class documentation (auto-generated)
- Explanation — concepts, mathematical foundations, design rationale
Project status¶
- Version: see PyPI
- Roadmap: project/roadmap
- Issues: GitHub Issues
Citation¶
If you use pycatdap in research, please cite: