码迷,mamicode.com
首页 > 其他好文 > 详细

决策树

时间:2016-06-27 17:04:06      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:

1|—— rpart函数 shuttle数据集

数据集:

 分类问题:
      stability  error sign  wind     magn      vis     use
1       xstab    LX    pp    head    Light      no     auto
2       xstab    LX    pp    head    Medium     no     auto
3       xstab    LX    pp    head    Strong     no     auto
4       xstab    LX    pp    tail     Light     no     auto
...
256

代码:

1 library(MASS)
2 shuttle#加载shuttle数据集
3 m=256;set.seed(2)
4 
5 samp = sample(1:m,floor(m/10))#测试样本
6 tsamp = setdiff(1:m,samp) #训练样本

绘图:

1 library(rpart.plot)
2 (b=rpart(use~.,shuttle,subset=tsamp))#数据加入模型
3 plot(b);text(b,use.n=T)
4 rpart.plot(b,type=2)#另一种绘图方式

     rpart.plot(b,type=1)               rpart.plot(b,type=2)              

技术分享       技术分享

          分类的效果还是不错的,but这是数据洗的好啊...

 

1 #预测
2 predict(b, shuttle[samp,],type="prob")   # 返回每个样本被预测为各类别的概率
3 predict(b, shuttle[samp,],type="vector") # 以各类别的水平值显示各样本的预测结果
4 predict(b, shuttle[samp,],type="class")  # 以各类别名称显示各样本的预测结果
5 predict(b, shuttle[samp,],type="matrix") # 以矩阵形式综合输出"以类别水平值表示的预测结果"、"类别频率"、"预测概率"

 

outcome:

 1       [,1] [,2]   [,3]       [,4]            [,5]          [,6]
 2 48     1    115    0     1.00000000       0.0000000   0.49783550
 3 180    2    4     82     0.04651163       0.9534884   0.37229437
 4 146    2    4     82     0.04651163       0.9534884   0.37229437
 5 43     1  115     0      1.00000000       0.0000000   0.49783550
 6 238    2    4     82     0.04651163     0.9534884   0.37229437
 7 237    2    0     14     0.00000000      1.0000000   0.06060606
 8 33     1  115     0      1.00000000     0.0000000   0.49783550
 9 208    2    4     82     0.04651163     0.9534884   0.37229437
10 117    1  115     0      1.00000000       0.0000000   0.49783550
11 136    2    4     82     0.04651163       0.9534884   0.37229437
12 247    2    4     82     0.04651163       0.9534884   0.37229437
13 59     1  115     0      1.00000000       0.0000000   0.49783550
14 ...

 

 

t(table(predict(b,shuttle[tsamp,],type="class"),shuttle[tsamp,7])) # 对tsamp进行样本内预测,并输出混淆矩阵;t()为转置函数,可以不用
t(table(predict(b,shuttle[samp,],type="class"),shuttle[samp,7])) # 对samp进行样本外预测,并输出混淆矩阵;

 

OUTCOME:

    技术分享 _ tsamp集合              技术分享  _samp集合

 

  

 

决策树

标签:

原文地址:http://www.cnblogs.com/JoyHan/p/5620417.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!