标签:mode tree des 最大 blog csv packages for 剪枝
CART模型 :即Classification And Regression Trees。它和一般回归分析类似,是用来对变量进行解释和预测的工具,也是数据挖掘中的一种常用算法。如果因变量是连续数据,相对应的分析称为回归树,如果因变量是分类数据,则相应的分析称为分类树。决策树是一种倒立的树结构,它由内部节点、叶子节点和边组成。其中最上面的一个节点叫根节点。 构造一棵决策树需要一个训练集,一些例子组成,每个例子用一些属性(或特征)和一个类别标记来描述。构造决策树的目的是找出属性和类别间的关系,一旦这种关系找出,就能用它来预测将来未知类别的记录的类别。这种具有预测功能的系统叫决策树分类器。
CART算法是一种二分递归分割技术,把当前样本划分为两个子样本,使得生成的每个非叶子结点都有两个分支,因此CART算法生成的决策树是结构简洁的二叉树。由于CART算法构成的是一个二叉树,它在每一步的决策时只能 是“是”或者“否”,即使一个feature有多个取值,也是把数据分为两部分。在CART算法中主要分为两个步骤
策决树剪枝
车型推测示例
#安装"mboost", "rpart","maptree" #install.packages("mboost") #install.packages("rpart") #install.packages("maptree") library(parallel) library(stabs) library(mboost) library(rpart) library(cluster) library(maptree)
建立公式、构建树模型
> #建立公式 > myformular= car~ dv + da + soc + sht + ht > #用rpart命令构建树模型,结果存在fit变量中 > model.CART=rpart(myformular,data=trainData) > #保存模型数据 > #save(model.CART,file = "E:\\RML\\CART.rda")
> #测试结果集预测 > results.CART <- predict(model.CART, newdata = testData,type="class") > # 查看预测的结果 > table(results.CART,testData$car,dnn = c("predict","actual")) actual predict \x87\xff NJL6129BEV4 SDL6122EVG SDL6831EVG WG6820BEVH 雅LXML6809JEV10C \x87\xff 0 0 0 0 0 0 NJL6129BEV4 1 24534 0 0 0 0 SDL6122EVG 0 0 55249 0 0 1455 SDL6831EVG 0 0 0 58978 1 0 WG6820BEVH 0 0 0 0 49681 0 雅LXML6809JEV10C 0 9 1 0 0 18043
完整示例代码
setwd("E:\\RML") cars <- read.csv("car1.csv",header=TRUE,stringsAsFactors=TRUE) #查看数据分布 table(cars$car) #从cars数据集中随机抽70%定义为训练数据集,30%为测试数据集 ind <- sample(2, nrow(cars), replace=TRUE, prob=c(0.7, 0.3)) trainData <- cars[ind==1,] testData <- cars[ind==2,] #安装"mboost", "rpart","maptree" #install.packages("mboost") #install.packages("rpart") #install.packages("maptree") library(parallel) library(stabs) library(mboost) library(rpart) library(cluster) library(maptree) #建立公式 myformular= car~ dv + da + soc + sht + ht #用rpart命令构建树模型 model.CART=rpart(myformular,data=trainData) #保存模型数据 #save(model.CART,file = "E:\\RML\\CART.rda") #测试结果集预测 results.CART <- predict(model.CART, newdata = testData,type="class") # 查看预测的结果 table(results.CART,testData$car,dnn = c("predict","actual"))
标签:mode tree des 最大 blog csv packages for 剪枝
原文地址:http://www.cnblogs.com/tgzhu/p/6697564.html