决策树算法ID3/C4.5/CART手算案例

决策树算法ID3/C4.5/CART手算案例

已知如下训练数据集(最后一列为类别),利用ID3算法、C4.5算法、CART算法分别建立分类决策树。要求写出计算过程并画出决策树。 (计算结果每步均保留小数点2位)。

1. ID3算法:使用信息增益作为评价特征重要性的指标

H ( D ) H(D) H(D)表示总体的信息熵, A 1 、 A 2 A_1 、A_2 A1A2分别表示特征1:是否用鳃呼吸;特征2:有无鱼鳍;

H A 2 ( D ) = − 2 3 l o g 2 2 3 − 1 3 l o g 2 1 3 = 0.918 H_{A_2}(D)=-\frac{2}{3}log_2\frac{2}{3}-\frac{1}{3}log_2\frac{1}{3}=0.918 HA2(D)=32log23231log231=0.918

由以上结果知: g ( D , A 1 ) > g ( D , A 2 ) g(D,A_1)>g(D,A_2) g(D,A1)>g(D,A2),

  • 信息增益越大,特征越重要;因此首先选择特征 A 1 A_1 A1,绘制决策树如下:

2. C4.5算法:利用信息增益率做为评价特征重要性的指标

由以上结果可知 g R ( D , A 1 ) > g R ( D , A 2 ) g_R(D,A_1)>g_R(D,A_2) gR(D,A1)>gR(D,A2),

  • 信息增益率越大,特征越重要;因此首先选择特征 A 1 A_1 A1,绘制决策树如下:

3. CART算法:利用基尼系数作为评价特征重要性的指标

g i n i ( D ) = 2 p ( 1 − p ) = 2 ∗ 3 5 ∗ 2 5 = 0.48 gini(D)=2p(1-p)=2*\frac{3}{5}*\frac{2}{5}=0.48 gini(D)=2p(1p)=25352=0.48

g i n i ( D 1 , A 2 ) = 1 − [ ( 2 3 ) 2 + ( 1 3 ) 2 ] = 0.44 gini(D^1,A_2)=1-[(\frac{2}{3})^2+(\frac{1}{3})^2]=0.44 gini(D1,A2)=1[(32)2+(31)2]=0.44

由以上计算结果可知 g i n i ( D , A 2 ) > g i n i ( D , A 1 ) gini(D,A_2)>gini(D,A_1) gini(D,A2)>gini(D,A1),

  • 基尼系数越小,特征越重要,所以首先选择特征 A 1 A_1 A1,绘制决策树如下:
  • 32
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
数据库范式分解是一种将关系数据库设计规范化的过程,其中3NF(第三范式)是最常用的范式之一。下面是一个例题的介绍: 假设我们有一个关系数据库表格,存储了学生的信息,包括学生ID、姓名、年龄、性别、课程和成绩。表格结构如下: 学生表(Student): - 学生ID(StudentID) - 姓名(Name) - 年龄(Age) - 性别(Gender) 课程表(Course): - 课程ID(CourseID) - 课程名称(CourseName) 成绩表(Grade): - 学生ID(StudentID) - 课程ID(CourseID) - 成绩(Score) 现在我们需要对这个数据库进行范式分解,使其符合3NF。 首先,我们可以将学生表和课程表分别设计为两个独立的表格,以消除冗余数据。这样,学生表和课程表的结构如下: 学生表(Student): - 学生ID(StudentID) - 姓名(Name) - 年龄(Age) - 性别(Gender) 课程表(Course): - 课程ID(CourseID) - 课程名称(CourseName) 然后,我们需要将成绩表与学生表和课程表进行关联。为了符合3NF,我们需要将成绩表中的非主属性(即非关键字)移至其他表格中。在这个例子中,成绩表中的非主属性是成绩(Score)。我们可以将成绩表分解为两个表格,分别与学生表和课程表进行关联,结构如下: 学生成绩表(StudentGrade): - 学生ID(StudentID) - 课程ID(CourseID) 成绩表(Grade): - 学生ID(StudentID) - 课程ID(CourseID) - 成绩(Score) 通过这样的范式分解,我们可以消除冗余数据,并且保持数据的一致性和完整性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值