forked from rackingroll/mcmc_lsh
-
Notifications
You must be signed in to change notification settings - Fork 1
/
MCMC.h
37 lines (32 loc) · 947 Bytes
/
MCMC.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include "LSH.h"
#include "L2LSH.h"
class MCMC
{
private:
double ** _data;
int * _label;
int _num;
int _dim;
int _clusnum;
LSH* lsh;
L2LSH * l2lsh;
double Likelihood(int * label, int clusnum);
double L2Distance(double * a, double * b);
int * Operation(int * label);
double ** GetCenters(int * label, int clusnum);
int * OperationSM(int * label, int * clusnum);
int * OperationSDDSSM(int * label, int * clusnum);
int * OperationLSHSM(int * label, int * clusnum);
int * Reassignment(int * label, double ** centers);
double * Inverse (double * a, int dim);
public:
//MCMC();
MCMC(double ** data, int * label, int num, int dim, int clusnum);
MCMC(double ** data, int * label, int num, int dim, int clusnum, int K, int L);
int * EM_GMM(int clusnum);
int * SM_GMM();
int * SDDSSM_GMM();
int * LSHSM_GMM();
//double NMI (int * label);
~MCMC();
};