欢迎关注博主的公众号:happyGirl的异想世界。有更多干货还有技术讨论群哦~
越在根节点(父节点)的信息越重要,也就是其信息增益越大,信息增益的大小可以用信息熵公式进行计算:
举个可能不够恰当的例子。我们目前有如下数据,分类结果(叶节点)为 下雨 / 晴天:
分类结果的信息熵(下雨 或 晴天 这个数据 的信息熵):
-(1/2 * log(1/2) + 1/2 * log(1/2)) = 0.301(下雨 晴天 各6天,概率p均为1/2)
太阳(父节点)的有无(条件)对分类结果(下雨、晴天)的影响:
有太阳: -(1*log(1)+0*log0))=0 (有太阳的5天都是晴天)
无太阳: -(1/7 * log(1/7)+6/7 * log(6/7)) = 0.178 (没他要的7天里,1天是晴天,6天是下雨)
我们需要计算这个因素(太阳)重要与否,需要用到条件熵,公式如下:
条件熵: 5/12 * 0 + 7/12 * 0.178 = 0.103(一共12天,其中有太阳的5天的信息熵为0,无太阳的7天的信息熵为0.178)
参考文献:
百面机器学习P61-71
https://baike.baidu.com/item/%E4%BF%A1%E6%81%AF%E7%86%B5/7302318