概述
通过此文档如果还不清楚条件熵H(Y|X)的计算过程,请毫不留情地把搬砖扔过来,我愿意接招。
此文章文档下载地址:https://download.csdn.net/download/u012421852/10322178
1. 样本数据集
样本集简介:
样本集有8个example样本
每个样本有3个特征(身高,房子,性格),1个分类结果refuse或者agree
身高取值范围={high, low}
房子取值范围={no, yes}
性格取值范围={good, bad}
分类标签=相亲结果={refuse,agree}
样本号 | X=身高 | X=房子 | X=性格 | Y=相亲结果 |
1 | high | no | good | refuse |
2 | high | no | good | refuse |
3 | high | yes | good | agree |
4 | low | yes | good | agree |
5 | low | yes | good | agree |
6 | low | yes | bad | refuse |
7 | low | yes | bad | refuse |
8 | low | Yes | Bad | refuse |
2.分类样本空间Y=相亲结果
样本变量 | refuse | agree |
|
样本分布 | refuse=5 | agree=3 |
|
概率分布 | P(y=refuse)=5/8 | P(y=agree)=3/8 |
|
3.样本空间 X=身高
3.1条件样本空间 X=身高
样本变量身高特征 样本分布(cnt=8) 概率分布 | high 3 P(身高=high)=3/8 | low 5 P(身高=low)=5/8 |
|
|
|
|
|
样本变量Y|X=high 样本分布(cnt=3) 概率分布 | Y=refuse|X=high refuse|high = 2 p(refuse|high)=2/3 | Y=agree|X=high agree|high = 1 p(agree|high) = 1/3 | H(Y|身高=high) -2/3log(2/3) -1/3log(1/3) |
样本变量 Y|X=low 样本分布(cnt=5) 概率分布 | Y=refuse|X=low refuse|low = 3 p(refuse|low)=3/5 | Y=agree|X=low agree|low = 2 p(agree|low)=2/5 | H(Y|身高=low) |
3.2计算条件熵H(Y=相亲结果| X=身高)
有了上面的统计后,我们可以计算条件熵了。
我们想要求出当已知身高的条件下的分类样本空间Y的条件熵。
而条件熵是一个变量Y熵对X(条件)的期望:
H(Y={refuse,agree}|X=身高)
= p(身高=high) * H(Y|身高=high) + p(身高=low) * H(Y|身高=low)
=(3/8) * {-2/3log(2/3)
-1/3log(1/3)}
+
(5/8)* {-3/5log(3/5) -2/5log(2/5)}
Python计算如下:
(3/8) * (-2/3*math.log2(2/3) -1/3*math.log2(1/3)) + (5/8) * (-3/5*math.log2(3/5) -2/5*math.log2(2/5)) Out[60]: 0.9512050593046015 |
4.样本空间 X=房子
4.1条件样本空间 X=房子
样本变量房子 样本分布(cnt=8) 概率分布 | No 2 P(房子=no)=2/8 | Yes 6 P(房子=yes)=6/8 |
|
|
|
|
|
样本变量Y|X房子=no 样本分布(cnt=2) 概率分布 | Y=refuse|X房子=no refuse|no = 2 p(refuse|no)=2/2 | Y=agree|X房子=no agree|no = 0 p(agree|no) = 0 | H(Y|X房子=no) -2/2log(2/3) -0/2log(0/2) |
样本变量 Y|X房子=yes 样本分布(cnt=6) 概率分布 | Y=refuse|X房子=yes refuse|yes = 3 p(refuse|low)=3/6 | Y=agree|X房子=yes agree|yes = 3 p(agree|low)=3/6 | H(Y|X房子=yes) |
4.2计算条件熵H(Y=相亲结果|X=房子)
有了上面的统计后,我们可以计算条件熵了。
我们想要求出当已知是否有房子的条件下的分类样本空间Y的条件熵。
而条件熵是一个变量Y熵对X(条件)的期望:
H(Y={refuse,agree}|X=房子)
= p(X房子=no) * H(Y|X房子=no) + p(房子=yes) * H(Y|X房子=yes)
=(2/8) * {-2/2log(2/3)
-0/2log(0/2)}
+
(6/8)* {-3/6log(3/6) -3/6log(3/6)}
Python计算如下:
注意:0*log(0)计算结果等于0
(2/8) * (-2/2*math.log2(2/3) -0/2) + (6/8) * (-3/6*math.log2(3/6) -3/6*math.log2(3/6)) Out[61]: 0.896240625180289 |
5.样本空间 X=性格
5.1条件样本空间 X=性格
样本变量 性格 样本分布(cnt=8) 概率分布 | good 5 P(性格=good)=5/8 | bad 3 P(性格=bad)=3/8 |
|
|
|
|
|
样本变量Y|X性格=good 样本分布(cnt=5) 概率分布 | Y=refuse|X性格=good refuse|no = 2 p(refuse|no)=2/5 | Y=agree|X性格=good agree|no = 3 p(agree|no) = 3/5 | H(Y|X性格=good) -2/5log(2/5) -3/5log(3/5) |
样本变量 Y|X性格=bad 样本分布(cnt=3) 概率分布 | Y=refuse|X性格=bad refuse|yes = 3 p(refuse|low)=3/3 | Y=agree|X性格=bad agree|yes = 0 p(agree|low)=3/3 | H(Y|X性格=bad) |
5.2计算条件熵H(Y=相亲结果|X=性格)
有了上面的统计后,我们可以计算条件熵了。
我们想要求出当已知性格的条件下的分类样本空间Y的条件熵。
而条件熵是一个变量Y熵对X(条件)的期望:
H(Y={refuse,agree}|X=性格)
= p(X性格=good) * H(Y|X性格=good) + p(性格=bad) * H(Y|X性格=bad)
=(5/8) * {-2/5log(2/5)
-3/5log(3/5)}
+
(3/8)* {-3/3log(3/3)
-0/3log(0/3)}
python计算结果
(5/8) * (-2/5*math.log2(2/5) -3/5*math.log2(3/5)) + (3/8) * (-3/3*math.log2(3/3) -0/3) Out[62]: 0.6068441215341679 |
6. 条件熵
H(Y={refuse,agree}}|X=身高)
= p(身高=high) * H(Y|身高=high) + p(身高=low) * H(Y|身高=low)
=(3/8) * {-2/3log(2/3)
-1/3log(1/3)}
+
(5/8)* {-3/5log(3/5) -2/5log(2/5)}
(3/8) * (-2/3*math.log2(2/3) -1/3*math.log2(1/3)) + (5/8) * (-3/5*math.log2(3/5) -2/5*math.log2(2/5)) Out[60]: 0.9512050593046015 |
H(Y={refuse,agree}|X=房子)
= p(X房子=no) * H(Y|X房子=no) + p(房子=yes) * H(Y|X房子=yes)
=(2/8) * {-2/2log(2/3)
-0/2log(0/2)}
+
(6/8)* {-3/6log(3/6) -3/6log(3/6)}
(2/8) * (-2/2*math.log2(2/3) -0/2) + (6/8) * (-3/6*math.log2(3/6) -3/6*math.log2(3/6)) Out[61]: 0.896240625180289 |
H(Y={refuse,agree}|X=性格)
= p(X性格=good) * H(Y|X性格=good) + p(性格=bad) * H(Y|X性格=bad)
=(5/8) * {-2/5log(2/5)
-3/5log(3/5)}
+
(3/8)* {-3/3log(3/3)
-0/3log(0/3)}
(5/8) * (-2/5*math.log2(2/5) -3/5*math.log2(3/5)) + (3/8) * (-3/3*math.log2(3/3) -0/3) Out[62]: 0.6068441215341679 |
enjoy it~~
(end)
最后
以上就是明理大碗为你收集整理的【机器学习】【决策树】用样本集详解:条件熵H(Y|X)的计算过程1. 样本数据集2.分类样本空间Y=相亲结果3.样本空间 X=身高4.样本空间 X=房子5.样本空间 X=性格6. 条件熵的全部内容,希望文章能够帮你解决【机器学习】【决策树】用样本集详解:条件熵H(Y|X)的计算过程1. 样本数据集2.分类样本空间Y=相亲结果3.样本空间 X=身高4.样本空间 X=房子5.样本空间 X=性格6. 条件熵所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复