代码改变世界

作业6

2018-10-14 13:22  cqchenqin  阅读(188)  评论(0编辑  收藏  举报
#鸢尾花数据集
#1.安装scipy,numpy,sklearn包
#①python -m pip install --upgrade pip
#②pip uninstall numpy
#③pip uninstall scipy
#④pip install scipy
#⑤pip install numpy
#2.从sklearn包自带的数据集中读出鸢尾花数据集data
from sklearn.datasets import load_iris
data=load_iris()
#3.查看data类型,包含哪些数据
print('data类型:',type(data))
print('数据:',data.keys())#包含哪些数据
#4.取出鸢尾花特征和鸢尾花类别数据,查看其形状及数据类型
iris_feature=data['feature_names'],data['data']
print('数据:',iris_feature)
iris_target=data.target,data.target_names
print('形状:',iris_target)
print('数据类型:',type(iris_feature))
#5.取出所有花的花萼长度(cm)的数据
import numpy
sepal_len = numpy.array(list(len[0] for len in data['data']))
print('花萼长度:',sepal_len)
#6.取出所有花的花瓣长度(cm)+花瓣宽度(cm)的数据
petal_len = numpy.array(list(len[2] for len in data['data']))
petal_len.resize(30,5)
petal_wid = numpy.array(list(len[3] for len in data['data']))
petal_wid.resize(30,5)
iris_lens = (petal_len,petal_wid)
print('花瓣长度加宽度的数据:',iris_lens)
#7.取出某朵花的四个特征及其类别。
print("某朵花的四个特征及其类别:",data['data'][0],data['target'][0])
#8.将所有花的特征和类别分成三组,每组50个
# 建立每种花的相应列表,存放数据
iris_setosa = []
iris_versicolor = []
iris_virginica = []
# 用for循环分类,根据观察可知当target为0时对应setosa类型,1为versicolor,2为virginica
for i in range(0,150):
if data['target'][i] == 0: # 种类为0的是setosa,生成setosa类的鸢尾花花数据
data1 = data['data'][i].tolist()
data1.append('setosa')
iris_setosa.append(data1)
elif data['target'][i] == 1: # 种类1的是versicolor,生成versicolor类的鸢尾花数据
data1 = data['data'][i].tolist()
data1.append('versicolor')
iris_versicolor.append(data1)
else: #种类为2的归为virginica,生成virginica类的鸢尾花数据
data1 = data['data'][i].tolist()
data1.append('virginica')
iris_virginica.append(data1)
#9.生成新的数组,每个元素包含四个特征+类别
new_array= numpy.array([iris_setosa, iris_versicolor, iris_virginica])
print("新的数组",new_array)