Skip to main content

A Python package for multiview unsupervised clustering

Project description

mvcluster: Multiview Clustering Python Package

Python 3.8+ License: MIT Build Tests Coverage scikit-learn torch networkx Sphinx Docs GitHub


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

mvcluster-1.17.tar.gz (26.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mvcluster-1.17-py3-none-any.whl (32.0 kB view details)

Uploaded Python 3

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

Hashes for mvcluster-1.17.tar.gz
Algorithm Hash digest
SHA256 41d152b77f576b14ce7a1d123b7058c75dc70141d82a1228288c88b6ab0c6cb9
MD5 014cb4d74f7116d52dd8dd77b9ef4fde
BLAKE2b-256 7cc58b99701ae9cc22776e76c580b66185599553860da7de80623185a0b142ee

See more details on using hashes here.

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

Hashes for mvcluster-1.17-py3-none-any.whl
Algorithm Hash digest
SHA256 12367f04e4812a51eadd61b34069eec8666d1bc301facd43eadaa7c5f4ed64e6
MD5 587588e7a52953ad0740fdd813d29df2
BLAKE2b-256 2fd4bf292111e1e501ccb06714f77c205aee6fc06e6380d0de91c28e86d328c7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page