1、把數變為(0,1)之間的小數,主要是為了資料處理方便提出來的,把資料對映到0~1範圍之內處理,更加便捷快速。
2、把有量綱表示式變為無量綱表示式
歸一化是一種簡化計算的方式,即將有量綱的表示式,經過變換,化為無量綱的表示式,成為純量。
歸一化演算法有:
1.線性轉換:
y=(x-minvalue)/(maxvalue-minvalue)
2.對數函式轉換:
y=log10(x)
3.反餘切函式轉換:
y=atan(x)*2/pi
歸一化程式設計實現:
import numpy as np
from sklearn.preprocessing import minmaxscaler #preprocessing:資料預處理模組
a = np.array([[13,62,9],[-3,6,18],[100,51,29]])# create a 3*3 matrix
model = minmaxscaler()#minmaxscale(copy = true,feature_range = (0,1))
train_a = model.fit_transform(a)
print(a)
array([[0.15533981, 1. , 0. ],
[0. , 0. , 0.45 ],
[1. , 0.80357143, 1. ]])
資料的標準化是將資料按比例縮放,使之落入乙個小的特定區間。由於信用指標體系的各個指標度量單位是不同的,為了能夠將指標參與評價計算,需要對指標進行規範化處理,通過函式變換將其數值對映到某個數值區間。
z-score標準化,我們在衡量資料的分布時,通過對資料進行標準化,將資料轉換為均值0,標準差為1的分布。
z-score = (x-mean(x))/std
標準化的程式設計實現:
#scale()方法
import numpy as np
from sklearn.preprocessing import scale
a = np.array([[13,62,9],[-3,6,18],[100,51,29]])
train_a = scale(a)
print(train_a)
array([[-0.52293602, 0.92188257, -1.18195176],
[-0.87647023, -1.38970358, -0.08151391],
[ 1.39940625, 0.46782101, 1.26346568]])
#standardscaler()方法
import numpy as np
from sklearn.preprocessing import standardscaler
a = np.array([[13,62,9],[-3,6,18],[100,51,29]])
model = standardscaler()#standardscaler(copy=true, with_mean=true, with_std=true)
print(model.fit_transform(a))
array([[-0.52293602, 0.92188257, -1.18195176],
[-0.87647023, -1.38970358, -0.08151391],
[ 1.39940625, 0.46782101, 1.26346568]])
從上面的結果中可以看出,scale()和standardscaler()方法的執行結果是相同的,所以在對資料進行標準化處理的時候,任選一種就行。 sklearn資料預處理 歸一化 標準化
1 把數變為 0,1 之間的小數 主要是為了資料處理方便提出來的,把資料對映到0 1範圍之內處理,更加便捷快速。2 把有量綱表示式變為無量綱表示式 歸一化是一種簡化計算的方式,即將有量綱的表示式,經過變換,化為無量綱的表示式,成為純量。歸一化演算法有 1.線性轉換 y x minvalue maxv...
資料預處理 歸一化 標準化詳解
一般而言,樣本的原始特徵中的每一維特徵由於 以及度量單位不同,其特徵取值的分布範圍往往差異很大,比如身高 體重 血壓等它們的度量和分布範圍往往是不一樣的。當我們計算不同樣本之間的歐氏距離時,取值範圍大的特徵會起到主導作用。這樣,對於基於相似度比較的機器學習方法 比如最近鄰分類器 必須先對樣本進行預處...
資料預處理 歸一化與z score標準化
歸一化 歸一化是一種簡化計算的方式,即將有量綱 的表示式,經過變換,化為 無量綱的表示式,成為 標量。在多種 計算中都經常用到這種方法。線性函式轉換 y x minvalue maxvalue minvalue 說明 x y分別為轉換前 後的值,maxvalue minvalue分別為樣本的最大值和...