Python numpy 歸一化和標准化


一、概念

  •   歸一化:1)把數據變成(0,1)或者(1,1)之間的小數。主要是為了數據處理方便提出來的,把數據映射到0~1范圍之內處理,更加便捷快速。2)把有量綱表達式變成無量綱表達式,便於不同單位或量級的指標能夠進行比較和加權。歸一化是一種簡化計算的方式,即將有量綱的表達式,經過變換,化為無量綱的表達式,成為純量。
  •   標准化:在機器學習中,我們可能要處理不同種類的資料,例如,音訊和圖片上的像素值,這些資料可能是高維度的,資料標准化后會使每個特征中的數值平均變為0(將每個特征的值都減掉原始資料中該特征的平均)、標准差變為1,這個方法被廣泛的使用在許多機器學習算法中(例如:支持向量機、邏輯回歸和類神經網絡)。

 

二、為什么要歸一化/標准化?

歸一化/標准化實質是一種線性變換,線性變換有很多良好的性質,這些性質決定了對數據改變后不會造成“失效”,反而能提高數據的表現,這些性質是歸一化/標准化的前提。比如有一個很重要的性質:線性變換不會改變原始數據的數值排序

 

三、python實現

# 歸一化
def normalization(data):
    _range = np.max(data) - np.min(data)
    return (data - np.min(data)) / _range
 

# 標准化
def standardization(data):
    mu = np.mean(data, axis=0)
    sigma = np.std(data, axis=0)
    return (data - mu) / sigma

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM