决策树

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集合

 

  

 

转载于:https://www.cnblogs.com/JoyHan/p/5620417.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值