Skip to main content

Torchcluster is a python package for cluster analysis.

Project description

Documentation |

Torchcluster is a python package for cluster analysis. The speed of the clustering algorithm has been effectively improved with the Pytorch backend. We are also working on test datasets and visualization tools. Related work is coming in the next release.

System requirements

torchcluster should work on

  • all Linux distributions no earlier than Ubuntu 16.04

  • macOS X

  • Windows 10

torchcluster also requires Python 3.5 or later. Python 2 support is coming.

Right now, torchcluster works on PyTorch 0.4.1.

Installation

Using pip

pip install torchcluster

Using anaconda

conda install -c tczhangzhi torchcluster

How torchcluster looks like

Define a dataset generator and generate a dataset:

from torchcluster.dataset.simple import SimpleDataset

dataset_factory = SimpleDataset(2, feature=2, sigma=2, device=device)
dataset = dataset_factory(100)

Configuring a clustering algorithm and get your result:

from torchcluster.zoo.spectrum import SpectrumClustering

cluster = SpectrumClustering(2)
result, _ = cluster(dataset)

You can also cluster your own data sets. The dataset should be a tensor of n by m, where n is the number of data points in the dataset and m is the dimension of each data point:

dataset = torch.cat([torch.randn(500,2) + torch.Tensor([-2,-3]), torch.randn(500,2) + torch.Tensor([2,1])])

Use spectral clustering to get the following results:

tensor([0, 0, ..., 1, 1])

License

MIT

Copyright (c) 2019-present, Zhang Zhi

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

torchcluster-0.1.4.tar.gz (4.7 kB view hashes)

Uploaded Source

Supported by

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