全国旗舰校区

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

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

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

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

来源:千锋教育
发布人:xqq
2023-11-14

推荐

在线提问>>

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中string和float之间的转换

python中UDP编程实现通信

python中如何使用numpy.zeros()函数?

python中子类与父类的关系

python中泊松分布是什么意思?

开班信息 更多>>

课程名称
全部学科
咨询

HTML5大前端

Java分布式开发

Python数据分析

Linux运维+云计算

全栈软件测试

大数据+数据智能

智能物联网+嵌入式

网络安全

全链路UI/UE设计

Unity游戏开发

新媒体短视频直播电商

影视剪辑包装

游戏原画

    在线咨询 免费试学 教程领取