Skip to main content

Generalized Spectral Clustering in Python

Project description

GSCpy

This is a package for performing Spectral Clustering.

It works a near-fully unsupervised way : the only required information is the number of clusters .

The clustering is done using the Generalized Spectral Clustering (GSC) framework developped by Jonckheere et al. in arXiv:2203.03221. It has been shown experimentally that this framework regularly outperforms classical spectral clustering for synthetic and real datasets.

Classical spectral clustering can also be performed by tweaking the parameters, as the clustering algorithm used is fully customizable.

Usage

Interacting with the package is done trough the GSC class, representing a GSC model. To use :

  • Create a GSC object with the parameters of your choice
  • Cluster your data using the fit method of the class
  • Retrieve the clustering using the labels attribute
  • Get more information on the clustering by using the available instance attributes (cluster centers, eigenvalues of the graph laplacian, adjacency matrix, Calinski-Harabasz index)
  • Evaluate the performance of the clustering using the nmi method.

To help you manage your datasets, GSCpy includes a file manager allowing to easily load and save datasets with their labels.The package also includes an interactive 2D dataset builder, powered by matplotlib.

Installation

GSCpy is entirely written in Python and requires the following libraries to run correctly :

  • NumPy
  • Matplotlib
  • SciPy
  • Scikit-learn

You can install GSCpy and every required library using pip :

pip install GSCpy

Pypi repository of the project : GSCpy · PyPI

Test

You can test yout GSCpy installation using this simple script :

import gscpy

data,labels_true=gscpy.build_dataset(save=True,name='test')
k=2 #The number of clusters you built
model=gscpy.GSC(k)
model.fit(data)
print('Clustering  NMI score' ,model.nmi(labels_true))

This project was carried out as part of an internship at LAAS-CNRS, Toulouse.

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

gscpy-1.0.1.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

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

GSCpy-1.0.1-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file gscpy-1.0.1.tar.gz.

File metadata

  • Download URL: gscpy-1.0.1.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.2

File hashes

Hashes for gscpy-1.0.1.tar.gz
Algorithm Hash digest
SHA256 8b47254ac517e7284cdffc2b44d3e0827fc8eb2727c7cdb32efb173e9f53eec9
MD5 7f5987d293d36d2e0297c31c920e87a6
BLAKE2b-256 6842039f6d1f22086031fcbe0a943e12eec6746c7936efcb5c11f1a059bc3078

See more details on using hashes here.

File details

Details for the file GSCpy-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: GSCpy-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.2

File hashes

Hashes for GSCpy-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 41071e8ded39372cc2da5bc9e11348787d78b9d9f344ae372e2904d8e7b86d8c
MD5 35d2231aea625f834737f3819538b25b
BLAKE2b-256 ea7971731aca81ddbf2159e901b5d54c2ed9e1930b71c0cf104dcf9f43acc48f

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