#计算信息熵
def calEntro(dataset):
dataset = np.array(dataset)
data_len = len(dataset)
#labelCount记录各类样本数据的数量
labelCount = {}
for row in dataset:
cur_label = row[-1]
if cur_label not in labelCount.keys():
labelCount[cur_label] = 0
labelCount[cur_label] += 1
result = 0
for key in labelCount.keys():
prob = labelCount[key]/data_len
result -= prob*math.log2(prob)
return result
这段代码是用来计算数据集的信息熵的函数。信息熵是用来衡量数据集的不确定性,即数据集中包含的信息量。以下是对代码的解释:
总体来说,这段代码的功能是通过遍历数据集中的标签值,计算数据集的信息熵,并返回信息熵的值。信息熵值越高,表示数据集的不确定性越大。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- niushuan.com 版权所有 赣ICP备2024042780号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务