信息增益怎么求(python中如何实现信息增益和信息增益率)
导读:一、信息增益与信息增益率...
一 、信息增益与信息增益率
1 、信息增益
以某特征划分数据集前后的熵的差值 。熵可以表示样本集合的不确定性 ,熵越大 ,样本的不确定性就越大 。因此可以使用划分前后集合熵的差值来衡量使用当前特征对于样本集合D划分效果的好坏 。
信息增益 = entroy(前) - entroy(后)
注意:信息增益表示得知特征X的信息而使得类Y的信息熵减少的程度
2 、信息增益率
增益率是用前面的信息增益Gain(D, a)和属性a对应的"固有值"(intrinsic value) [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 defgr(data,str1,str2): returng(data,str1,str2)/infor(data[str1]) print("学历信息增益率:",gr(data,"学历","类别")) #输出结果为:学历信息增益率:0.05237190142858302创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!