香农熵公式:
# -*- coding:utf-8 -*-
import math
__author__ = 'yangxin'
"""
一条信息的信息量大小和它的不确定性有直接的关系。比如说,我们要搞清楚一件非常非常不确定的事,或是我们一无所知的事情,
就需要了解大量的信息。相反,如果我们对某件事已经有了较多的了解,我们不需要太多的信息就能把它搞清楚。
所以,从这个角度,我们可以认为,信息量的度量就等于不确定性的多少。
"""
class ShannonEntropy(object):
# 计算给定数据集的香农墒的函数
def calc_shannon_ent(self, data_set):
# 求list的长度,表示计算参与训练的数据量
num_entries = len(data_set)
# 计算分类标签label出现的次数
label_counts = {}
# the number of unique elements and their occurance
for featVe