在机器学习中的决策树类算法中主要依靠信息熵的大小来选择重要的特征属性作为节点换分数据集从而获得训练结果
#-*-coding:utf-8-*-
from math import log
import operator
def calcShanonEnt(dataSet):
'''
计算给定数据集的香农熵
:param dataSet:
:return:shanonEnt
'''
numEntries = len(dataSet)
labelCounts={}
for featVec in dataSet:
currentLabel = featVec[-1]
if currentLabel not in labelCounts.keys():
labelCounts[currentLabel]=0
labelCounts[currentLabel] +=1
shanonEnt = 0.0
for key in labelCounts:
prob= float(labelCounts[key])/numEntries
shanonEnt -= prob*log(prob,2)
return shanonEnt
作者:WangB

本文深入探讨了决策树类算法在机器学习中的应用,特别关注于如何利用信息熵选择重要特征属性,以此来划分数据集,提升模型的训练效果。通过具体的Python代码示例,展示了香农熵的计算过程。

1114

被折叠的 条评论
为什么被折叠?



