百科狗-知识改变命运!

python如何实现信息增益和信息增益率

是丫丫呀2年前 (2023-11-19)阅读数 32#技术干货
文章标签增益

python中如何实现信息增益和信息增益率

一、信息增益与信息增益率

1、信息增益

以某特征划分数据集前后的熵的差值。熵可以表示样本集合的不确定性,熵越大,样本的不确定性就越大。因此可以使用划分前后集合熵的差值来衡量使用当前特征对于样本集合D划分效果的好坏。

信息增益=entroy(前)-entroy(后)

注意:信息增益表示得知特征X的信息而使得类Y的信息熵减少的程度

2、信息增益率

增益率是用前面的信息增益Gain(D,a)和属性a对应的"固有值"(intrinsicvalue)[Quinlan,1993J的比值来共同定义的。

二、信息增益与信息增益率python代码实现

1、信息增益定义计算信息增益的函数:计算g(D|A)

defg(data,str1,str2):

e1=data.groupby(str1).apply(lambdax:infor(x[str2]))

p1=pd.value_counts(data[str1])/len(data[str1])

#计算Infor(D|A)

e2=sum(e1*p1)

returninfor(data[str2])-e2

print("学历信息增益:{}".format(g(data,"学历","类别")))

#输出结果为:学历信息增益:0.08300749985576883

python如何实现信息增益和信息增益率

2、信息增益率定义计算信息增益率的函数:计算gr(D,A)

defgr(data,str1,str2):

returng(data,str1,str2)/infor(data[str1])

print("学历信息增益率:",gr(data,"学历","类别"))

#输出结果为:学历信息增益率:0.05237190142858302

以上就是python中如何实现信息增益和信息增益率,希望能对大家有所帮助。更多Python学习教程请关注IT培训机构:开发教育。

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)
{if $zbp->Config('yd1125')->foot}