简文短述:决策树

2022-04-27 17:10:55 浏览数 (1)

1,决策树:

像一个倒立的树,其实更像我们人生的路,家是我们的起航点,从家出发,五步一小选择,十步一大决策,这些小的选择和大的决策随着时间的累积效应,决定着我们一生的命与运。

2,决策树:核心问题有2个

一是决策树的生长,即利用训练样本集完成决策树的建立过程(差异下降明显GINI系数,信息熵,最佳的分组变量,变量值中最佳的切割点)。分类型输出变量的异质性测度指标常见的有Gini系数信息增益

二是决策树的剪枝,即利用测试样本集对形成的决策树进行精简。越深层处的节点所体现的数据特征就越显个性化,一般性就越差。

当我们得到张三购买了A商品这一特殊性极强的规则,对于预测判断某些人是否也会购买某产品缺乏价值导向性。这条规则的精准性在训练样本中是毋庸置疑的,但失去一般性在测试样本中却显得毫无价值。

常用的修剪技术预修剪(清除分布,规定树的深度,设置节点最小的样本量)和后修剪(设置子决策树的最大误差,大于误差停止剪枝)

不要单纯以预测置信度为依据,也需要将错判损失考虑进来。

3,具体实现决策树的组合模型技术:袋装技术和推进技术。

4,随机森林的具体实战。

library("randomForest")

MailShot<-read.table(file="邮件营销数据.txt",header=TRUE)

MailShot<-MailShot[,-1]

set.seed(12345)

(rFM<-randomForest(MAILSHOT~.,data=MailShot,importance=TRUE,proximity=TRUE))

head(rFM$votes)

head(rFM$oob.times)

DrawL<-par(family='SimSun')

par(mfrow=c(2,1),mar=c(5,5,3,1))

plot(rFM,main="随机森林的OOB错判率和决策树棵树")

plot(margin(rFM),type="h",main="边界点探测",xlab="观测序列",ylab="比率差")

par(DrawL)

Fit<-predict(rFM,MailShot)

ConfM5<-table(MailShot$MAILSHOT,Fit)

(E5<-(sum(ConfM5)-sum(diag(ConfM5)))/sum(ConfM5))

R输出图形

head(treesize(rFM))

head(getTree(rfobj=rFM,k=1,labelVar=TRUE))

barplot(rFM$importance[,3],main="输入变量重要性测度(预测精度变化)指标柱形图",family='SimSun')

R输出图形

box(family='SimSun')

importance(rFM,type=1)

varImpPlot(x=rFM, sort=TRUE, n.var=nrow(rFM$importance),main="输入变量重要性测度散点图",family='SimSun')

R输出图形

0 人点赞