Metadata-Version: 2.1
Name: xcolumns
Version: 0.0.1
Summary: UNKNOWN
Home-page: UNKNOWN
License: UNKNOWN
Platform: UNKNOWN
Description-Content-Type: text/markdown
License-File: LICENSE

[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://pre-commit.com/) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

<p align="center">
  <img src="https://raw.githubusercontent.com/mwydmuch/xCOLUMNs/master/xCOLUMNs_logo.png" width="500px"/>
</p>

# x **Consistent Optimization of Label-wise Utilities in Multi-label classificatioN** s

xCOLUMNs is a small Python library aims to implement different methods for optimization of general family of label-wise utilities (performance metrics) in multi-label classification, which scale to large (extreme) datasets.


## Installation

The library can be installed using pip:
```sh
pip install xcolumns
```
It should work on all major platforms (Linux, Windows, Mac) and with Python 3.8+.


## Repository structure

The repository is organized as follows:
- `docs/` - Sphinx documentation (work in progress)
- `experiments/` - a code for reproducing experiments from the papers
- `xcolumns/` - Python package with the library


## Methods, usage, and how to cite

The library implements the following methods:

### Block Coordinate Ascent/Descent (BCA/BCD)

The method is described in the paper:
> [Erik Schultheis, Marek Wydmuch, Wojciech Kotłowski, Rohit Babbar, Krzysztof Dembczyński. Generalized test utilities for long-tail performance in
extreme multi-label classification. NeurIPS 2023.](https://arxiv.org/abs/2311.05081)


### Frank-Wolfe (FW)

Description is work in progress.


