使用决策树预测一个未知样本的分类。数据样本用属性“天气”、“温度”、“湿度”和“风力”描述。使用ID3算法构建一个决策树模型时,哪个属性适合做根节点?(注:所有对数计算均选择log2)。天气:晴,气温:热,湿度:高,风力:弱,适合打网球吗:否; 天气:晴,气温:热,湿度:高,风力:强,适合打网球吗:否; 天气:阴,气温:热,湿度:高,风力:弱,适合打网球吗:是; 天气:雨,气温:适宜,湿度:高,风力:弱,适合打网球吗:是; 天气:雨,气温:凉,湿度:正常,风力:弱,适合打网球吗:是; 天气:雨,气温:凉,湿度:正常,风力:强,适合打网球吗:否; 天气:阴,气温:凉,湿度:正常,风力:强,适合打网球吗:是; 天气:晴,气温:适宜,湿度:高,风力:弱,适合打网球吗:否; 天气:晴,气温:凉,湿度:正常,风力:弱,适合打网球吗:是; 天气:雨,气温:适宜,湿度:正常,风力:弱,适合打网球吗:是; 天气:晴,气温:适宜,湿度:正常,风力:强,适合打网球吗:是; 天气:阴,气温:适宜,湿度:高,风力:强,适合打网球吗:是; 天气:阴,气温:热,湿度:正常,风力:弱,适合打网球吗:是; 天气:雨,气温:适宜,湿度:高,风力:强,适合打网球吗:否; 天气:阴,气温:凉,湿度:高,风力:强,适合打网球吗:是;
时间: 2024-03-29 16:36:28 浏览: 77
根据ID3算法,我们需要计算每个属性的信息增益,选择信息增益最大的属性作为根节点。信息增益的公式为:信息熵 - 条件熵。其中,信息熵表示样本的混乱程度,计算公式为:-p1*log2(p1)-p2*log2(p2)-...-pn*log2(pn),其中pi表示样本中类别i的概率。条件熵表示在已知某个属性值的情况下,对应类别的混乱程度,计算公式为:p1*H(S1)+p2*H(S2)+...+pn*H(Sn),其中pi表示该属性取值为i的样本所占比例,Hi表示该子样本的信息熵。
首先,计算样本的信息熵。共14个样本,其中9个不适合打网球,5个适合打网球。因此,信息熵为:-9/14*log2(9/14)-5/14*log2(5/14)=0.940。
接下来,计算每个属性的信息增益。天气属性有3个取值(晴、阴、雨),因此需要计算条件熵。对于天气=晴的样本,有2个不适合打网球,1个适合打网球;对于天气=阴的样本,有1个不适合打网球,3个适合打网球;对于天气=雨的样本,有2个不适合打网球,1个适合打网球。因此,条件熵为:3/14*[ -2/3*log2(2/3)-1/3*log2(1/3) ]+4/14*[ -1/4*log2(1/4)-3/4*log2(3/4) ]+3/14*[ -2/3*log2(2/3)-1/3*log2(1/3) ]=0.693。信息增益为:0.940-0.693=0.247。
对于其他属性,可以采用类似的方法进行计算。温度属性有3个取值,湿度属性有2个取值,风力属性有2个取值。计算得到温度属性的信息增益为0.029,湿度属性的信息增益为0.152,风力属性的信息增益为0.048。
因此,天气属性的信息增益最大,适合作为决策树的根节点。根据天气属性的取值,可以将样本分成晴、阴、雨三组,然后对每组数据再进行决策树的构建。
阅读全文