|
1鱼币
def calcShannonEnt(dataset): # def 1
numEntries = len(dataset) # 样本数,这里的dataSet是列表
labelCounts = {} #定义一个字典,key为类别,值为类别数
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 # 信息熵
有大佬知道两段红色代码是有什么作用吗?
|
最佳答案
查看完整内容
怎么回复被审核了?看不到了?
https://blog.csdn.net/wzyaiwl/article/details/76377018
|