机器学习实战笔记之三(决策树)

来源:互联网 发布:iphone清理缓存软件 编辑:程序博客网 时间:2024/06/05 19:14

决策树和k-近邻算法:

决策树,数据形式易于理解。

k-近邻算法,完成很多分类任务。


决策树的构造:

优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据。

缺点:可能会产生过度匹配问题。

适用数据类型:数值型和标称型。


一般流程:

收集数据:可以使用任何方法。

准备数据:树构造算法只适用于标称型数据,因此数值型数据必须离散化。

分析数据:可以使用任何方法,构造树完成之后,我们应该检查图形是否符合预期。

训练算法:构造树的数据结构。

测试算法:使用经验树计算错误率。

使用算法:此步骤可以适用于任何监督学习算法,而使用决策树可以更好地理解数据的内在含义。

(另一个度量集合无序程度的方法:基尼不纯度 Gini impurity,从一个数据集中随机选取子项,度量其被错误分类到其他分组里的概率。)


chapter 3.3.1 测试算法:使用决策树执行分类

执行数据分类时,需要决策树以及用于构造树的标签向量。然后,程序比较测试数据与决策树上的数值,递归执行该过程直到进入叶子点;最后将测试数据定义为叶子节点所属的类型。


chapter 3.3.2 使用算法:决策树的存储

为了节省计算时间,最好能够在每次执行分类时调用已经构造好的决策树。为了解决这个问题,需要使用Python模块pickle序列化对象,参见程序清单3-9。序列化对象可以在磁盘上保存对象,并在需要时读取出来。任何对象都可以执行序列化操作,字典对象也不例外。


================================我是决策树的分割线================================


尼玛终于知道为什么计算结果和书上的不一样了,隐形眼镜那堆数据。

原来是打字员少缩进一行,我傻乎乎地连续缩进了2行。。。结果程序没报错,然而熵的结果完全错误了。(深刻教训)



决策树可以非常好地匹配实验数据,然而这些匹配选项可能太多了。。。(书的原话,借着吐槽一下)



0 0