Metadata-Version: 2.1
Name: ulda
Version: 0.1.1
Summary: Uncorrelated Linear Discriminant Analysis
Home-page: https://github.com/Moran79/ulda-Py
License: BSD3
Author: Siyu Wang
Requires-Python: >=3.9,<4.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: numpy (>=2.0.0)
Requires-Dist: pandas (>=2.2.2)
Requires-Dist: scikit-learn (>=1.5.1)
Project-URL: Repository, https://github.com/Moran79/ulda-Py
Description-Content-Type: text/markdown

# ulda

<!-- [![Build Status](https://github.com/Moran79/ulda/workflows/test/badge.svg?branch=master&event=push)](https://github.com/Moran79/ulda/actions?query=workflow%3Atest) -->

<!-- [![codecov](https://codecov.io/gh/Moran79/ulda/branch/master/graph/badge.svg)](https://codecov.io/gh/Moran79/ulda) -->
[![Python Version](https://img.shields.io/pypi/pyversions/ulda.svg)](https://pypi.org/project/ulda/)

Uncorrelated Linear Discriminant Analysis (ULDA), modified based on Ye, J., & Yu, B. (2005).

## Features

- Provide a more robust LDA module compared to one in `sklearn`, especially when handling perfect separation in high-dimensional data.
- Faster performance.

## Installation

```bash
pip install ulda
```

## Example

```python
import numpy as np
from ulda import ULDA
X = np.array([[0, 0], [0,1], [1, 1], [1, 2], [2, 2], [2, 3]])
y = np.array(['A', 'A', 'B', 'B', 'C', 'C'])
lda = ULDA()
lda.fit(X, y)
print(lda.predict([[1, 3]]))
```

