>**摘要:**rpart是Recursive Partitioning and Regression Trees的简称,它实现了 Breiman, Friedman, Olshen and Stone这三位大佬所写书籍《Classification and Regression Trees》大大都算法的成果。
文章《[**RForML之焦点包:e1071**](http://shujuren.org/article/304.html "RForML之焦点包:e1071")》先容e1071包及应用。
文章《[**RForML之焦点包:gbm**](http://shujuren.org/article/305.html "RForML之焦点包:gbm")》先容gbm包及应用。
文章《[**RForML之焦点包:kernlab**](http://shujuren.org/article/308.html "RForML之焦点包:kernlab")》先容kernlab包及应用。
文章《[**RForML之焦点包:mboost**](http://shujuren.org/article/310.html "RForML之焦点包:mboost")》先容mboost包及应用。
文章《[**RForML之焦点包:nnet**](http://shujuren.org/article/311.html "RForML之焦点包:nnet")》先容nnet包及应用。
文章《[**RForML之焦点包:randomForest**](http://shujuren.org/article/315.html "RForML之焦点包:randomForest")》先容randomForest包及应用。
### 一、rpart包先容
**rpart**是Recursive Partitioning and Regression Trees的简称,它实现了 Breiman, Friedman, Olshen and Stone这三位大佬所写书籍《Classification and Regression Trees》大大都算法的成果。
### 二、rpart包安装与加载
rpart包是扩展包,需要先安装和加载,才气利用。
“`{r}
if(!require(rpart))
{
install.packages(‘rpart’)
require(rpart)
}
“`
###三、rpart包应用
操作rpart包实现决定树算法,从ecoli数据会合操作决定树进修到分类器模子,然后操作模子做预测。
#### ecoli数据集
“`{r}
url <- ‘http://www.wekaleamstudios.co.uk/wp-content/uploads/2010/09/ecoli.txt’
ecoli.data <- read.csv(url)
str(ecoli.data)
## 生存数据
write.csv(ecoli.data, ‘ecoli.txt’, row.names = FALSE)
“`
### 决定树模子建设
“`{r}
ecoli.tree <- rpart(class ~ ., data = ecoli.data[,-1])
“`
### 决定树修剪
操作plotcp函数可视化可能printcp函数选取符合cp值,然后操作prune函数对决定树举办修剪和优化
“`{r}
plotcp(ecoli.tree)
“`
功效示意图

“`{r}
ecoli.tree1 <- prune(ecoli.tree, cp = 0.02)
“`
#### 决定树功效可视化
“`{r}
if(!(require(rattle) & require(rpart.plot)))
{
install.packages(c(‘rattle’, ‘rpart.plot’))
require(rattle)
require(rpart.plot)
}
fancyRpartPlot(ecoli.tree1)
“`
功效示意图

#### 决定树法则解读
“`r
asRules(ecoli.tree1)
“`
部门功效如下

#### 模子应用
操作predict函数,对数据集举办预测,而且量化预测结果。
### 参考资料
1 rpart包文档:https://cran.r-project.org/web/packages/rpart/rpart.pdf
2 rpart应用:https://cran.r-project.org/web/packages/rpart/vignettes/longintro.pdf
您在阅读中,有什么发起可能想法,请留言,也可以加微信交换。
