决策树模型其实是从ID3开始,慢慢的发展到C4.5,CART等优化进行的。
详细介绍可以看这里 http://zh.wikipedia.org/wiki/决策树
看到这个数据集,里面很多NA,很多?,感觉如果是数据分析师或者数据挖掘师,都会感到头疼的,因为有时候建模都是需要花大量时间来进行数据清洗。
我这里用到的是Rapidminer软件!
①流程概图
②数据观察
我们通过导入数据观看数据结构,发现我们要进行分析的数据是否有缺失值以及一系列需要考虑的因素等等。
从视图中我们可以很清楚的看出:
a.总共有属性36个,其实第一步我是想用主成分分析来进行处理的,因为用数据降维可以很容易降低属性个数(但是数据没有清洗,后来发现清洗很复杂)
b.各个属性的缺失值个数,数据类型等等。
c.我们要进行标签分类的属性att36总共有19个类别
③数据清洗
我们将数据里的含有NA的元组剔除掉,用到的是filter example,后来想到考虑有很多数据含有?,可以考虑有数据属性的众数(在这里比较合适,因为绝大多数数据都是整数型)来替代,可以考虑用replace操作符来实现
④设置分类属性
用set role操作符将att36属性设置为我们决策分类的属性,这一步其实可以在导入数据的时候进行设置。
⑤数据分割成训练集和测试集两部分
用到的是split data操作符(0.8和0.2)
还有一种方式是交叉验证的方式(X-validation)
⑥选择分类模型和模型运用
选择决策树模型并进行参数设定(如分割方式,最大分支,最小分支,最小增益等等)
最终生成的决策树模型(只展现左半枝)
⑦模型评估验证
用到的是分类模型里的performance
从最终的评估效果可以看出绝大多数的属性里都有很高的准确性(0.00%因为这里训练集里没有含此类属性数据进来)。
不仅仅局限在rapidminer工具里,还可以用R来继续决策树分类模型建立(可以用到R里的rpart和party包来实现)
附件:rapidminer操作指南 rapidminer操作指南.pdf
感觉老师公司用的软件就是rapidminer汉化版,有没有感觉?