1. 安装 scipy,numpy,sklearn 包
2. 从 sklearn 包自带的数据集中读出鸢尾花数据集 data
3. 查看 data 类型, 包含哪些数据
4. 取出鸢尾花特征和鸢尾花类别数据, 查看其形状及数据类型
5. 取出所有花的花萼长度 (cm) 的数据
6. 取出所有花的花瓣长度 (cm)+ 花瓣宽度(cm) 的数据
7. 取出某朵花的四个特征及其类别.
8. 将所有花的特征和类别分成三组, 每组 50 个
9. 生成新的数组, 每个元素包含四个特征 + 类别
10. 计算鸢尾花花瓣长度的最大值, 平均值, 中值, 均方差.
11. 显示鸢尾花某一特征的曲线图, 散点图.
- # 安装 scipy,numpy,sklearn 包
- import numpy as np
- from sklearn.datasets import load_iris
- #sklearn 包读取鸢尾花 data
- data = load_iris()
- #查看 data 数据类型
- print('data_type',type(data))
- print('data_key',data.keys())# 列名
- #取出鸢尾花特征和类别数据
- data_feature = data.feature_names
- iris_data = data.data
- print('鸢尾花的特征:',data_feature,iris_data)
- data_target = data.target_names
- print('鸢尾花类别:',data_target)
- iris_data = data.target
- print('数据类型:',type(iris_data))
- #取出所有话的花萼长度数据
- sepal_length = np.array([length[0] for length in data['data']])
- print('所有花萼的长度是:',sepal_length)
- #取出所有花的花瓣长度和宽度
- for item in data:
- petal_len = np.array([length[2] for length in data.data])# 花瓣长度
- petal_wid = np.array([length[3] for length in data.data])# 花萼宽度
- iris_len = (petal_len,petal_wid)
- print(iris_len)
- #取出花的四个特征和类别
- print(data.data[1],data.target[1])
- #所有花的特征和类别分成三组
- iris_set = []
- iris_ver = []
- iris_vir = []
- #遍历所有数据
- for i in range(0,150):
- if data.target[i] == 0:
- Data = data.data[i].tolist()
- Data.append('setosa')
- iris_vir.append(Data)
- print(iris_set,iris_ver,iris_vir)
- #生成新的数组, 每个元素包含四个特征
- iris_result = np.array([iris_set,iris_ver,iris_vir])
- print('分组:',iris_result)
- #计算鸢尾花花瓣长度的最大值, 平均值, 中值, 均方差
- petal_length = np.array([length[3] for length in data.data])
- print(petal_length)
- print('花瓣长度的最大值',np.mean(petal_length))
- print('平均值:',np.mean(petal_length))
- print('中值:',np.median(petal_length))
- print('均方差:',np.std(petal_length))
- #画曲线图和散点图
- import matplotlib.pyplot as plt
- plt.plot(np.linspace(0,150,num=150),petal_len,marker = "o")
- plt.show()
- plt.scatter(np.linspace(0,150,num=150),petal_len,marker="o")
- plt.show()
来源: http://www.bubuko.com/infodetail-2837618.html