合工大机器人技术第四次作业

仿真 足球机器人

第四次作业

决策树

该实例中总共有12个对象,6个类为“是”,6个类为“否”

I(p,n)=-(6/12)log2(6/12)-(6/12)log2(6/12)= 1

属性:有否其他选择,值:{“是”,“否”}

值:
“是”:6, p1=2 n1=4 I(p1,n1)= -(2/6)log2(2/6)-(4/6)log2(4/6)=0.918

“否”:6, p2=4 n2=2 I(p2,n2)=-(4/6)log2(4/6)-(2/6)log2(2/6)=0.918

E(有否其他选择)=(6/12)*I(p1,n1)+(6/12)*I(p2,n2)= 0.918

属性:饿否,值:{“是”,“否”}

值:

“是”:7, p1=5 n1=2 I(p1,n1)= -(5/7)log2(5/7)-(2/7)log2(2/7)=0.863

“否”:5 , p2=1 n2=4 I(p2,n2)=-(1/5)log2(1/5)-(4/5)log2(4/5)=0.722

E(饿否)=(7/12)*I(p1,n1)+(5/12)*I(p2,n2)= 0.804

Gain(s,“饿否”)=
I(p,n)-E()=0.196

属性:价格,值:{$ , , ,$}

值:

$$$:3, p1=1 n1=2 I(p1,n1)= -(1/3)log2(1/3)-(2/3)log2(2/3)=0.918

$$: 2, p2=2 n2=0 I(p2,n2)=-(2/2)log2(2/2)-(0/2)log2(0/2)=0

$: 7, p3=3 n3=4 I(p3,n3)=-(3/7)log2(3/7)-(4/7)log2(4/7)=0.985

E(价格)=(3/12)*I(p1,n1)+(2/12)*I(p2,n2)+(7/12)*I(p3,n3)= 0.804

属性:餐馆类型 ,值:{法式,中餐, 快餐 ,意大利式}

值:

法式: 2, p1=1 n1=1 I(p1,n1)= -(1/2)log2(1/2)-(1/2)log2(1/2)=1

中餐: 4, p2=2 n2=2 I(p2,n2)=-(2/4)log2(2/4)-(2/4)log2(2/4)=1

快餐: 4, p3=2 n3=2 I(p3,n3)=-(2/4)log2(2/4)-(2/4)log2(2/4)=1

意大利式:2,p4=1 n4=1 I(p4,n4)=-(1/2)log2(1/2)-(1/2)log2(1/2)=1

E(餐馆类型)=(2/12)*I(p1,n1)+(4/12)*I(p2,n2)+(4/12)*I(p3,n3)+(2/12)*I(p4,n4)=1

属性:餐馆顾客人数 ,值:{客满,有人, 无人}

值:

客满: 6, p1=2 n1=4 I(p1,n1)= -(2/6)log2(2/6)-(4/6)log2(4/6)=0.918

有人: 4, p2=4 n2=0 I(p2,n2)=-(4/4)log2(4/4)-(0/4)log2(0/4)=0

无人: 2, p3=0 n3=2

I(p3,n3)=-(0/2)log2(0/2)-(2/2)log2(2/2)=0

E(餐馆类型)=(6/12)*I(p1,n1)+(4/12)*I(p2,n2)+(2/12)*I(p3,n3)=0.459

属性:等待时间 ,值:{0-10,10-30, 30-60,60>}

值:

0-10: 6, p1=4 n1=2 I(p1,n1)= -(4/6)log2(4/6)-(2/6)log2(2/6)=0.918

10-30: 2, p2=1 n2=1 I(p2,n2)=-(1/2)log2(1/2)-(1/2)log2(1/2)=1

30-60: 2, p3=1 n3=1I(p3,n3)=-(1/2)log2(1/2)-(1/2)log2(1/2)=1

60: 2, p4=0 n4=2 I(p4,n4)=-(0/2)log2(0/2)-(2/2)log2(2/2)=0

