SPRAAK
|
Calcultate the LDA transformation for a given set of data-points. More...
Functions | |
double ** | spr_lda_stats_alloc (double **moments, int nclasses, int vlen) |
double ** | spr_lda_stats_diag_alloc (double **moments, int nclasses, int vlen) |
void | spr_lda_stats_update (double *restrict moments, const SprMathReal *data, int vlen, float weight) |
Update the 2nd order statistics for a given vector (and class). More... | |
void | spr_lda_stats_diag_update (double *restrict moments, const SprMathReal *data, int vlen, float weight) |
void | spr_lda_calc_class_covar (double **moments, int vlen, int nclasses, double Beta, SprStatsStats *within_class_covar, SprStatsStats *between_class_covar) |
void | spr_lda_calc_transf (SprStatsStats *lda_transf, int vlen, SprStatsStats *within_class_covar, SprStatsStats *between_class_covar) |
Calcultate the LDA transformation for a given set of data-points.
Example code:
double **moments = alloc_lda_stats(NULL,nclasses,vlen); Stats *wcc = AllocStats(NULL,MEAN+SIGMA+COVAR,vlen); Stats *bcc = AllocStats(NULL,MEAN+SIGMA+COVAR,vlen); Stats *transf = AllocStats(NULL,MEAN+SIGMA+COVAR,vlen); for(i=0;i<ndata,i++) update_lda_stats(moments[class[i]],data[i],vlen,1.0); calc_class_covar(moments,vlen,nclasses,ndata,wcc,bcc); calc_lda_transf(transf,vlen,wcc,bcc);