归一化后和标准化后数据到底发生了什么变化?


原数据:

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