您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關使用python怎么實現數據歸一化,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
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
使用這種方法的目的包括:
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常用的庫:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。
上述就是小編為大家分享的使用python怎么實現數據歸一化了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。