千锋教育-做有情怀、有良心、有品质的职业教育机构

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

来源:千锋教育
发布时间:2023-11-13 08:10:57
分享

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培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • pythonCounter在python中两种用法 Counter在python中两种用法此映射类型为键准备了一个整数计数器。每更新一次键,该计数器就增加一次。因此,此类型可用于为可散列表对象计数,或将其作为多重集合使用——多重集合就是集合中的元素可以
  • python添加列表元素的多种方法 python添加列表元素的两种方法方法一:append()方法:追加单个元素到列表的尾部只接受一个元素,元素可以是任何数据类型,被追加的元素在列表中保持着原数据结构类型。使用格式列表名称.append
  • python列表运算详解 python列表运算详解1、列表相加通过列表相加的方法生成新列表。color1=['green','blue','pink','red'
  • python线程中deque如何使用? python线程中deque如何使用?1、说明collections.deque类是一种线程安全的数据类型,可以从两端快速添加或删除元素。而且如果你想有一个数据类型来存储“最近使用过的元素”,dequ
  • pythondefaultdict在python中接收调用对象 defaultdict在python中接收调用对象1、说明有时候为了方便起见,就算某个键在映射里不存在,我们也希望在通过这个键读取值的时候能得到一个默认值。为了达到这个目的,可以通过defaultdi
  • pythonFearturetools三个基本概念 python中Fearturetools三个基本概念常规特征工程学方法通过人工构造特征,是一个繁琐、费时且易出错的过程。自动化特征工程是一个通过诸如Fearturetools之类的工具,从一组相关数据