Skip to main content

Globally Collaborative Multi-View k-Means Clustering Algorithm

Project description

G-CoMVKM

Globally Collaborative Multi-View k-Means Clustering

PyPI version License: MIT

Overview

G-CoMVKM is a Python implementation of the Globally Collaborative Multi-View k-Means clustering algorithm, originally developed by Kristina P. Sinaga. The algorithm integrates a collaborative transfer learning framework with entropy-regularized feature-view reduction, enabling dynamic elimination of uninformative components. This method achieves clustering by balancing local view importance and global consensus.

Installation

You can install G-CoMVKM directly from PyPI:

pip install gcomvkm

Requirements

  • Python 3.7+
  • NumPy
  • SciPy
  • Matplotlib
  • scikit-learn
  • seaborn

Usage

from gcomvkm import GCoMVKM
from gcomvkm.utils import load_synthetic_data
from gcomvkm.evaluation import nmi, rand_index, adjusted_rand_index

# Load the dataset
X, label = load_synthetic_data()

# Create and fit the model
model = GCoMVKM(
    n_clusters=2,
    gamma=5.0,
    theta=4.0,
    max_iter=100,
    tol=1e-4,
    verbose=True,
    random_state=42
)

model.fit(X)

# Get the cluster assignments
predicted_labels = model.labels_

# Evaluate the clustering performance
nmi_score = nmi(label, predicted_labels)
ri_score = rand_index(label, predicted_labels)
ari_score = adjusted_rand_index(label, predicted_labels)

print(f"NMI: {nmi_score:.4f}")
print(f"RI: {ri_score:.4f}")
print(f"ARI: {ari_score:.4f}")

Algorithm Parameters

  • n_clusters: Number of clusters to form
  • gamma: Exponent parameter to control the weights of V (typically in range [0,1])
  • theta: Coefficient parameter to control the weights of W (typically > 0)
  • max_iter: Maximum number of iterations
  • tol: Convergence tolerance
  • verbose: Whether to print progress information
  • random_state: Random seed for reproducibility

Features

  • Multi-view clustering with feature and view weighting
  • Automatic dimensionality reduction through entropy regularization
  • Balanced local and global consensus clustering
  • Comprehensive evaluation metrics

Citation

If you use this package in your research, please cite the original paper:

@article{sinaga2025gcomvkm,
  title={A Globally Collaborative Multi-View k-Means Clustering},
  author={Sinaga, Kristina P.},
  journal={MDPI Electronics},
  year={2025}
}

License

This project is licensed under the MIT License - see the LICENSE file for details. 6. Performance metrics across different initializations 7. Convergence plot

References

This implementation is based on the MATLAB code by Kristina P. Sinaga. For more details about the algorithm, please refer to the original paper.

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

gcomvkm-0.1.0.tar.gz (55.5 kB view details)

Uploaded Source

Built Distribution

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

gcomvkm-0.1.0-py3-none-any.whl (54.5 kB view details)

Uploaded Python 3

File details

Details for the file gcomvkm-0.1.0.tar.gz.

File metadata

  • Download URL: gcomvkm-0.1.0.tar.gz
  • Upload date:
  • Size: 55.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.5

File hashes

Hashes for gcomvkm-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a662e2edb55de4d63c5fa33de310523f7f4d17bdb8bcd217f580315d84fb5f79
MD5 e3e4057ebd4edf166a22ce28e2fd18ba
BLAKE2b-256 53fef23ff81b73d6f7637cc888c49109f7d9f9325d9d7d26b2439478a5d335b7

See more details on using hashes here.

File details

Details for the file gcomvkm-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: gcomvkm-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 54.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.5

File hashes

Hashes for gcomvkm-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e4f6f4e7726aa9e28168198c595e64f2c31a44383258b3909951941bf39fe68e
MD5 f6f4eaca13fcf9c4378c0903053c9553
BLAKE2b-256 5914cf670d10af3e0ef5d41f05876f3f527b2b0648ae7912bc24071bb06af435

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