0
点赞
收藏
分享

微信扫一扫

计算香农熵练习


读取play.csv文件中的内容,并计算数据集play.csv(未考虑任何特征前)的熵值。

注:1、即使用熵值的公式

2、在play.csv文件中outlook(天气),TEMPERATURE(温度)、HUMIDITY(湿度)、

WINDY(风)代表四个特征。

最后一类代表类别,即是否出去打球

from math import log
def calcShannonEnt(dataSet):
numEntries=len(dataSet)
labelCounts={}
for featVec in dataSet:
currentLabel=featVec[-1]
if currentLabel not in labelCounts.keys():
labelCounts[currentLabel]=0
labelCounts[currentLabel]+=1
shannonEnt=0.0
for key in labelCounts:
prob=float(labelCounts[key])/numEntries
shannonEnt-=prob*log(prob,2)
return shannonEnt

print(calcShannonEnt('play.csv'))

计算香农熵练习_机器学习



举报

相关推荐

信息熵计算

0 条评论