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 your 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.2.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.2-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gscpy-1.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 b7bd067761c13cdb7e63d8db1db08b473a6b65ab9ce07449d16cac69f0ac07a9
MD5 c0f429aa75d33f73332a1fac8e6df66d
BLAKE2b-256 218d63b66bea335198746ac7012a6e29deec9d30e8aa60d364642b4d06bb763d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: GSCpy-1.0.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5716e84aab898987f132b2ee91c0cc9888dbf47c386ca3e5cd45bf6a28248991
MD5 53fff7e27b305a766fb1321e7d4e031a
BLAKE2b-256 4b11bfc1a72dbcf34a36a4af96db248c82f8d697f46ca1d1220b078b0f714c0f

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