实验二报告-决策树实验.doc

实验二报告-决策树实验.doc

ID:49655286

大小:96.00 KB

页数:9页

时间:2020-03-03

实验二报告-决策树实验.doc_第1页
实验二报告-决策树实验.doc_第2页
实验二报告-决策树实验.doc_第3页
实验二报告-决策树实验.doc_第4页
实验二报告-决策树实验.doc_第5页
资源描述:

《实验二报告-决策树实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、决策树实验一、实验原理决策树是一个类似于流程图的树结构,其中每个内部结点表示在一个属性上的测试,每个分支代表一个测试输入,而每个树叶结点代表类或类分布。数的最顶层结点是根结点。一棵典型的决策树如图1所示。它表示概念buys_computer,它预测顾客是否可能购买计算机。内部结点用矩形表示,而树叶结点用椭圆表示。为了对未知的样本分类,样本的属性值在决策树上测试。决策树从根到叶结点的一条路径就对应着一条合取规则,因此决策树容易转化成分类规则。图1ID3算法:■    决策树中每一个非叶结点对应着一个非类别属性,树枝代表这个属性的值。一个叶结点代表从树根到叶结点之间的路径

2、对应的记录所属的类别属性值。■    每一个非叶结点都将与属性中具有最大信息量的非类别属性相关联。■    采用信息增益来选择能够最好地将样本分类的属性。信息增益基于信息论中熵的概念。ID3总是选择具有最高信息增益(或最大熵压缩)的属性作为当前结点的测试属性。该属性使得对结果划分中的样本分类所需的信息量最小,并反映划分的最小随机性或“不纯性”。二、算法伪代码算法Decision_Tree(data,AttributeName)输入由离散值属性描述的训练样本集data;候选属性集合AttributeName。输出一棵决策树。(1)创建节点N;(2)Ifsamples都在

3、同一类C中then(3)返回N作为叶节点,以类C标记;(4)Ifattribute_list为空then(5)返回N作为叶节点,以samples中最普遍的类标记;//多数表决(6)选择attribute_list中具有最高信息增益的属性test_attribute;(7)以test_attribute标记节点N;(8)Foreachtest_attribute的已知值v//划分samples(9)由节点N分出一个对应test_attribute=v的分支;(10令Sv为samples中test_attribute=v的样本集合;//一个划分块(11)IfSv为空the

4、n(12)加上一个叶节点,以samples中最普遍的类标记;(13)Else加入一个由Decision_Tree(Sv,attribute_list-test_attribute)返回节点值。四、实验主函数#include#include#include#include#include#includeusingnamespacestd;#defineMAXLEN5//输入每行的数据个数vector>state;//实例集vector

5、ng>item(MAXLEN);//对应一行实例集vectorattribute_row;//保存首行即属性行数据stringend("end");//输入结束stringyes("危险");stringno("不危险");stringblank("");map>map_attribute_values;//存储属性对应的所有的值inttree_size=0;structNode{//决策树节点stringattribute;//属性值stringarrived_value;//到达的属性值vector

6、de*>childs;//所有的孩子Node(){attribute=blank;arrived_value=blank;}};Node*root;//根据数据实例计算属性与值组成的mapvoidComputeMapFrom2DVector(){unsignedinti,j,k;boolexited=false;vectorvalues;for(i=1;i

7、(state[j][i]))exited=true;}if(!exited){values.push_back(state[j][i]);//注意Vector的插入都是从前面插入的,注意更新it,始终指向vector头}exited=false;}map_attribute_values[state[0][i]]=values;values.erase(values.begin(),values.end());}}//根据具体属性和值来计算熵doubleComputeEntropy(vector>remain_state

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。