python如何实现信息增益和信息增益率
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培训机构:千锋教育。
猜你喜欢LIKE
相关推荐HOT
更多>>python日志记录器的配置
python日志记录器的配置Logger对象有三个任务。第一,它们将一些方法暴露给应用程序代码,使应用程序能够在运行时记录消息。第二,记录器对象将...详情>>
2023-11-14 20:38:29pythonvlookup函数功能是什么?
python中vlookup函数功能是什么?exce中的vlookup功能非常强大和方便。但总是手动操作,终究还是效率不高。在VBA,将一系列人工操作改为一键操作...详情>>
2023-11-14 16:51:57pythonpathlib模块的用法有哪些?
python中pathlib模块的用法有哪些?在这个世界上,人们每天都在用Python完成着不同的工作。而文件操作,则是大家最常需要解决的任务之一。使用Py...详情>>
2023-11-14 16:29:17python内置方法的汇总整理
python内置方法的汇总整理1、replace替换后是需要用另一种数据类型接受的数据。m=n.replace(“0b”,"")替换m中0b为“空“变量名.replace(“要替...详情>>
2023-11-14 15:53:51热门推荐
python中string和float之间的转换
沸python中UDP编程实现通信
热python中如何使用numpy.zeros()函数?
热python中子类与父类的关系
新python中泊松分布是什么意思?
python实现信息熵的计算代码
python日志记录器的配置
python如何对Python数据表进行检查
python基于LBPH的人脸识别操作
python中列表的索引如何理解?
python的id函数如何判断分片产生的列表?
python如何使用append函数扩展列表?
python如何实现信息增益和信息增益率
python使用import调用模块