歸一化后和標准化后數據到底發生了什么變化?


原數據:

df=pd.DataFrame({'a':[1,2,2,2,3,3,4,5,6]})
sns.kdeplot(df['a'])
plt.xlim(-2,10)
plt.show()
df['a'].describe()

1 count    9.000000
2 mean     3.111111
3 std      1.615893
4 min      1.000000
5 25%      2.000000
6 50%      3.000000
7 75%      4.000000
8 max      6.000000
9 Name: a, dtype: float64

 

一、歸一化

 

 

 

1 df['b']=(df['a']-1)/(6-1)
2 sns.kdeplot(df['b'])
3 plt.xlim(-2,10)
4 plt.show()
5 df['b'].describe()
1 count    9.000000
2 mean     0.422222
3 std      0.323179
4 min      0.000000
5 25%      0.200000
6 50%      0.400000
7 75%      0.600000
8 max      1.000000
9 Name: b, dtype: float64

1)畫圖的時候限制xlim(-2,10)                                                                  2)畫圖的時候去掉xlim的限制

 

二、標准化

標准化后均值為0,方差為1.

df['b']=(df['a']-3.1111)/1.615893
sns.kdeplot(df['b'])
plt.xlim(-6,10)
plt.show()
df['b'].describe()
1 count    9.000000
2 mean     0.000007
3 std      1.000000
4 min     -1.306460
5 25%     -0.687607
6 50%     -0.068755
7 75%      0.550098
8 max      1.787804
9 Name: b, dtype: float64

1)限制xlim(-6,10)                                                                                                  2)去掉xlim限制

 

三、總結

從上述歸一化和標准化可以看出來,轉換后數據的均值和方差都發生了改變:

1)均值發生改變可以理解為數據的坐標都進行了平移轉換,均值其實也是隨之一樣轉換。

2)方差的改變是因為數據都壓縮在了更小的范圍內了,所以方差都變小了。

3)通過畫圖去掉xlim的限制,我們可以看出轉換后的圖的形狀跟原圖的形狀是一樣的,也就是圖的形狀本質上沒變,只是壓縮在更小的空間范圍內,從同一xlim范圍看是變瘦了。

 


免責聲明!

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



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