infomeasure.c
来自「vc的源代码程序的基于最小特征向量的元素的集合方法的程序源代码」· C语言 代码 · 共 34 行
C
34 行
#include "infoMeasure.h"float plogp(float P){ if(P<0.0000001) return 0; // assume it is ZERO// cout << "P=" << P <<";"; return P*log(P)/log(2.0);}float entropy (int MaxClass, int *CntV, int Cnt){ float v=0; for(int k=0; k<MaxClass; k++) { v += plogp((float)CntV[k]/Cnt);// cout << CntV[k] <<"/"<<Cnt<< "="<<(float)CntV[k]/Cnt<<"|"; } return -v;}float infoMeasure(int MaxClass, int *leftCntV, int *rightCntV, int leftCnt, int rightCnt, int total) // total = leftCnt+rightCnt{ // the division to total can be ignored, as it // will not // affact the comparing reslts. return( (entropy(MaxClass, leftCntV, leftCnt)*leftCnt + entropy(MaxClass, rightCntV, rightCnt)*rightCnt)/total);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?