Shannon 信息熵:python_code
2017-11-01 09:34
309 查看
信息熵
代码来源于《机器学习》
from math import log import numpy as np def calcShannonEnt(dataset): numEntries =len(dataset) labelCounts = {} for favocter in dataset: setkeys = favocter[-1] # print(setkeys) if setkeys not in labelCounts.keys(): labelCounts[setkeys] = 0 labelCounts[setkeys] +=1 # print(labelCounts) shnnoy = 0.0 for key in labelCounts.keys(): prop = float(labelCounts[key])/numEntries shnnoy -=prop * log(prop,2) return (shnnoy) if __name__== '__main__': df=np.array([[1,1],[1,1],[1,2],[1,2],[1,1]]) shon = calcShannonEnt(df) print(shon)
相关文章推荐
- LintCode Python 合并排序数组
- pip安装icu失败:Command "python setup.py egg_info" failed with error code 1 in
- PEP 0263 Defining Python Source Code Encodings
- Python笔记——pyCharm错误: Process finished with exit code -1073740791 (0xC0000409)
- python_code_420
- Python Show-Me-the-Code 第 0017,0018,0019 题 写XML文件
- python PIL --show me the code 0000
- visual studio code 里调试运行 Python代码
- redis概要_codepython整理二
- Run code as python interpreter
- Show me the code之Python练习册 Q11~12 关键词过滤
- 【Python】Visual Studio Code 安装&&使用 hello python~~~~
- Gray Code Leetcode Python
- python Code 示例
- My First Python code for learnning English.
- mysql-Can\'t connect to MySQL server on \'127.0.0.1\' (10061) (code 2003)"): error calling Python mo
- C++程序调用Python的函数(简单应用)及Ubuntu16.04下codeblocks的环境配置
- python byte code 的生成以投放到虚拟机的过程
- Ubuntu中修改vscode中默认python版本
- lintcode 173 单链表插入排序 python