5.1 根据表5.1所给的训练数据集,利用信息增益比(C4.5算法)生成决策树。
注意这里是用信息增益比哦,from sklearn.tree import DecisionTreeClassifier
这里默认是gini

首先计算数据集D的经验熵H(D):
H(D)=−615log2615−915log2915=0.97095
H(D|A1)=515∗(−35log235−25log225)+515∗(−35log235−25log225)+515∗(−15log215−45log245)=0.88794
H(D|A2)=515∗(−55log255−05log205)+1015∗(−610log2610−410log2410)=0.64730
H(D|A3)=615∗(−66log266−06log206)+915∗(−39log239−69log269)=0.55098
然后计算数据集D关于各个特征A的值的熵HA(D):
HA1(D)=−515∗log2515−515∗log2515−515∗log2515=1.58496
HA2(D)=−515∗log2515−1015∗log21015=0.91830
HA3(D)=−615∗log2615−915∗log2915=0.97095
HA4(D)=−515∗log2515−615∗log2615−415∗log2415=1.56605
好了,可以计算各个特征的信息增益比gR(D,A)了
gR(D,A1)=H(D)−H(D|A1)HA1(D)=0.97095−0.887941.58496=0.05237
gR(D,A2)=H(D)−H(D|A1)HA2(D)=0.97095−0.647300.91830=0.35244
gR(D,A3)=H(D)−H(D|A1)HA3(D)=0.97095−0.550980.97095=0.43253
gR(D,A4)=H(D)−H(D|A1)HA4(D)=0.97095−0.607961.56605=0.23179
选择信息增益比最大的特征A3,“有自己的房子”,作为分支的特征条件,把数据集D分为两部分D1(有自己的房子),D2(没有自己的房子),如下图所示:

下面分别对数据集D1,D2建树,D1,D2上的特征有A1,A2,A4.数据集D1中的实例都属于同一类(“是”),建立单节点数,类别为“是”;分别计算针对数据集D2的各个特征的信息增益比。首先计算经验熵H(D2)
H(D2)=−39log239−69log269=0.91830
然后计算各个特征的经验条件熵H(D2|A)
H(D2|A1)=49∗(−14log214−34log234)+29∗(−02log2022−22log222)+39∗(−13log213−23log223)=0.66667
H(D2|A2)=39∗0+69∗0=0
H(D2|A4)=49∗0+49∗(−24log224−24log224)+19∗0=0.44444
然后计算在数据集D2中各个特征的取值的经验熵HA(D2):
HA1(D2)=−49log249−29log229−39log239=1.53050
HA2(D2)=−39log239−69log269=0.91830
HA4(D2)=−49log249−49log249−19log219=1.39214
下面计算各个特征的信息增益比:
gR(D2,A1)=H(D2)−H(D2|A1)HA1(D2)=0.91830−0.666671.53050=0.16441
gR(D2,A2)=H(D2)−H(D2|A2)HA2(D2)=0.91830−00.91830=1
gR(D2,A4)=H(D2)−H(D2|A4)HA4(D2)=0.91830−0.444441.39214=0.34038
选择信息增益比最大的特征A2,有工作,作为分支的特征条件,将D2划分为两部分,D3:有工作,D4:没有工作。如下图所示:

分别对数据集D3,D4建树,数据集的特征只有A1,A4:数据集D3中的所有实例都属于同一个类“是”,所以建立单节点树,类别为“是”;同理数据集D4也是单节点树,类别是“否”。建完了,树如下:

5.2 试用平方误差准则生成一个二叉回归树



把c1,c2的值代入到均方差中,如下:
m(1)=0+{(4.75−6.85)2+(4.91−6.85)2+(5.34−6.85)2+(5.80−6.85)2+(7.05−6.85)2+(7.90−6.85)2+(8.23−6.85)2+(8.70−6.85)2+(9.00−6.85)2}=22.65





【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异