Metadata-Version: 2.4
Name: GPmix
Version: 0.1.6
Summary: GPmix is an ensemble clustering algorithm for functional data via random projections.
Author: Emmanuel Akeweje and Mimi Zhang
Author-email: eakeweje@tcd.ie
License: MIT
Project-URL: Documentation, https://gpmix.readthedocs.io/en/latest/
Project-URL: Source, https://github.com/EAkeweje/GPmix
Project-URL: Issues, https://github.com/EAkeweje/GPmix/issues
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: joblib>=1.2.0
Requires-Dist: matplotlib>=3.6.3
Requires-Dist: numpy>=1.26.2
Requires-Dist: PyWavelets>=1.4.1
Requires-Dist: scikit_fda>=0.10.1
Requires-Dist: scikit_learn>=1.2.2
Requires-Dist: scipy>=1.11.4
Requires-Dist: seaborn>=0.13.0
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: license
Dynamic: license-file
Dynamic: project-url
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

## About

GPmix is a clustering algorithm for functional data generated from Gaussian process mixtures. While designed specifically for Gaussian process mixtures, GPmix has been shown to perform well on functional data beyond this setting.

The main steps of the algorithm are:

1. **Smoothing:** Apply smoothing techniques to raw data to obtain continuous functions.  
2. **Projection:** Project the functional data onto a set of randomly generated functions.  
3. **Learning GMMs:** Fit univariate Gaussian mixture models to the projection coefficients for each projection function.  
4. **Ensemble:** Combine the multiple GMMs to extract a consensus clustering.

## Links

- [Documentation](https://gpmix.readthedocs.io/en/latest/)  
- [Source code](https://github.com/EAkeweje/GPmix)  
- [Bug reports](https://github.com/EAkeweje/GPmix/issues)

## Contributing

This project is under active development. If you encounter any bugs or have suggestions for improvements, please let us know.

Pull requests are welcome. For major changes, please open an issue first to discuss your proposed modifications. Remember to update tests as appropriate.
