Getting Started
Overview
GPmix is a clustering algorithm for functional data that are generated from Gaussian process mixtures. Although designed for Gaussian process mixtures, our experimental study demonstrated that GPmix works well even for functional data that are not from Gaussian process mixtures.
The main steps of the algorithm are:
Smoothing: Apply smoothing methods on the raw data to get continuous functions.
Projection: Project the functional data onto a few randomly generated functions.
Learning GMMs: For each projection function, learn a univariate Gaussian mixture model from the projection coefficients.
Ensemble: Extract a consensus clustering from the multiple GMMs.
If you use this package in your research, please cite:
@InProceedings{pmlr-v235-akeweje24a,
title = {Learning Mixtures of {G}aussian Processes through Random Projection},
author = {Akeweje, Emmanuel and Zhang, Mimi},
booktitle = {Proceedings of the 41st International Conference on Machine Learning},
pages = {720--739},
year = {2024},
editor = {Salakhutdinov, Ruslan and Kolter, Zico and Heller, Katherine and Weller, Adrian and Oliver, Nuria and Scarlett, Jonathan and Berkenkamp, Felix},
volume = {235},
series = {Proceedings of Machine Learning Research},
month = {21--27 Jul},
publisher = {PMLR},
}
Installation
Python version support: GPmix requires Python 3.9 or newer. To install GPmix:
pip install GPmix
Contributing
Contributions are welcome! Fork the project on GitHub and submit a pull request.
Next Steps
Read the Quick Start guide for a beginner’s guide on how to apply GPmix clustering to your data.
Read the Advanced Usage guide for more advanced usage and examples.
Check out the API Reference for details.