1、把資料程式設計(0,1)之間的小數
主要是為了資料處理方便提出來的,把資料對映到0-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
公式為:(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.mean(axis=1))
[ 0.03718711 0.31916121 -0.35634832]
import numpy as np
from sklearn.preprocessing import scale,standardscaler
x = np.array([[ 1., -1., 2.],
[ 2., 0., 0.],
[ 0., 1., -1.]])
scaler = standardscaler().fit(x)
print(scaler)
standardscaler(copy=true, with_mean=true, with_std=true)
print(scaler.transform(x))
[[ 0. -1.22474487 1.33630621]
[ 1.22474487 0. -0.26726124]
[-1.22474487 1.22474487 -1.06904497]]
將屬性縮放到乙個指定的最小和最大值(通過0-1)之間,這可以通過怕熱processing.minmaxscaler類實現
使用這種方法的目的包括:
1:對於方差非常小的屬性可以增強其穩定性
2:維持稀疏矩陣中為0的條目
import numpy as np
from sklearn.preprocessing import minmaxscaler
x_train = np.array([[ 1., -1., 2.],
[ 2., 0., 0.],
[ 0., 1., -1.]])
min_max_scaler = minmaxscaler()
print(min_max_scaler)
x_train_minmax = min_max_scaler.fit_transform(x_train)
print(x_train_minmax)
origin_data = min_max_scaler.inverse_transform(x_train_minmax)
print(origin_data)
#將相同的縮放應用到測試集資料中
x_test = np.array([-3., -1., 4.])
x_test_minmax = min_max_scaler.transform(x_test.reshape(1,-1))
print(x_test_minmax)
minmaxscaler(copy=true, feature_range=(0, 1))
[[0.5 0. 1. ]
[1. 0.5 0.33333333]
[0. 1. 0. ]]
[[ 1. -1. 2.]
[ 2. 0. 0.]
[ 0. 1. -1.]]
[[-1.5 0. 1.66666667]]
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 maxv...
資料預處理 歸一化
歸一化是一種資料預處理方法,就是要把你需要處理的資料經過處理後 通過某種演算法 限制在你需要的一定範圍內,為了後面資料處理的方便,其次是保正程式執行時 收斂加快 歸一化的三種方法 1 線性函式轉換 表示式如下 y x minvalue maxvalue minvalue 說明 x y分別為轉換前 後...