信息熵:
对于f(x)= -x * log2(x)
x=np.linspace(0.1,0.9,100000)
y=-x*np.log2(x)
print(y.max())
p=np.where(y==y.max())
x[p[0]]
f(x)= -x * log2(x) 的最值【0——1】;
0.5307378454024889
array([0.36788268])
f(x)= -x * log2(x)-(1-x)*log2(1-x)【0——1】;x==0.5时,H(x)为1bit
信息熵,当各个p(xi)相等时H(x)最大;那么在【各个p(xi)相等】的条件下,n逐渐增大是什么样子
l=[]
for i in range(1,10001):
z=1/i
x=-z*np.log2(z)
l.append(x*i)
plt.plot(l)
plt.xlabel("n")
plt.ylabel("H(x)")
plt.show()
条件熵:p(x)* H(x)
信息增益:未划分的信息熵【 减 】【条件熵】划分后各个区域的信息熵【乘】权重(该区域数量占比) 越大越好
ID3决策树:以信息增益为准则,划分属性 对取值数目较多的属性有所偏好【有可能该属性每个值各划分一个类,每个类一般一个样本,这样划分没有意义】
C4.5决策树:以信息增益率为准则,划分属性 克服了ID3的偏好
CART决策树:以基尼指数为准则;划分属性 类似于信息熵
,类别标记不一致的概率