cad精品课网站建设,wordpress批量定时更新,搜索排名优化策划,中建官网任务描述
本关任务#xff1a;编写一个例子讲解决策树如何预测患者需要佩戴的隐形眼镜类型。使用小数据集#xff0c;我们就可以利用决策树学到很多知识#xff1a;眼科医生是如何判断患者需要佩戴的镜片类型#xff0c;一旦理解了决策树的工作原理#xff0c;我们甚至也…任务描述
本关任务编写一个例子讲解决策树如何预测患者需要佩戴的隐形眼镜类型。使用小数据集我们就可以利用决策树学到很多知识眼科医生是如何判断患者需要佩戴的镜片类型一旦理解了决策树的工作原理我们甚至也可以帮助人们判断需要佩戴的镜片类型。
相关知识
为了完成本关任务你需要掌握1.如何处理隐形眼镜数据集2.如何使用决策树来进行预测
如何处理隐形眼镜数据集
隐形眼镜数据集包含很多患者眼部状况的观察条件以及医生推荐的隐形眼镜类型。隐形眼镜类型包括硬材质、软材质以及不适合佩戴隐形眼镜。数据来源于UCI数据库为了更容易显示数据,我么对数据做了简单的更改。 import pandas as pdif __name__ __main__:with open(lenses.txt, r) as fr: #加载文件lenses [inst.strip().split(\t) for inst in fr.readlines()]#处理文件lenses_target [] #提取每组数据的类别保存在列表里for each in lenses:lenses_target.append(each[-1])lensesLabels [age, prescript, astigmatic, tearRate] #特征标签lenses_list [] #保存lenses数据的临时列表lenses_dict {} #保存lenses数据的字典用于生成pandasfor each_label in lensesLabels: #提取信息生成字典for each in lenses:lenses_list.append(each[lensesLabels.index(each_label)])lenses_dict[each_label] lenses_listlenses_list []print(lenses_dict) #打印字典信息lenses_pd pd.DataFrame(lenses_dict) #生成pandas.DataFrameprint(lenses_pd) 我们讲原始的数据信息进行处理将原始数据处理成有序的数据。 编程要求
根据提示在右侧编辑器补充代码添加使用决策树预测的代码
测试说明
平台会对你编写的代码进行测试 开始你的任务吧祝你成功
代码如下
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from io import StringIO
from sklearn.preprocessing import LabelEncoder, OneHotEncoderfrom sklearn import treeif __name__ __main__:with open(./src/step3/lenses.txt, r) as fr: #加载文件lenses [inst.strip().split(\t) for inst in fr.readlines()]#处理文件lenses_target [] #提取每组数据的类别保存在列表里for each in lenses:lenses_target.append(each[-1])print(lenses_target)lensesLabels [age, prescript, astigmatic, tearRate] #特征标签lenses_list [] #保存lenses数据的临时列表lenses_dict {} #保存lenses数据的字典用于生成pandasfor each_label in lensesLabels: #提取信息生成字典for each in lenses:lenses_list.append(each[lensesLabels.index(each_label)])lenses_dict[each_label] lenses_listlenses_list []#print(lenses_dict) #打印字典信息# print(lenses_dict) #打印字典信息############ 请在此处添加你的代码data pd.DataFrame(lenses_dict) #生成pandas.DataFrameprint(data)#打印pandas.DataFramele LabelEncoder() #创建LabelEncoder()对象用于序列化data[age] data[age].map({young: 2, presbyopic: 1, pre: 0}) #序列化data[prescript] data[prescript].map({myope: 1, hyper: 0})data[astigmatic] data[astigmatic].map({no: 0, yes: 1})data[tearRate] data[tearRate].map({reduced: 1, normal: 0})print(data)#############