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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7090f842b83a7db1b57aa96f866e169ebe5edacb5fa7791cecf1c835490f7f1 |
|
MD5 | 01fcad7c490c3cccb91db20bc1e8d81b |
|
BLAKE2b-256 | b26e8bd8477a51993768a6875e9e1d6328352dbfd97382637a8d8c60e1f38044 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69f6be4e0e1e8cc6afbcf84a1e08d1cfbe0b4dd5ccde7f91cdc172c937f47e3b |
|
MD5 | dcf9770d780b17afde3fa182a0c14a92 |
|
BLAKE2b-256 | b5cd0d5d51ea2e2c0dad46f19139300d69fd8e7ce4104d164836b778fa501d0e |