資料標準化(歸一化)處理是資料探勘的一項基礎工作,不同評價指標往往具有不同的量綱和量綱單位,這樣的情況會影響到資料分析的結果,為了消除指標之間的量綱影響,需要進行資料標準化處理,以解決資料指標之間的可比性。原始資料經過資料標準化處理後,各指標處於同一數量級,適合進行綜合對比評價。以下是三種常用的歸一化方法:
min-max標準化(min-max normalization)
也稱為離差標準化,是對原始資料的線性變換,使結果值對映到[0 , 1]之間。轉換函式如下:
其中max為樣本資料的最大值,min為樣本資料的最小值。這種方法有個缺陷就是當有新資料加入時,可能導致max和min的變化,需要重新定義。
min-max標準化python**如下:
import numpy as np
arr = np.asarray([0, 10, 50, 80, 100])
for x in arr:
x =程式設計客棧 float(x - np.min(arr))/(np.max(arr)- np.min(arr))
print x
# output
# 0.0
# 0.1
# 0.5
# 程式設計客棧0.8
# 1.0
www.cppcns.com
使用這種方法的目的包括:
1、對於方差非常小的屬性可以增強其穩定性;
2、維持稀疏矩陣中為0的條目。程式設計客棧
下面將資料縮至0-1之間,採用minmaxscaler函式
from sklearn import preprocessing
import numpy as np
x = np.array([[ 1., -1., 2.],
[ 2., 0., 0.],
[ 0., 1., -1.]])
min_max_scaler = preprocessing.minmaxscaler()
x_minmax = min_max_scaler.fit_transform(x)
最後輸出:
array([[ 0.5 , 0. , 1. ],
[ 1. , 0.5 , 0.33333333],
[ 0. , 1. , 0. ]])
測試用例:
注意:這些變換都是對列進行處理。
當然,在構造類物件的時候也可以直接指定最大最小值的範圍:feature_range=(min, max),此時應用的公式變為:
x_std=(x-x.min(axis=0))/(x.max(axis=0)-x.min(axis=0))
x_minmax=x_程式設計客棧std/(x.max(axis=0)-x.min(axis=0))+x.min(axis=0))
z-score標準化方法
也稱為均值歸一化(mean normaliztion), 給予原始資料的均值(mean)和標準差(standard deviation)進行資料的標準化。經過處理的資料符合標準正態分佈,即均值為0,標準差為1。轉化函式為:
其中 為所有樣本資料的均值,為所有樣本資料的標準差。
import numpy as np
arr = np.asarray([0, 10, 50, 80, 100])
for x in arr:
x = float(x - arr.mean())/arr.std()
print x
# output
# -1.24101045599
# -0.982466610991
# 0.0517087689995
# 0.827340303992
# 1.34442799399
本文標題: python資料歸一化及三種方法詳解
本文位址:
在MATLAB中的三種歸一化方法
歸一化的具體作用是歸納統一樣本的統計分布性。歸一化在0 1之間是統計的概率分布,歸一化在 1 1之間是統計的座標分布。歸一化有同 一 統一和合一的意思。無論是為了建模還是為了計算,首先基本度量單位要同一,神經網路是以樣本在事件中的統計分別機率來進行訓練 概率計算 和 的,且sigmoid函式的取值是...
資料歸一化 兩種常用的歸一化方法
資料歸一化 不同評價指標往往具有不同的量綱和量綱單位,這樣的情況會影響到資料分析的結果,為了消除指標之間的量綱影響,需要進行資料歸一化處理,以解決資料指標之間的可比性。原始資料經過資料歸一化處理後,各指標處於同一數量級,適合進行綜合對比評價。兩種常用的歸一化方法如下 一 min max標準化 min...
資料歸一化和兩種常用的歸一化方法
資料標準化 歸一化 處理是資料探勘的一項基礎工作,不同評價指標往往具有不同的量綱和量綱單位,這樣的情況會影響到資料分析的結果,為了消除指標之間的量綱影響,需要進行資料標準化處理,以解決資料指標之間的可比性。原始資料經過資料標準化處理後,各指標處於同一數量級,適合進行綜合對比評價。以下是兩種常用的歸一...