歸一化和標準化

2022-06-20 08:30:23 字數 2051 閱讀 9425

一,歸一化

處理不同特徵之間資料相差不是太大的問題。

特徵1特徵2

特徵3特徵4802

1030404

1540303

1245

以計算80這個位置進行轉換為例,特徵1這一列   x『=(80-30)/(80-30)=1  x''=1*(1-0)+0=1 故80轉換化為x''=1 其它位置同理。

**如下:

from sklearn.preprocessing import

minmaxscaler

defguiyi():

mm=minmaxscaler()

data=mm.fit_transform([[80,2,10,30],[40,4,15,40],[30,3,12,45]])

print

(data)

return

none

if__name__ == '

__main__':

guiyi()

執行結果如下:

[[1.         0.         0.         0.        ]

[0.2 1. 1. 0.66666667]

[0. 0.5 0.4 1. ]]

也可以規定歸一化後特徵的範圍:

from sklearn.preprocessing import

minmaxscaler

defguiyi():

mm=minmaxscaler(feature_range=(2,3))

data=mm.fit_transform([[80,2,10,30],[40,4,15,40],[30,3,12,45]])

print

(data)

return

none

if__name__ == '

__main__':

guiyi()

結果如下:

[[3.         2.         2.         2.        ]

[2.2 3. 3. 2.66666667]

[2. 2.5 2.4 3. ]]

二,標準化在樣本足夠多的情況下比較穩定,適合現代嘈雜大資料場景

同上,繼續用上面**裡面的資料進行標準化,**如下:

from sklearn.preprocessing import

standardscaler

defstandardscaler():

std=standardscaler()

data=std.fit_transform([[80,2,10,30],[40,4,15,40],[30,3,12,45]])

print

(data)

return

none

if__name__ == '

__main__':

standardscaler()

執行結果如下:

[[ 1.38873015 -1.22474487 -1.13554995 -1.33630621]

[-0.46291005 1.22474487 1.29777137 0.26726124]

[-0.9258201 0. -0.16222142 1.06904497]]

歸一化和標準化

主要是讀了這篇文章才深入理解這兩個的區別 歸一化 對原始資料進行線性轉換到 0,1 區間,如下 最小值和最大值特別容易受異常值影響,因此魯棒性不好,比較適合傳統的小資料場景 標準化 最常用的方法是z score標準化,即將資料轉化成均值為0,標準差為1,處理方法如下 其中理論解釋 歸一化的依據非常簡...

標準化 和 歸一化

1 把數變為 0,1 之間的小數 主要是為了資料處理方便提出來的,把資料對映到0 1範圍之內處理,更加便捷快速。2 把有量綱表示式變為無量綱表示式 歸一化是一種簡化計算的方式,即將有量綱的表示式,經過變換,化為無量綱的表示式,成為純量。好處 1 歸一化後加快了梯度下降求最優解的速度 2 歸一化有可能...

標準化和歸一化

歸一化 0 1 normalization min max normalization 把數變為 0,1 之間的小數,特徵資料範圍不同歸一化後方便統一處理 這種方法有乙個缺陷就是當有新資料加入時,可能導致max和min的變化,需要重新定義 z score 標準化 zero mean normaliz...