- -
问题描述
题目要求:根据一些病人的信息,推荐合适的隐形眼镜类型
数据集信息:有关隐形眼镜,他有着24个案例,4维数据,常用于多分类问题
数据准备与数据预处理
数据来源:
隐形眼镜数据集是十分著名的数据集,它包含很多患者眼部状况的观察条件以及医生推荐的隐形眼镜类型。隐形眼镜类型包括硬材质,软材质,以及不适合佩戴隐形眼镜。
数即来源于UCI数据库。
数据如下:
数据最后一列为医生建议,前三列为患者眼部情况有关的三个条件。
数据预处理:
因为数据维度低,且无明显线性关系,所以不采取维归约。且数据总量少,也并无缺失,所以在此次数据下,并不采取具体的数据处理方法。
数据统计:
-
数据可视化
- -
模型基本原理与算法实现
采用模型:决策树
基本原理:
决策树(Decision Tree)是一种基本的分类与回归方法。决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程。它可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。相比朴素贝叶斯分类,决策树的优势在于构造过程不需要任何领域知识或参数设置,因此在实际应用中,对于探测式的知识发现,决策树更加适用。
算法实现:
决策树的主函数:本质上是个递归函数,该函数主要功能是根据某种规则生长出决策树的各个分支节点,并根据终止条件结束算法。
a) 输入需要分类的数据集和类别标签
b) 根据某种分类规则得到最优的划分特征,并创建特征的划分节点——计算最优特征子函数
c) 按照该特征的每个取值划分数据集为若干部分——划分数据集子函数
d) 根据划分子函数的计算结果构建出新的节点,作为树生长出的新分支
e) 检验是否符合递归终止条件
f) 将划分的新节点包含的数据集和类别标签作为输入,递归执行上述步骤
测试方法与结果
- -
总结
决策树分类是一个比较简单的分类方法,优缺点明显,比如优势是在于在计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据。缺点在于可能会产生过度匹配问题。
回到决策树的算法层面,以上代码的实现基于ID3决策树构造算法,它是一个非常经典的算法,但其实缺点也不少。实际上决策树的使用中常常会遇到一个问题,即“过度匹配”。有时候,过多的分支选择或匹配选项会给决策带来负面的效果。为了减少过度匹配的问题,通常算法设计者会在一些实际情况中选择“剪枝”。简单说来,如果叶子节点只能增加少许信息,则可以删除该节点。