X-Git-Url: https://www.fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=clusterer.h;fp=clusterer.h;h=6fa538273c22c039831ed295ce5079cb9b72c323;hb=0820b707fe47acf03faf6a7a23f22ac269e8d8de;hp=584828e0fb350f0530661cc7b5fc62dbab0db810;hpb=3b393ae61e277ead674cb96b85ad77cb50fcd4c7;p=clueless-kmeans.git diff --git a/clusterer.h b/clusterer.h index 584828e..6fa5382 100644 --- a/clusterer.h +++ b/clusterer.h @@ -31,9 +31,16 @@ class Clusterer { public: enum { + // Standard k-mean STANDARD_ASSOCIATION, + // Same, implemented as a LP problem for sanity check STANDARD_LP_ASSOCIATION, - UNINFORMATIVE_LP_ASSOCIATION + // Criterion forcing to have the same distribution of classes in + // all clusters + UNINFORMATIVE_LP_ASSOCIATION, + // Criterion forcing to have the same number of samples of each + // class in all clusters + UNINFORMATIVE_LP_ASSOCIATION_ABSOLUTE }; const static int max_nb_iterations = 10; @@ -66,7 +73,8 @@ public: scalar_t uninformative_lp_cluster_association(int nb_points, scalar_t **points, int nb_classes, int *labels, - scalar_t **gamma); + scalar_t **gamma, + int absolute_proportion); void update_clusters(int nb_points, scalar_t **points, scalar_t **gamma);