sklearn資料預處理 歸一化 標準化

2021-09-26 01:49:58 字數 1652 閱讀 5553

1、把數變為(0,1)之間的小數

主要是為了資料處理方便提出來的,把資料對映到0~1範圍之內處理,更加便捷快速。

2、把有量綱表示式變為無量綱表示式

歸一化是一種簡化計算的方式,即將有量綱的表示式,經過變換,化為無量綱的表示式,成為純量。

歸一化演算法有:

1.線性轉換

y=(x-minvalue)/(maxvalue-minvalue)

2.對數函式轉換:

y=log10(x)

3.反餘切函式轉換

y=atan(x)*2/pi

4.線性也與對數函式結合

式(1)將輸入值換算為[-1,1]區間的值,

在輸出層用式(2)換算回初始值,其中和分別表示訓練樣本集中負荷的最大值和最小值。

資料的標準化是將資料按比例縮放,使之落入乙個小的特定區間。由於信用指標體系的各個指標度量單位是不同的,為了能夠將指標參與評價計算,需要對指標進行規範化處理,通過函式變換將其數值對映到某個數值區間。

標準化演算法有:

1.z-score標準化(或零-均值標準化)(常用)

y=(x-x的平均值)/x的標準差=(x-mean)/std 

優點:當x的最大值和最小值未知,或孤立點左右了最大-最小規範化時,該方法有用

2.最小-最大規範化(線性變換)

y=( (x-minvalue) / (maxvalue-minvalue) )(new_maxvalue-new_minvalue)+new_minvalue

3.小數定標規範化:通過移動x的小數字置來進行規範化

y= x/10的j次方  (其中,j使得max(|y|) <1的最小整數

4.對數logistic模式:

新資料=1/(1+e^(-原資料))

5.模糊量化模式:

新資料=1/2+1/2sin[派3.1415/(極大值-極小值)*(x-(極大值-極小值)/2) ]       x為原資料

用sklearn實現:

1.z-score:

公式為:(x-mean)/std  計算時對每個屬性/每列分別進行。

將資料按期屬性(按列進行)減去其均值,並處以其方差。得到的結果是,對於每個屬性/每列來說所有資料都聚集在0附近,方差為1。

實現時,有兩種不同的方式:

import numpy as np

from sklearn.preprocessing import scale

x = np.array([[ 1., -1., 2.],

[ 2., 0., 0.],

[ 0., 1., -1.]])

x_scaled = scale(x)

print x_scaled

#[[ 0. -1.22474487 1.33630621]

# [ 1.22474487 0. -0.26726124]

# [-1.22474487 1.22474487 -1.06904497]]

print x_scaled.mean(axis = 0)

#[ 0. 0. 0.]

print x_scaled.std(axis = 0)

#[ 1. 1. 1.]

sklearn資料預處理 歸一化

將資料歸一化到 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....

sklearn資料預處理 歸一化 標準化 正則化

1 把資料程式設計 0,1 之間的小數 主要是為了資料處理方便提出來的,把資料對映到0 1範圍內處理,更加便捷快速 2 把有量綱表示式變為無量綱表示式 歸一化是一種簡化計算方式,即將有量綱的表示式,經過變換,化為無量綱的表示式,成為純量 資料的標準化是將資料按照比例縮放,使之落入乙個小的特定區間。由...

資料預處理 歸一化

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