10.18作业
numpy统计分布显示
1、计算鸢尾花花瓣长度的最大值,平均值,中值,均方差。
import numpy as np from sklearn.datasets import load_iris data = load_iris() petal_length = data['data'][:,2] print('最大值:',np.max(petal_length)) print('最小值:',np.min(petal_length)) print('均值:',np.mean(petal_length)) print('均方差:',np.std(petal_length)) print('中位数',np.median(petal_length)
2、用np.random.normal()产生一个正态分布的随机数组,并显示出来。
print(np.random.normal(1,5,50))#用np.random.normal()产生一个正态分布的随机数组,并显示出来
3、np.random.randn()产生一个正态分布的随机数组,并显示出来。
print(np.random.random(10))#用np.random.randn()产生一个正态分布的随机数组,并显示出来。
4、显示鸢尾花花瓣长度的正态分布图,曲线图,散点图。
(1)鸢尾花花瓣长度的正态分布图
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 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()
(2)鸢尾花花瓣长度的曲线图
plt.plot(np.linspace(0,150,num=150),petal_length,'b') plt.show()
(3)鸢尾花花瓣长度的散点图
plt.scatter(np.linspace(1,160,num=150),petal_length,alpha=1,marker='x',color='g') plt.show()