Sklearn 資料歸一化處理

2021-10-02 04:33:52 字數 2208 閱讀 3286

中心化的本質是讓所有記錄減去乙個固定值,即讓資料樣本資料平移到 某個位置。縮放的本質是通過除以乙個固定值,將資料固定在某個範圍之中,取對數也算是一種縮放處理。

minmaxscaler有乙個重要引數,feature_range,控制我們希望把資料壓縮到的範圍,預設是[0,1]。

pd.dataframe(data):將numpy陣列展示為**形式

from sklearn.preprocessing import minmaxscaler

data =[[

-1,2

],[-

0.5,6]

,[0,

10],[

1,18]

]import pandas as pd

print

(pd.dataframe(data)

)print()

# 分布歸一化

scaler = minmaxscaler(

)scaler = scaler.fit(data)

# 本質生成 max(x) 和 min(x)

result = scaler.transform(data)

print

(pd.dataframe(result)

)print()

# 一步歸一化

result2 = scaler.fit_transform(data)

print

(pd.dataframe(result2)

)print()

# 歸一化到 5-10 之間

data2 =[[

-1,2

],[-

0.5,6]

,[0,

10],[

1,18]

]scaler2 = minmaxscaler(feature_range=[5

,10])

result3 = scaler2.fit_transform(data2)

print

(pd.dataframe(result3)

)print

()

執行結果:

010

-1.021

-0.562

0.010

31.0180

100.00

0.00

10.25

0.25

20.50

0.50

31.00

1.0001

00.00

0.00

10.25

0.25

20.50

0.50

31.00

1.0001

05.00

5.00

16.25

6.25

27.50

7.50

310.00

10.00

import numpy as np

x = np.array([[

-1,2

],[-

0.5,6]

,[0,

10],[

1,18]

])# 資料歸一化的標準公式

x_nor =

(x - x.

min(axis=0)

)/(x.max

(axis=0)

- x.

min(axis=-0

))print

(x_nor)

print()

#逆轉歸一化

x_returned = x_nor *

(x.max

(axis=0)

- x.

min(axis=0)

)+ x.

min(axis=0)

print

(x_returned)

執行結果:

[[0

.0.]

[0.25

0.25][

0.50.5][

1.1.

]][[

-1.2

.][-

0.56.]

[0.10

.][1

.18.]

]

歸一化處理資料 python

源自 machine learning in action 1.原因 例如在用 knn 演算法處理資料時,比如有兩個特徵,乙個特徵的取值範圍為0 1,另乙個取值範圍為1w 以上,那麼用歐式距離計算的話第乙個特徵的影響幾乎就會微不足道,為了解決這個問題,在處理資料的時候對資料進行歸一化處理。2.def...

資料的歸一化處理

資料的標準化 資料的標準化 normalization 是將資料按比例縮放,使之落入乙個小的特定區間。在某些比較和評價的指標處理中經常會用到,去除資料的單位限制,將其轉化為無量綱的純數值,便於不同單位或量級的指標能夠進行比較和加權。目前資料標準化方法 直線型方法 如極值法 標準差法 折線型方法 如三...

資料歸一化處理 特徵歸一化

1 定義 資料的歸一化處理,即將資料統一對映到 0,1 區間上。2 方法 1 最大最小標準化 min max normalization 本歸一化方法又稱為離差標準化,使結果值對映到 0 1 之間,轉換函式如下 應用場景 在不涉及距離度量 協方差計算 資料不符合正太分布的時候,可以使用第一種方法或其...