E(等待时间)=(6/12)*I(p1,n1)+(2/12)*I(p2,n2)+(2/12)I(p3,n3)+(2/12)(p4,n4)=0.792

Gain(s,“有否其他选择”)=
I(p,n)-E(有否其他选择)=0.082

Gain(s,“饿否”)=
I(p,n)-E()=0.196

Gain(s,“价格”)=
I(p,n)-E(价格)=0.196

Gain(s,餐馆类型)=
I(p,n)-E(餐馆类型)=0

Gain(s,餐馆顾客人数)=
I(p,n)-E(餐馆顾客人数)=0.541

Gain(s,等待时间)=
I(p,n)-E(餐馆顾客人数)=0.208

所以:使用“餐馆顾客人数”进行分类的信息增益最大。

因此:选择“餐馆顾客人数”作为根节点属性

餐馆顾客人数:“客满”:{2,4,5,9,10,12}->“是”:4,12 “否”:1,5,9,10,12

“有人”:{1,3,6,8}->“是”:1,3,6,8

“无人”:{7,11}->“否”:7,11

Gain(s1, 有否其他选择)=0.044

Gain(s1,饿否)=0.251

Gain(s1,价格)=0.251

Gain(s1,餐馆类型)=0.251

Gain(s1,等待时间)=0.251

因此:选择 “饿否”作为子节点。

饿否:“是”:{2,4,10,12} –>“是”:4,12 “否”:2,10

 “否”:{5,9} –>“否”:5,9

Gain(s2, 有否其他选择)=0.0615

Gain(s2,价格)=0

Gain(s2,餐馆类型)=0.5

Gain(s2,等待时间)=0

因此:选择“餐馆类型”作为子节点。

快餐:{12}->“是”:12

中餐:{2,4}->“是”:4 “否”:2

意大利式:{9}->“否”:9

Gain(s3, 有否其他选择)=0

Gain(s3,价格)=0

Gain(s3,等待时间)=1

因此:选择“等待时间”作为子节点。

该实例中总共有12个对象,6个类为“是”,6个类为“否”

I(p,n)=-(6/12)log2(6/12)-(6/12)log2(6/12)= 1

属性:有否其他选择,值:{“是”,“否”}

值:

“是”:6, p1=2 n1=4 I(p1,n1)= -(2/6)log2(2/6)-(4/6)log2(4/6)=0.918

“否”:6, p2=4 n2=2 I(p2,n2)=-(4/6)log2(4/6)-(2/6)log2(2/6)=0.918

E(有否其他选择)=(6/12)*I(p1,n1)+(6/12)*I(p2,n2)= 0.918

属性:饿否,值:{“是”,“否”}

值:

“是”:7, p1=5 n1=2

I(p1,n1)= -(5/7)log2(5/7)-(2/7)log2(2/7)=0.863

“否”:5, p2=1
n2=4

I(p2,n2)=
-(1/5)log2(1/5)-(4/5)log2(4/5)=0.722

E(饿否)=(7/12)*I(p1,n1)+(5/12)*I(p2,n2)= 0.804

Gain(s,“饿否”)=
I(p,n)-E()=0.196

属性:价格,值:{$ , , ,$}

值:

$$$:3, p1=1 n1=2

I(p1,n1)= -(1/3)log2(1/3)-(2/3)log2(2/3)=0.918

$$: 2, p2=2
n2=0

I(p2,n2)=
-(2/2)log2(2/2)-(0/2)log2(0/2)=0

$: 7,
p3=3 n3=4

I(p3,n3)=
-(3/7)log2(3/7)-(4/7)log2(4/7)=0.985

E(价格)=(3/12)*I(p1,n1)+(2/12)*I(p2,n2)+(7/12)*I(p3,n3)= 0.804

属性:餐馆类型 ,值:{法式,中餐, 快餐 ,意大利式}

值:

法式: 2, p1=1 n1=1

I(p1,n1)= -(1/2)log2(1/2)-(1/2)log2(1/2)=1

中餐: 4,
p2=2 n2=2

