python編程練習題目


github上面的一個項目,分為level1,level2,level3 三個等級的難度。

題目地址

一部分中文翻譯

python教程

劍指offer,python3實現

python進階

練習題1:

隨機生成一列數據,畫出這些數據的分布、概率密度曲線,以及進行歸一化、標准化之后的分布、概率密度曲線。

解答:

# 歸一化、標准化、中心化
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

original_data = np.random.exponential(size = 1000)
scaled_data = (original_data - original_data.min())/(original_data.max()-original_data.min())
fig,ax = plt.subplots(1,2)
sns.distplot(original_data,ax=ax[0])    #直方圖
ax[0].set_title("Original Data")
sns.distplot(scaled_data,ax = ax[1])
ax[1].set_title('Scaled Data')
plt.show()

original_data = 6*np.random.rand(1000)+7
scaled_data = (original_data - original_data.mean())/original_data.std()
fig,ax = plt.subplots(1,2)
sns.distplot(original_data,ax=ax[0])
ax[0].set_title("Original Data")
sns.distplot(scaled_data,ax = ax[1])
ax[1].set_title('Scaled Data')
plt.show()

隨機抽樣函數

練習題2:

一個數據集 身高:1.7,1.8,1.9

                體重:70,80,90,分別進行歸一化、標准化,看數據值及其分布圖。

 

練習題3:

同題1,自動生成二維分布數據集,畫圖展示。進行歸一化、標准化后,畫圖展示。

解答:

x = np.array([1.7,1.8,1.9,1.75,1.85])
y = np.array([60,70,80,85,65])
plt.scatter(x,y)
plt.show()

x_scaled = preprocessing.scale(x)
y_scaled = preprocessing.scale(y)
plt.scatter(x_scaled,y_scaled)
plt.show()

x_normalize = (x-x.min())/(x.max()-x.min())
y_normalize = (y-y.min())/(y.max()-y.min())
plt.scatter(x_normalize,y_normalize)
plt.show()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM