函数功能:计算熵 参数y:数据集的标签
(self,y)
| 30 | |
| 31 | |
| 32 | def _calcEntropy(self,y): |
| 33 | """ |
| 34 | 函数功能:计算熵 |
| 35 | 参数y:数据集的标签 |
| 36 | """ |
| 37 | num = y.shape[0] |
| 38 | #统计y中不同label值的个数,并用字典labelCounts存储 |
| 39 | labelCounts = {} |
| 40 | for label in y: |
| 41 | if label not in labelCounts.keys(): labelCounts[label] = 0 |
| 42 | labelCounts[label] += 1 |
| 43 | #计算熵 |
| 44 | entropy = 0.0 |
| 45 | for key in labelCounts: |
| 46 | prob = float(labelCounts[key])/num |
| 47 | entropy -= prob * np.log2(prob) |
| 48 | return entropy |
| 49 | |
| 50 | |
| 51 |
no outgoing calls
no test coverage detected