matlab隐形眼镜类型预测,【实现】利用决策树推荐隐形眼镜类型

背景介绍:根据患者眼部状况的观察条件,利用决策树来向患者推荐隐形眼镜的类型。

1. 收集数据

数据集来自于UCI数据库的隐形眼镜数据集。

54ec20969baf

数据格式

2. 准备数据

解析tab键分割的数据行。def read2DataSet(filename):

fr= open(filename,'r')

dataSet= [example.strip().split('\t') for example in fr.readlines()]

lenseLabels= ['age','prescript','astigmatric','tearRate']#特征名称

return dataSet, lenseLabels

3. 分析数据

快速检查数据,确保正确地解析数据内容,绘制最后的决策树型图。

4. 训练算法-生成决策树

思想(伪代码):

检测数据集中的每个子项是否属于同一分类:

If    so    return    类标签

Else

寻找划分数据集的最好特征(--基于信息增益)

划分数据集

创建分支结点

for    每个划分的子集

调用自己,并增加返回结果到分支结点中

return    分支结点

4.1 划分数据def splitDataSet(dataSet, axis, value):

"""

对数据集进行划分

:param dataSet:数据集

:param axis: 选择的特征,在该特征上对数据集进行划分;

:param value: 特征的取值;划分依据(这种划分是多分支划分,依赖于每个标称属性的取值个数)

:return: 划分后的子集(删除特征axis后的数据集);;方便进行下一次划分;;递归执行"""

retDataSet= []

for featVecin dataSet:

if featVec[axis] == value

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值