filtering.py 文件源码

python
阅读 42 收藏 0 点赞 0 评论 0

项目:aurora 作者: carnby 项目源码 文件源码
def __estimate_entropy__(self):
        counts = self.feature_vector_counts #Counter(self.timeline_feature_vectors)
        #print counts
        #N = float(sum(counts.values()))
        N = float(len(self.timeline) + 1)
        max_H = np.log(float(len(list(filter(lambda x: x, counts)))))

        if np.equal(max_H, 0.0):
            return 0.0

        entropy = 0.0

        for key in counts.keys():
            if counts[key] > 0:
                key_probability = counts[key] / N
                entropy += -(key_probability * np.log(key_probability))

        entropy /= max_H

        #print u'N={0}, |counts|={3}, max_H={1}, entropy={2}, counter={4}'.format(N, max_H, entropy, len(counts), counts)
        return entropy
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号