标签:
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