#1. 安装scipy,numpy,sklearn包
import numpy as np
#2. 从sklearn包自带的数据集中读出鸢尾花数据集data
from sklearn.datasets import load_iris
iris = load_iris()
#3.查看data类型,包含哪些数据
print(type(iris))
#4.取出鸢尾花特征和鸢尾花类别数据,查看其形状及数据类型
print(iris.keys())
print(iris['data'])
#5.取出所有花的花萼长度(cm)的数据
iris_len=np.array(list(len[0] for len in iris['data']))
print(iris_len)
#6.取出所有花的花瓣长度(cm)+花瓣宽度(cm)的数据
for len_width in iris['data']:
print(len_width[2],len_width[3])
#7.取出某朵花的四个特征及其类别。
print(iris['data'][0],iris['feature_names'][0])
#8.将所有花的特征和类别分成三组,每组50个
iris_a=[]
iris_b=[]
iris_c=[]
for i in range(0,150):
if iris['target'][i]==0:
data1=iris['data'][i].tolist()
data1.append('a')
iris_a.append(data1)
elif iris['target'][i]==1:
data1=iris['data'][i].tolist()
data1.append('b')
iris_b.append(data1)
else:
data1=iris['data'][i].tolist()
data1.append('c')
iris_c.append(data1)
#9.生成新的数组,每个元素包含四个特征+类别
datas=np.array([iris_a,iris_b,iris_c])
print(datas)
#10.计算鸢尾花花瓣长度的最大值,平均值,中值,均方差。
data_len=np.array(list(len[2] for len in iris['data']))
print(data_len)
print(np.max(data_len))
print(np.mean(data_len))
print(np.median(data_len))
print(np.std(data_len))
#11.显示鸢尾花某一特征的曲线图,散点图。
import matplotlib.pyplot as plt
plt.plot(np.linspace(0,150,num=150),data_len,'b') #花瓣曲线图
plt.show()
plt.scatter(np.linspace(0,150,num=150),data_len,marker='o')#花瓣图
plt.show()