1 / 9
文档名称:

r语言-决策树算法.doc

格式:doc   大小:33KB   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

r语言-决策树算法.doc

上传人:xnzct26 2022/2/2 文件大小:33 KB

下载得到文件列表

r语言-决策树算法.doc

相关文档

文档介绍

文档介绍:-
. z.
决策树算法
决策树定义
首先,我们来t,1,0)
y z
4 1 n
5 1 n
3、选择最正确划分(基于熵增益)
choose<-function(data){
numvariable<-length(data[1,])-1
baseent<-calcent(data)
bestinfogain<-0
bestvariable<-0
infogain<-0
featlist<-c()
uniquevals<-c()
for(i in1:numvariable){
featlist<-data[,i]
uniquevals<-unique(featlist)
newent<-0
for(jin 1:length(uniquevals)){
subset<-split(data,i,uniquevals[j])
prob<-length(subset[,1])/length(data[,1])
newent<-newent+prob*calcent(subset)
}
infogain<-baseent-newent
-
. z.
if(infogain>bestinfogain){
bestinfogain<-infogain
bestvariable<-i
}
}
return(bestvariable)
}
函数choose包含三个局部,第一局部:求出一个分类的各种标签;第二局部:计算每一次划分的信息熵;第三局部:计算最好的信息增益,并返回分类编号。
我们以上面的简易例子mudat为例,计算划分,有:
> choose(mudat)
[1] 1
也就是告诉我们,将第一个变量值为1的分一类,变量值为0的分为另一类,得到的划分是最好的。
4、递归构建决策树
我们以脊椎动物数据集为例,这个例子来自"数据挖掘导论",具体数据集已上传至百度云盘(点击可下载)
我们先忽略建树细节,由于数据变量并不大,我们手动建一棵树先。
>animals<-("D:/R/data/")
>choose(animals)
[1] 1
这里变量1代表names,当然是一个很好的分类,但是意义就不大了,我们暂时的解决方案是删掉名字这一栏,继续做有:
>choose(animals)
[1] 4
我们继续重复这个步骤,直至choose分类为0或者没方法分类(比方sometimes live in water的动物)为止。得到最终分类树。
给出分类逻辑图(遵循多数投票法):
至于最后的建树画图涉及R的绘图包ggplot,这里不再给出细节。
下面我们使用著名数据集——隐形眼镜数据集,利用上述的想法实现一下决策树预测隐形眼镜类型。这个例子来自"机器学****实战",具体数据集已上传