IMP logo
IMP Reference Guide  2.9.0
The Integrative Modeling Platform
statistics/kmeans.py

Clustering is very simple. The example generates some random points in clusters and extracts the clusters. To cluster density, configurations or particles, replace the IMP.statistics.Vector3DEmbedding with a IMP.statistics.Vector3DEmbedding with a IMP::statistics::HighDensityEmbedding, IMP::statistics::ConfigurationSetXYZEmbedding or a IMP::statistics::ParticleEmbedding.

1 ## \example statistics/kmeans.py
2 # Clustering is very simple. The example generates some random points in
3 # clusters and extracts the clusters. To cluster density, configurations
4 # or particles, replace the IMP.statistics.Vector3DEmbedding with a
5 # IMP.statistics.Vector3DEmbedding with a
6 # IMP::statistics::HighDensityEmbedding,
7 # IMP::statistics::ConfigurationSetXYZEmbedding or a
8 # IMP::statistics::ParticleEmbedding.
9 
10 import IMP.algebra
11 import IMP.statistics
12 import sys
13 
14 IMP.setup_from_argv(sys.argv, "kmeans")
15 
16 # generate some clusters of points
17 vs = []
18 centers = (IMP.algebra.Vector3D(0, 0, 0),
19  IMP.algebra.Vector3D(10, 15, 20),
20  IMP.algebra.Vector3D(60, 30, 12))
21 for i in range(0, 3):
22  for j in range(0, 100):
24  IMP.algebra.Sphere3D(centers[i], 10)))
25 
26 # cluster them into 3 clusters
29  3, 1000)
30 
31 # print out the cluster results
32 print(c.get_cluster_center(0))
33 print(c.get_cluster_center(1))
34 print(c.get_cluster_center(2))