數據挖掘之數據規范化


  數據規范化處理是數據挖掘的一項基本操作。現實中,數據中不同特征的量綱可能不一致,數值間的差別可能很大,不進行處理可能會影響到數據分析的結果,因此,需要對數據按照一定比例進行縮放,使之落在一個特定的區域,便於進行綜合分析。特別是基於距離的挖掘方法,在建模前一定要對數據進行規范化處理,如SVM,KNN,K-means,聚類等方法

 

數據規范化處理處理主要有以下三種

1,最小-最大規范化

  最小-最大規范化是對原始數據的線性變換,將數值值映射到[0,1]之間。

              

2,z-score

   z-score規范化也成標准差規范化,經過處理的數據均值為0,方差為1。是目前最為常用的規范化方法。

                   

式中`x為對應特征均值 ,σ為標准差 

 

3,小數定標規范化

   通過移動屬性值的小數點,將屬性值映射到[-1,1]之間,移動的小數點位數取決於屬性值絕對值的最大值。

                          

python實現:

import pandas as pd import numpy as np # load raw_data
 feture_matrix= .... #max-min normalization
 X=(feture_matrix - feture_matrix.min())/(feture_matrix.max()-feture_matrix.min()) # z-score
 X= (feture_matrix - feture_matrix.mean()) / feture_matrix.std() # normalization by decimal scaling
 ferture_matrix/10**np.ceil(np.log10(data.abs().max()))

 


免責聲明!

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



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