numpy数据集练习
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()