def ent(data):
prob1 = pd.value_counts(data)/len(data)
return sum(np.log2(prob1)prob1(-1))
def gain(data,str1,str2):
e1 = data.groupby(str1).apply(lambda x:ent(x[str2]))
p1 = pd.value_counts(data[str1])/len(data[str1])
e2=sum(e1*p1)
return ent(data[str2])-e2
信息增益计算
最新推荐文章于 2024-04-19 09:39:59 发布