numpy数据集

#安装scipy,numpy,sklearn包
import numpy as np
#从sklearn包自带的数据集中读出鸢尾花数据集data
from sklearn.datasets import load_iris
iris = load_iris()
#查看data类型,包含哪些数据
print(type(iris))
#取出鸢尾花特征和鸢尾花类别数据,查看其形状及数据类型
print(iris.keys())
print(iris['data'])

 

#取出所有花的花萼长度(cm)的数据
iris_len=np.array(list(len[0] for len in iris['data']))
print(iris_len)
#取出所有花的花瓣长度(cm)+花瓣宽度(cm)的数据
for len_width in iris['data']:
    print(len_width[2],len_width[3])
#取出某朵花的四个特征及其类别。
print(iris['data'][0],iris['feature_names'][0])

 

#将所有花的特征和类别分成三组,每组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)

 

#生成新的数组,每个元素包含四个特征+类别
datas=np.array([iris_a,iris_b,iris_c])
print(datas)
#计算鸢尾花花瓣长度的最大值,平均值,中值,均方差。
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))

 

#显示鸢尾花花瓣长度的正态分布图
import numpy as np
import matplotlib.pyplot as plt
mu=np.mean(petal_length)
sigma=np.std(petal_length)
num=10000
rand_data = np.random.normal(mu, sigma, num)


count, bins, ignored = plt.hist(rand_data, 30, normed=True)
plt.plot(bins, 1 /(sigma * np.sqrt(2 * np.pi)) * np.exp(- (bins - mu) ** 2 / (2 * sigma ** 2)), linewidth = 2, color= "r")
plt.show()

 

#显示鸢尾花某一特征的曲线图,散点图。
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()

 

#显示鸢尾花花瓣长度的散点图
import numpy as np
import matplotlib.pyplot as plt
plt.scatter(np.linspace(0,150,num=150),petal_length,alpha=0.5,marker='h',color='y')
plt.show()

 

  

posted @ 2018-11-05 09:01  庄裕翔  阅读(390)  评论(0编辑  收藏  举报