將資料歸一化到[0,1],計算公式如下:
x sc
aled
=x−x
.min
(axi
s=0)
)x.m
ax(a
xis=
0)−x
.min
(axi
s=0)
∗(ma
x−mi
n)+m
in
x_ = \frac*(max - min)+min
xscale
d=x
.max
(axi
s=0)
−x.m
in(a
xis=
0)x−
x.mi
n(ax
is=0
))∗
(max
−min
)+mi
n其中min,max = feature_range,為歸一化後資料的區間,預設是[0,1]。
minmaxscalar歸一化得到的資料會完全落入[0,1]區間內(z-score沒有類似區間),而且能使資料歸一化落到一定的區間內,同時保留原始資料的結構。
將資料歸一化到[-1,1],計算公式如下:
x sa
cled
=x∣x
∣.ma
x(ax
is=0
)x_ = \frac
xsacle
d=∣
x∣.m
ax(a
xis=
0)x
同minmaxscalar相同,maxabsscalar得到的資料會完全落入[-1, 1]區間內(z-score沒有類似區間),而且能使資料歸一化落到一定的區間內,同時保留原始資料的結構。
minmaxscalar和maxabsscalar的優點:
對於方差非常小的屬性可以增強其穩定性;
維持稀疏矩陣中為0的條目
將資料縮放到均值為0,方差為1,計算公式如下:
x sa
cled
=x−x
.mea
n(ax
is=0
)x.s
td(a
xis=
0)
x_ = \frac
xsacle
d=x
.std
(axi
s=0)
x−x.
mean
(axi
s=0)
standardscaler適合大多數的資料型別的資料,得到的資料是以0為均值,1為方差的正態分佈,但這種方法改變了原始資料的結構,因此不適宜用於對稀疏矩陣做資料預處理。
standardscaler也能夠接受 scipy.sparse 作為輸入,只要引數 with_mean=false 被準確傳入它的構造器。否則會出現 valueerror 的錯誤,因為預設的中心化會破壞稀疏性,並且經常會因為分配過多的記憶體而使執行崩潰。
計算公式如下:
x sc
aled
=x−x
.med
ian(
axis
=0)x
.qua
ntil
e(ma
x)−x
.qua
ntil
e(mi
n)
x_ = \frac
xscale
d=x
.qua
ntil
e(ma
x)−x
.qua
ntil
e(mi
n)x−
x.me
dian
(axi
s=0)
如果資料報含許多異常值,可以使用robustscaler或robust_scaler。
robustscaler將中位數當做資料的中心,移除中位數,然後根據分位數範圍(預設為iqr,0.75分位數和0.25分位數間距)
此變換是非線性的。通過累積密度函式投影原始值。可以通過設定引數將資料轉化為均勻分布或是高斯分布。
sklearn資料預處理 歸一化 標準化
1 把數變為 0,1 之間的小數 主要是為了資料處理方便提出來的,把資料對映到0 1範圍之內處理,更加便捷快速。2 把有量綱表示式變為無量綱表示式 歸一化是一種簡化計算的方式,即將有量綱的表示式,經過變換,化為無量綱的表示式,成為純量。歸一化演算法有 1.線性轉換 y x minvalue maxv...
sklearn資料預處理 歸一化 標準化 正則化
1 把資料程式設計 0,1 之間的小數 主要是為了資料處理方便提出來的,把資料對映到0 1範圍內處理,更加便捷快速 2 把有量綱表示式變為無量綱表示式 歸一化是一種簡化計算方式,即將有量綱的表示式,經過變換,化為無量綱的表示式,成為純量 資料的標準化是將資料按照比例縮放,使之落入乙個小的特定區間。由...
資料預處理 歸一化
歸一化是一種資料預處理方法,就是要把你需要處理的資料經過處理後 通過某種演算法 限制在你需要的一定範圍內,為了後面資料處理的方便,其次是保正程式執行時 收斂加快 歸一化的三種方法 1 線性函式轉換 表示式如下 y x minvalue maxvalue minvalue 說明 x y分別為轉換前 後...