资源描述:
《数据挖掘决策树》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数据挖掘__决策树算法数据挖掘__决策树算法t?木DATAMiningconceptsandtechniquesthirdedition关于决策树的描述算法Generation_decision_tree的创建过程如下:1、创建一个节点N2、IFD的元组都在同一类C中,then返回N作为叶节点,以类C标记3、IFattributejist为空,then返回N作为叶节点,标记D中的多数类4、使用Attribute_lselection_method(D,attributejist)找出最好的splitting_criterion5、用splitting_crit
2、erion标记节点N6、IFsplitting_criterion是离散值,并且多路划分,删除分裂属性7、Forsplitting_criterion的每个输出j:设Dj中D满足输出j的数据元组的集合,ifDj为空,一个树叶到节点N,标记为D中的多数类,else加一个由Generation_decision_tree(D,attributejist)返冋的节点到N8、返回N在实际操作屮,选取数据很重要,决策树是分类算法,在网http://archive.ics.uci.edu/ml/选取数据时,选择Classification类,由于第一次做数据分析,以及对R
3、语言不懂,对于数据的属性类Attributes选择在5〜10之间,最终数据定位在BreastTissue,Auto-Mpg,car三个数据之一在数据的导入过程,各种数据类型不一样,导入的方式不一样,最终各种尝试之后,选择导入text文本文档〉GSPC<-as>xts(read.zoo(Hwinequalicy-white.csvn9header-T))Error:couldnotfindfunction"as.xts">x»scan(filewWwinequalicy-red.csvn)Errorinfile(file,"r"):cannotopentheco
4、nnectionInaddition:Warningmessage:Infile(file,:zannotopenfile1winequality-red.csv1:Nosuchfileordirectory>trainData<-read.table(WC:/Users/Administrator/Desktop/car.txt”,header«T)>tramDatabuying.maint.doors.persons.lug一boot•safetyvhigh,vhigh,2,2,small,low,unaccvhighzvhigh,2,2,small,me
5、d,unaccvhigh,vhigh,2,2,small,high,unacc45678910vhigh,vhigh,2,2,low,unaccvhighrvhigh,2,2,med#medrunaccvhigh,vhigh,2f2fmedfhigh,unaccvhigh,vhigh,2,2,big,low,unaccvhighrvhigh,2,2,big,medrunaccvhighrvhigh,2,2,bigrhigh,unaccvhighzvhigh,2,4,small,low,unacc在这个过程还是属性跟数值对不齐,至于数据框输入实现不了,Attri
6、bute有七个,但是数值有1728个手动输入是不可行的R语言实现过程,参照Generation_decision_tree的创建过程,通过先泪c卖现,再根据c结构试探性用r构造,期间参考了Python对于决策树算法的实现过程,以及实际案例Iris的实际案例。1)数据输入以及数据判断是否合理,计算刚开始类别的Info(嫡)•if(!(is.data.frair.e(trainData}Qis.numeric(nClass)))r"Inputerror"•if(length(trainData)7、thofcrainData"2)计算训练集合D对特征值A的条件熵I*对第nA列的特征A计算頻数+nA.freq<-count(trainDaca,nA)+i<-1+subehd<-c()+for(nA.valuemnA.freq【,l】H+♦取特征值A取值为na.value的子典+sub.crainData<•trainData[which(trainData[9nA]■-nA.value)r]++sub.hd[x]<■cal_HD(sub.cramDacarnClass)+x<-i+1+}++nA.freq<-mutate(nA.£reqzfreq2■(fr
8、eq/rownum)wsubehd)+