sklearn的資料預處理

2021-08-14 21:55:41 字數 2001 閱讀 6388

sklearn是乙個比較常用的機器學習庫,其中的sklearn.preprocessing包含了常用的預處理函式,一般在kaggle等資料競賽**拿到資料的時候,首先要觀察資料特徵,分布等資訊,然後進行資料預處理。資料預處理有利於計算機進行計算。

原始資料存在的問題

: 1. 存在缺失值 

2. 存在異常點及雜訊 

3. 各個特徵的取值範圍比例不一 

4. 資料表現形式不一 

5. 維度過高,部分特徵間線性相關

z-score標準化就是將資料變化為服從均值為0,方差為1的正太分布,對於不知道資料最大最小值的時候適用,但是會改變資料的分布。

#第一種方法

x_scale_1 = preprocessing.scale(x)

'''[[ 1.22474487 0.26726124 1.22474487]

[ 0. -1.33630621 0. ]

[-1.22474487 1.06904497 -1.22474487]]

'''#第二種方法

scaler = preprocessing.standardscaler()

x_scale_2 = scaler.fit_transform(x)

'''[[ 1.22474487 0.26726124 1.22474487]

[ 0. -1.33630621 0. ]

[-1.22474487 1.06904497 -1.22474487]]

'''standardscaler(copy=true, with_mean=true, with_std=true)

with_mean=false #不減去均值

with_std=false #不除以標準差

minmax標準化適用於知道最大值和最小值的資料,標準化後的資料將會落在[0

,1] 區間內,如果有異常值則會將資料分布不均勻,向異常值的另一側堆積。

'''maxabs標準化根據最大值的絕對值進行標準化,標準化後的資料將會落在

[-1, 1]

scaler = preprocessing.maxabsscaler()

x_scaled = scaler.fit_transform(x)

'''before

[[ 1. 0. 2.]

[ 0. -2. 1.]

[-1. 1. 0.]]

after

[[ 1. 0. 1. ]

[ 0. -1. 0.5]

[-1. 0.5 0. ]]

'''

sklearn 資料預處理

公式為 x mean std 計算時對每個屬性 每列分別進行。將資料按期屬性 按列進行 減去其均值,並處以其方差。得到的結果是,對於每個屬性 每列來說所有資料都聚集在0附近,方差為1。實現時,有兩種不同的方式 該語言能直接將給定的資料進行。from sklearn import preprocess...

sklearn中的資料預處理

在sklearn中有這麼幾個常用的預處理方法。另外為了將資料預處理的各個階段連線起來還可以使用pipeline。類功能 說明standardscaler 無量綱化 標準化,基於特徵矩陣的列,將特徵值轉換至服從標準正態分佈 minmaxscaler 無量綱化 區間縮放,基於最大最小值,將特徵值轉換到 ...

sklearn中常用資料預處理方法

normalize x,norm l2 axis 1,copy true,return norm false scale input vectors individually to unit norm vector length 範化是將不同變化範圍的值對映到相同的固定範圍,常見的是 0,1 此時也...