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

2021-09-24 13:01:46 字數 2710 閱讀 5270

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分別為轉換前 後...