Metadata-Version: 2.4
Name: imbalanced-calibrate
Version: 0.1.0
Summary: An open-source library providing wrapper estimators to analytically correct for bias induced by imbalanced learning methods.
Author-email: Jules Lanari-Collard <jules_collard@yahoo.co.uk>
Project-URL: Homepage, https://github.com/jules-collard/imbalanced-calibrate
Project-URL: Issues, https://github.com/jules-collard/imbalanced-calibrate/issues
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=2.0.2
Requires-Dist: scikit-learn>=1.6.0
Provides-Extra: resampling
Requires-Dist: imbalanced-learn>=0.14.2; extra == "resampling"
Dynamic: license-file

# imbalanced-calibrate - Analytical Calibration for Imbalanced Learning

![tests](https://github.com/jules-collard/imbalanced-calibrate/actions/workflows/python-app.yml/badge.svg)
[![codecov](https://codecov.io/gh/jules-collard/imbalanced-calibrate/graph/badge.svg?token=2VRRMZ3LE1)](https://codecov.io/gh/jules-collard/imbalanced-calibrate)
![doc](https://github.com/jules-collard/imbalanced-calibrate/actions/workflows/deploy-gh-pages.yml/badge.svg)

This package provides [sklearn](https://scikit-learn.org/stable/)-compatible calibration methods which correct model output for the bias induced by certain imbalanced learning techniques. It supports class weighting in `sklearn` binary classifiers (including [XGBoost](https://xgboost.readthedocs.io/en/stable/) and [LightGBM](https://lightgbm.readthedocs.io/en/stable/)), and resampling methods from the [imbalanced-learn](https://imbalanced-learn.org/stable/) package.

## Documentation

Installation instructions, usage examples and mathematical justification can be found in the [documentation](https://jules-collard.github.io/imbalanced-calibrate/).

## Prerequisites

`imbalanced-calibrate` requires the following dependencies:

- Python (>=3.10)
- NumPy (>=2.0.2)
- Scikit-learn (>=1.6.0)

Additionally, `imbalanced-calibrate` requires the following optional dependencies:

- Imbalanced-learn (>=0.14.2), for calibration after using ``imbalanced-learn`` resampling methods.

## Install

`imbalanced-calibrate` is currently available on the PyPI repository and you can install it via `pip`:

```
pip install imbalanced-calibrate
```

Or with `uv`:

```
uv add imbalanced-calibrate
```

The optional dependencies for resampling methods can be installed using `pip install imbalanced-calibrate[resampling]` or `uv add "imbalanced-calibrate[resampling]"`.

## Contribution

You can contribute to this package through a Pull Request, subject to appropriate unit testing and review.
If you have any feature requests or suggestions, or encounter any errors or unexpected behaviour, please raise them either
in [issues](https://github.com/jules-collard/imbalanced-calibrate/issues) or [discussions](https://github.com/jules-collard/imbalanced-calibrate). If you use this package in your work, please do let me know!
