Skip to main content

Cluster minimization package

Project description

mincluster

mincluster is a package that allows to minimize the maximum intercluster distance

Overview

The problem of clustering a set of points so as to minimize the maximum intercluster distance is studied. An O(kn) approximation algorithm, where n is the number of points and k is the number of clusters, that guarantees solutions with an objective function value within two times the optimal solution value is presented. This approximation algorithm succeeds as long as the set of points satisfies the triangular inequality. We also show that our approximation algorithm is best possible, with respect to the approximation bound, if P ≠ NP.

Installation

pip install mincluster

Usage

from mincluster.cluster import ClusterMinimization

k = 3
data = [231, 22, 73, 54, 60, 29, 10, 192, 115]
c = ClusterMinimization(k, data)
clusters, cluster_heads = c.expand_clusters(c.clusters, c.cluster_heads)

try:
    for i in range(k):
        print(f'Cluster {i + 1}: Head = {cluster_heads[i]}, Elements = {clusters[i]}')
except IndexError as e:
        print(e)

Output

Cluster 1: Head = 60, Elements = {192, 231, 73, 10, 115, 54, 22, 29}
Cluster 2: Head = 231, Elements = {192, 231, 73, 10, 115, 54, 22, 60, 29}
Cluster 3: Head = 115, Elements = {192, 231, 73, 10, 115, 54, 22, 60, 29}

License

This project is licensed under the MIT License - see the LICENSE file for details

References

Gonzalez, Teofilo F. “Clustering to Minimize the Maximum Intercluster Distance.” Theoretical Computer Science, vol. 38, Elsevier BV, Jan. 1985, pp. 293–306, https://doi.org/10.1016/0304-3975(85)90224-5. Accessed 26 Oct. 2023.

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

mincluster-0.0.1.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

mincluster-0.0.1-py3-none-any.whl (4.3 kB view details)

Uploaded Python 3

File details

Details for the file mincluster-0.0.1.tar.gz.

File metadata

  • Download URL: mincluster-0.0.1.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for mincluster-0.0.1.tar.gz
Algorithm Hash digest
SHA256 a7090f842b83a7db1b57aa96f866e169ebe5edacb5fa7791cecf1c835490f7f1
MD5 01fcad7c490c3cccb91db20bc1e8d81b
BLAKE2b-256 b26e8bd8477a51993768a6875e9e1d6328352dbfd97382637a8d8c60e1f38044

See more details on using hashes here.

File details

Details for the file mincluster-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: mincluster-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 4.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for mincluster-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 69f6be4e0e1e8cc6afbcf84a1e08d1cfbe0b4dd5ccde7f91cdc172c937f47e3b
MD5 dcf9770d780b17afde3fa182a0c14a92
BLAKE2b-256 b5cd0d5d51ea2e2c0dad46f19139300d69fd8e7ce4104d164836b778fa501d0e

See more details on using hashes here.

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