1、安装scipy,numpy,sklearn包;
2、从sklearn包自带的数据集读话的数据集;
3、查看数据类型
from sklearn.datasets import load_iris
import numpy as np
data=load_iris()#鸢尾花数据集data
print(type(data))#查看数据集的类型
print(data.keys())#包含的数据
4、取出花的特性和类别数据,查看数据类型
data_tgs=data ['target']##鸢尾花特征
data_tgsname=data['target_names']##鸢尾花的类别数据
data_ts=data_tgsname,data_tgs#鸢尾花特征和鸢尾花的类别数据
print(data_ts)#形状
print(type(data_ts))#数据类型
5、取出所有花花萼的长度
data_sepal_l=np.array([x[0] for x in data['data']])
data_sepal_l
6、取出所有花花瓣的长度和宽带
data_petal_l=[x[2] for x in data['data']]#所有花花瓣的长度
data_petal_w=[x[3] for x in data['data']]#所有花花瓣的宽度
data_petal_l_w=np.array([data_petal_l,data_petal_w])#所有花花瓣的长度和宽度
data_petal_l_w
7、取出某朵花的四个特征和类别
8、将所有花分成三个组,每组50个
9、生成新的元祖,每组包括特征和类别
#7某朵花的四个特征和类别
data_flower=(data['data'][0],data['target_names'][0])
data_flower
#8定义三个列表来存放不同类型花朵的类别
data_setosa=[] #存放类为0的花朵
data_versicolor=[] #存放类为1的花朵
data_virginica=[] #存放类为2的花朵
len(data['data'])
for i in range(0,150):
if data['target'][i]==0: #类别为setosa
datas=data['data'][i].tolist()
datas.append('setosa')
print(data_setosa.append(datas))
elif data['target'][i]==1: #类别为versicolor
datas=data['data'][i].tolist()
datas.append('versicolor')
data_versicolor.append(datas)
else:
datas=data['data'][i].tolist()#类别为virginica
datas.append('virginica')
data_virginica.append(datas)
#9形成新的数组来存放三个类别的花朵
new_data=(np.array([data_setosa,data_versicolor,data_virginica]))
print(new_data)
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 numpy as np
import matplotlib.pyplot as plt
datas = np.array(list(len[2] for len in iris['data']))
plt.plot(np.linspace(0,150,num=150),datas,'b')
plt.show()
plt.scatter(np.linspace(0,150,num=150),datas,marker='o')
plt.show()