一,歸一化
處理不同特徵之間資料相差不是太大的問題。
特徵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]])
(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]])
(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]])
(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...