全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

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

发布时间:2023-11-13 14:42:52
发布人:xqq

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

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

defgr(data,str1,str2):

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

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

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

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

python培训

相关文章

python是什么意思啊

python是什么意思啊

2023-11-14
python库是什么意思

python库是什么意思

2023-11-14
python多进程取代多线程的探究

python多进程取代多线程的探究

2023-11-14
pythonGIL的原理

pythonGIL的原理

2023-11-14

最新文章

武汉新媒体行业公司排名

武汉新媒体行业公司排名

2023-11-01
武汉新媒体就业现状好吗

武汉新媒体就业现状好吗

2023-11-01
武汉全媒体行业发展现状及趋势

武汉全媒体行业发展现状及趋势

2023-10-31
武汉全媒体现状

武汉全媒体现状

2023-10-31
在线咨询 免费试学 教程领取