A Python package for multiview unsupervised clustering
Project description
mvcluster: Multiview Clustering Python Package
Project Overview
mvcluster is an open-source Python package developed during my research internship at Centre Borelli (Université Paris Cité) from April to July 2025. The package implements advanced algorithms for multiview clustering, with a focus on graph-structured data.
Key Features
- Implementation of LMGEC (Linear Multiview Graph Embedding and Clustering) algorithm
- Standardized scikit-learn compatible API
- Comprehensive documentation and examples
- Extensive test coverage (>90%)
- Support for multiple multiview datasets
- Visualization tools for clustering results
Installation
pip install mvcluster
Requirements:
-
Python ≥ 3.8
-
numpy ≥ 1.21
-
scipy ≥ 1.7
-
scikit-learn ≥ 1.0
-
torch ≥ 1.9.0 (optional for GPU acceleration)
-
networkx ≥ 2.6
Quick Start
from mvcluster.cluster import LMGEC
from mvcluster.utils.datagen import datagen
# Load sample dataset
As, Xs, y = datagen('dblp')
# Initialize and fit LMGEC model
model = LMGEC(beta=2, temperature=10)
labels = model.fit_predict(X)
# Evaluate clustering
from sklearn.metrics import adjusted_rand_score
print(f"ARI: {adjusted_rand_score(y, labels):.3f}")
Documentation
Full documentation is available at: https://gackouhamady.github.io/mvcluster/
** Includes:
-
API reference
-
Tutorials
-
Theory behind the algorithms
-
Contribution guidelines
Research Context
Developed during my research internship at Centre Borelli under the supervision of Lazhar Labiod. The project focused on:
-
Developing efficient algorithms for multiview graph clustering
-
Creating a user-friendly Python package
-
Benchmarking against existing methods
-
Applying techniques to real-world datasets
Supported Datasets
-
DBLP academic network
-
ACM citation network
-
IMDB movie database
-
Amazon product graphs
-
Wikipedia article network
-
Aloi
-
Mfeat
-
Arabidopsis
Contributing
We welcome contributions! Please see our Contribution Guidelines for details.
Citation
If you use mvcluster in your research, please cite:
@inproceedings{fettal2023efficient, author = {Fettal, Chakib and Labiod, Lazhar and Nadif, Mohamed}, title = {Simultaneous Linear Multi-view Attributed Graph Representation Learning and Clustering}, booktitle = {Proceedings of the 16th ACM International Conference on Web Search and Data Mining}, year = {2023}, doi = {10.1145/3539597.3570367} }
Contact
For questions or support, please contact: [researcherdatascientist@gmail.com]
License: MIT Status: Active development Python versions: 3.8+ Source Code: https://github.com/gackouhamady/mvcluster
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mvcluster-1.17.tar.gz.
File metadata
- Download URL: mvcluster-1.17.tar.gz
- Upload date:
- Size: 26.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41d152b77f576b14ce7a1d123b7058c75dc70141d82a1228288c88b6ab0c6cb9
|
|
| MD5 |
014cb4d74f7116d52dd8dd77b9ef4fde
|
|
| BLAKE2b-256 |
7cc58b99701ae9cc22776e76c580b66185599553860da7de80623185a0b142ee
|
File details
Details for the file mvcluster-1.17-py3-none-any.whl.
File metadata
- Download URL: mvcluster-1.17-py3-none-any.whl
- Upload date:
- Size: 32.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12367f04e4812a51eadd61b34069eec8666d1bc301facd43eadaa7c5f4ed64e6
|
|
| MD5 |
587588e7a52953ad0740fdd813d29df2
|
|
| BLAKE2b-256 |
2fd4bf292111e1e501ccb06714f77c205aee6fc06e6380d0de91c28e86d328c7
|