Now the full version... Daniel and I discussed a little bit consolidation of clustering things in statistics and kmeans modules. Please tell me if it is agreed that things will work with the following interface: * The Embedding family of classes (used to embed data in vector form) will remain as is * There will be a "Clustering" class from which all clustering algorithms will derive, with a constructor that takes either Embedding class, or EmbeddingAdaptor for implicit conversions from e.g., FloatsList * The Clustering classes will also have a *void ::execute()* method and a*::get_clustering results() *method, that will return the clustering results (using the exisiting PartitioningClustering class, perhaps we can change its name to PartitioningClusteringResults).
So bottom line, if you will want to cluster some data, you will do something like *FloatsList data; // or create an Embedding object* *KMeansClustering kmeans(data, params);* *kmeans.execute();* *PartitioningClustering clustering_results = kmeans.get_clustering_results() *
Makes sense? For backward compatibility, I will add a DEPRECATED warning to existing clustering methods, so they will be removed within a few months completely.
Barak