機器學習 資料特徵預處理歸一化和標準化

2021-09-08 21:29:05 字數 2565 閱讀 1440

通過特定的統計方法(數學方法)將資料轉換成演算法要求的資料

數值型資料:

-標準縮放

- 歸一化

- 標準化

- 缺失值

類別行資料:

- one-hot編碼

時間型資料:

- 時間的切分

將原始資料對映到乙個區間[0,1]

特徵同等重要:歸一化處理

目的:使得某乙個特徵對最終結果不對造成更大的影響

缺點:對於異常點處理不好,容易影響最大值最小值,魯棒性較差(穩定性),只適合精確小資料場景

計算公式

x 1=

x−mi

nmax

−min

x_1 = \frac

x1​=ma

x−mi

nx−m

in​

x 2=

x1∗(

mx−m

i)+m

ix_2 = x_1 * (mx - mi) + mi

x2​=x1

​∗(m

x−mi

)+mi

min為列最小值

max為列最大值

x2 為最終結果

mx ,mi 為指定區間預設[0, 1]

# -*- coding: utf-8 -*-

from sklearn.preprocessing import minmaxscaler

# 歸一化處理,將資料對映到指定區間

data =[[

90,2,

10,40]

,[60,

4,15,

45],[

75,3,

13,46]

]min_max = minmaxscaler(feature_range=(0

,1))

result = min_max.fit_transform(data)

print

(result)

"""[

[1. 0. 0. 0. ]

[0. 1. 1. 0.83333333]

[0.5 0.5 0.6 1. ]

]計算示例,第一列

90x1 = (x−min)/(max-min) = (90 - 60)/(90 - 60) = 1

x2 = x1 * (mx - mi)+ mi = 1 * (1 - 0) + 0 = 1

60x1 = (x−min)/(max-min) = (60 - 60)/(90 - 60) = 0

x2 = x1 * (mx - mi)+ mi = 0 * (1 - 0) + 0 = 0

75x1 = (x−min)/(max-min) = (75 - 60)/(90 - 60) = 0.5

x2 = x1 * (mx - mi)+ mi = 0.5 * (1 - 0) + 0 = 0.5

"""

將原始資料變換到均值為0,標準差為1的範圍內

平均值方差 考量資料穩定性

方差 = 0 所有值都一樣

標準差異常點:由於具有一定資料量,少量的異常點對於平均值的影響並不大,從而方差改變較小

標準差適用場景:

樣本足夠多且比較穩定,嘈雜大資料

計算公式

s 2=

∑i=1

n(xi

−mea

n)2n

s^2 = \frac^n( x_i - mean)^2}

s2=n∑i

=1n​

(xi​

−mea

n)2​x1

=x−m

eans

x1 = \frac

x1=sx−

mean

​mean 是列資料平均值

s 是標準差

s

2s^2

s2方差n 樣本數

from sklearn.preprocessing import standardscaler

# 標準化處理,將資料對映到均值為0,標準差為1

data =[[

1.0,

-1.0

,3.0],

[2.0

,4.0

,2.0],

[4.0

,6.0,-

1.0]

]std = standardscaler(

)result = std.fit_transform(data)

print

(result)

"""[

[-1.06904497 -1.35873244 0.98058068]

[-0.26726124 0.33968311 0.39223227]

[ 1.33630621 1.01904933 -1.37281295]

]"""

資料預處理 特徵歸一化

對資料進行特徵歸一化 normalization 處理,可以使得資料的各個特徵處於同一數值量級,而不會導致模型學習出來的結果傾向於數值差別比較大的那些特徵。線性函式歸一化 min max scaling 對原始資料進行線性變換,是結果對映到 0,1 範圍,實現對原始資料的等比縮放。歸一化公式為 x ...

機器學習中的資料預處理 資料歸一化

資料歸一化處理就是將所有資料都對映到同一尺度最值歸一化 normalization 把所有資料對映到0 1之間。使用這種標準化方法的原因是,有時資料集的標準差非常非常小,有時資料中有很多很多零 稀疏資料 需要儲存住 元素。xsc ale x xm inxm ax x mi nx frac x xsc...

資料預處理 歸一化

歸一化是一種資料預處理方法,就是要把你需要處理的資料經過處理後 通過某種演算法 限制在你需要的一定範圍內,為了後面資料處理的方便,其次是保正程式執行時 收斂加快 歸一化的三種方法 1 線性函式轉換 表示式如下 y x minvalue maxvalue minvalue 說明 x y分別為轉換前 後...