I(p2,n2)=
-(2/4)log2(2/4)-(2/4)log2(2/4)=1

快餐: 4, p3=2 n3=2

I(p3,n3)=
-(2/4)log2(2/4)-(2/4)log2(2/4)=1

意大利式:2,p4=1 n4=1

I(p4,n4)=
-(1/2)log2(1/2)-(1/2)log2(1/2)=1

E(餐馆类型)=(2/12)*I(p1,n1)+(4/12)*I(p2,n2)+(4/12)*I(p3,n3)+(2/12)*I(p4,n4)=1

属性:餐馆顾客人数 ,值:{客满,有人, 无人}

值:

客满: 6, p1=2 n1=4

I(p1,n1)= -(2/6)log2(2/6)-(4/6)log2(4/6)=0.918

有人: 4, p2=4
n2=0

I(p2,n2)=
-(4/4)log2(4/4)-(0/4)log2(0/4)=0

无人: 2, p3=0 n3=2

I(p3,n3)=
-(0/2)log2(0/2)-(2/2)log2(2/2)=0

E(餐馆类型)=(6/12)*I(p1,n1)+(4/12)*I(p2,n2)+(2/12)*I(p3,n3)=0.459

属性:等待时间 ,值:{0-10,10-30, 30-60,60>}

值:

0-10: 6, p1=4 n1=2

I(p1,n1)= -(4/6)log2(4/6)-(2/6)log2(2/6)=0.918

10-30: 2,
p2=1 n2=1

I(p2,n2)=
-(1/2)log2(1/2)-(1/2)log2(1/2)=1

30-60:
2, p3=1
n3=1

I(p3,n3)=-(1/2)log2(1/2)-(1/2)log2(1/2)=1

60: 2, p4=0 n4=2

I(p4,n4)=-(0/2)log2(0/2)-(2/2)log2(2/2)=0

E(等待时间)=(6/12)*I(p1,n1)+(2/12)*I(p2,n2)+(2/12)I(p3,n3)+(2/12)(p4,n4)=0.792

Gain(s,“有否其他选择”)=
I(p,n)-E(有否其他选择)=0.082

Gain(s,“饿否”)=
I(p,n)-E()=0.196

Gain(s,“价格”)=
I(p,n)-E(价格)=0.196

Gain(s,餐馆类型)=
I(p,n)-E(餐馆类型)=0

Gain(s,餐馆顾客人数)=
I(p,n)-E(餐馆顾客人数)=0.541

Gain(s,等待时间)=
I(p,n)-E(餐馆顾客人数)=0.208

所以:使用“餐馆顾客人数”进行分类的信息增益最大。

因此:选择“餐馆顾客人数”作为根节点属性

餐馆顾客人数:“客满”:{2,4,5,9,10,12}->“是”:4,12 “否”:1,5,9,10,12

“有人”:{1,3,6,8}->“是”:1,3,6,8

“无人”:{7,11}->“否”:7,11

Gain(s1, 有否其他选择)=0.044

Gain(s1,饿否)=0.251

Gain(s1,价格)=0.251

Gain(s1,餐馆类型)=0.251

Gain(s1,等待时间)=0.251

因此:选择 “饿否”作为子节点。

饿否:“是”:{2,4,10,12} –>“是”:4,12 “否”:2,10

 “否”:{5,9} –>“否”:5,9

Gain(s2, 有否其他选择)=0.0615

Gain(s2,价格)=0

Gain(s2,餐馆类型)=0.5

Gain(s2,等待时间)=0

因此:选择“餐馆类型”作为子节点。

快餐:{12}->“是”:12

中餐:{2,4}->“是”:4 “否”:2

意大利式:{9}->“否”:9

Gain(s3, 有否其他选择)=0

Gain(s3,价格)=0

Gain(s3,等待时间)=1

因此:选择“等待时间”作为子节点。
合工大机器人技术第四次作业_第1张图片

你可能感兴趣的:(合工大机器人技术第四次作业)