sklearn資料預處理 歸一化

2021-10-04 17:37:40 字數 2117 閱讀 6958

將資料歸一化到[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分別為轉換前 後...