X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=clueless-kmeans.git;a=blobdiff_plain;f=clusterer.h;h=6fa538273c22c039831ed295ce5079cb9b72c323;hp=584828e0fb350f0530661cc7b5fc62dbab0db810;hb=HEAD;hpb=60785fe128e964f3d124e9b49cce9154501e53cb 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);