第七次作業 numpy統計分佈顯示
阿新 • • 發佈:2018-11-08
import numpy as np from sklearn.datasets import load_iris #1.計算鳶尾花花瓣長度的最大值,平均值,中值,均方差。 data=load_iris() print(data) print(type(data)) print(data.keys(),data.feature_names) iris=data.data print(iris) petal_length=iris[:,2] print(petal_length) print("最大值",np.max(petal_length)) print("平均值",np.mean(petal_length)) print("最小值",np.min(petal_length)) print("均方差",np.std(petal_length)) print("中值",np.median(petal_length))
結果:
#2.用np.random.normal()產生一個正態分佈的隨機陣列,並顯示出來。 import numpy as np import matplotlib.pyplot as plt mu = 5 sigma = 5 num = 1000 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()
#3.np.random.randn()產生一個正態分佈的隨機陣列,並顯示出來。 Data=np.random.randn(30) print(Data)
結果:
#4.顯示鳶尾花花瓣長度的正態分佈圖 import numpy as np import matplotlib.pyplot as plt mu = np.mean(petal_length) # 期望值 sigma = np.std(petal_length) # 標準差 num = 10000 #個數為10000 rand_data = np.random.normal(mu, sigma, num)print(rand_data.shape,type(rand_data)) 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()
#曲線圖 plt.plot(np.linspace(0,150,num=150),petal_length,'y') plt.show()
#散點圖 plt.scatter(np.linspace(0,160,num=150),petal_length,alpha=1,marker='x',color='red') plt.show()