1、首先解释下熵和吉尼系数在决策树的功用
决策树学习的关键是如何选择最优的划分属性。通常,随着划分过程的不断进行,我们希望决策树的内部分支节点所包含的样本尽可能属于同一类别,即节点的“纯度”越来越高。
“熵”是衡量样本数据集纯度最常用的一种指标。熵值越小,则样本的纯度越高,或者说样本的杂乱程度越小。
“吉尼系数”也可以用来衡量样本数据集的纯度。吉尼系数越小,则表示该节点可以有效的把同一类聚集在一起。反之,分割后的类别越杂乱,则吉尼系数会越大。在决策树生成时,当用到吉尼系数这个方法时,通常会计算每一个特征的吉尼系数,接着比较各个特征下的吉尼系数,系数越小的特征越适合先作为内部节点。
2、party包,readingskills数据,建立nativespeaker决策树
直接放R语言代码
#install.packages(“rpart”) #安装party包,只需在首次运行改脚本时安装
library("party") #调出party包
mydata <- readingSkills #将readingSkills数据存储在mydata里头
names(mydata) #查看mydata中有几个变量
str(mydata) #查看每个变量的数据结构
summary(mydata) #计算各变量的基本描述性统计量
plot(x = mydata$shoeSize, y = mydata$score,
xlab = "shoeSize",
ylab = "score",
main = "shoeSize VS score") #画shoeSize和score散点图,X轴是shoeSize,Y轴是score,图名是"shoeSize VS score"
library(rpart) #调出rpart包
my.tree <- rpart(formula=nativeSpeaker ~ age + shoeSize + score, method="class",
minsplit =20, cp=0.05, data=mydata) #决策树结果存在my.tree对象中
printcp(my.tree) #显示不同cp值下的错误率
#install.packages("rpart.plot") #安装rpart.plot包,只需在首次运行改脚本时安装
library(rpart.plot) #调出rpart.plot包
rpart.plot(my.tree, type=2) #type是图形表示的类型,有1、2、3、4四种,差异不大
1、首先解释下熵和吉尼系数在决策树的功用 决策树学习的关键是如何选择最优的划分属性。通常,随着划分过程的不断进行,我们希望决策树的内部分支节点所包含的样本尽可能属于同一类别,即节点的“纯度”越来越高。 “熵”是衡量样本数据集纯度最常用的一种指标。熵值越小,则样本的纯度越高,或者说样本的杂乱程度越小。 “吉尼系数”也可以用来衡量样本数据集的纯度。吉尼系
centos6.5(64位)离线
安装
oracle所需要的依赖
包
binutils-2.20.51.0.2-5.11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6.i686
> install.packages('Rserve')
Warning: 无法在貯藏處https://mirrors.eliteu.cn/CRAN/src/contrib中读写索引:
无法打开URL'https://mirrors.eliteu.cn/CRAN/src/contrib/PACKAGES'
Warning message:
package ‘Rserve’ is not...
决策树
模型是一种简单易用的非参数分类器。它不需要对数据有任何的先验假设,计算速度较快,结果容易解释,而且稳健性强,不怕噪声数据和缺失数据。
决策树
模型的基本计算步骤如下:先从n个自变量中挑选一个,寻找最佳分割点,将数据划分为两组。针对分组后数据,将上述步骤重复下去,直到满足某种条件。
在
决策树
建模中需要解决的重要问题有三个:
如何选择自变量
如何选择分割点
确定停止划分的条件
关于
决策树
理论方面的介绍,李航的《统计机器学习》第五章有很好的讲解。
传统的ID3和C4.5一般用于分类问题,其中ID3使用信息增益进行特征选择,即递归的选择分类能力最强的特征对数据进行分割,C4.5唯一不同的是使用信息增益比进行特征选择。
特征A对训练数据D的信息增益g(D, A) = 集合D的经验熵H(D) - 特征A给定情况下D的经验条件熵H(D|A)
特征A对训练数据D的信息增益比r
#
rpart
决策树
计算
run_statement<-paste('fit<-
rpart
(', names(data_in_sub)[length(names(data_in_sub))], '~., data=data_in_sub, method="class")')
eval(parse(text=run_statement))
关于
决策树
模型的相关理论,可参照周志华的《机器学习》一书第四章节,此处省略。
用
R语言
实现
决策树
模型,我们使用自带的数据集鸢尾花iris,以及用的R
包
有
rpart
和
rpart
.
plot
。
rpart
是一个专门用于做
决策树
模型的
包
,
rpart
.
plot
则用于绘制
rpart
模型。
为了方便理解和记忆,此处将模型的完整建立分成导入数据
包
/设置建模参数/数据切分/建模/调整模型参数并计算训练误差和测试误差...
2基础
安装
我们最常使用的就是install.packages()函数,来
安装
CRAN上的R
包
。
我们可以选择将单个
包
作为变量传输进入,也可以通过向量的形式进行多个R
包
的
安装
。
2.1
安装
单个R
包
install.packages("tidyverse")install.packages("ggstats
plot
")install.packages("ggV