0


数据归一化常见算法

数据归一化的几种方法

1 Min-Max归一化

Min-Max归一化是一种线性的归一化方法。该方法将数据进行一次线性变换,将数据映射到[0,1]区间。Min-Max归一化不改变数据的分布。其缺点为,过度依赖最大最小数,且容易受到离群点、异常数据的影响。其公式为:

       x 
      
     
       ′ 
      
     
    
      = 
     
     
      
      
        x 
       
      
        − 
       
      
        M 
       
      
        i 
       
      
        n 
       
      
      
      
        M 
       
      
        a 
       
      
        x 
       
      
        − 
       
      
        M 
       
      
        i 
       
      
        n 
       
      
     
    
   
     x^\prime = \frac{ x - Min} {Max - Min} 
    
   
 x′=Max−Minx−Min​

其中

     x 
    
   
  
    x 
   
  
x是原始数据、 
 
  
   
   
     M 
    
   
     i 
    
   
     n 
    
   
  
    Min 
   
  
Min为数据的最小值、 
 
  
   
   
     M 
    
   
     a 
    
   
     x 
    
   
  
    Max 
   
  
Max为数据的最大值、 
 
  
   
    
    
      x 
     
    
      ′ 
     
    
   
  
    x^\prime 
   
  
x′是变换后的数据。

2 Z-Score归一化

Z-Score归一化将数据尽可能处理成符合正态分布的数据。该方法难以将数据映射到一个固定的区间上。Z-Score归一化的公式为:

       x 
      
     
       ′ 
      
     
    
      = 
     
     
      
      
        x 
       
      
        − 
       
       
       
         x 
        
       
         ‾ 
        
       
      
      
      
        S 
       
      
        t 
       
      
        d 
       
      
     
    
   
     x^\prime = \frac{ x - \overline{x}} {Std} 
    
   
 x′=Stdx−x​

其中

     x 
    
   
  
    x 
   
  
x为原始数据、 
 
  
   
    
    
      x 
     
    
      ‾ 
     
    
   
  
    \overline{x} 
   
  
x为数据的均值、 
 
  
   
   
     S 
    
   
     t 
    
   
     d 
    
   
  
    Std 
   
  
Std为数据的标准差

3 小数标定

通过直接除以一个整数,移动所有数据的小数点,进行数据归一化的方法,称之为小数标定归一化方法。该方法可将数据映射到[-1,1]区间。该方法的公式为:

       x 
      
     
       ′ 
      
     
    
      = 
     
     
     
       x 
      
      
      
        1 
       
       
       
         0 
        
       
         j 
        
       
      
     
    
   
     x^\prime = \frac{x} {10^j} 
    
   
 x′=10jx​

其中,

     j 
    
   
  
    j 
   
  
j为数据绝对值最大数据的位数。

4 Sigmoid

Sigmoid函数的表达式为:

      F 
     
    
      ( 
     
    
      x 
     
    
      ) 
     
    
      = 
     
     
     
       1 
      
      
      
        1 
       
      
        + 
       
       
       
         e 
        
        
        
          − 
         
        
          x 
         
        
       
      
     
    
   
     F(x) = \frac{1} {1+e^{-x}} 
    
   
 F(x)=1+e−x1​,其值域为[0,1].将所有数据经过Sigmoid映射以后,可以将数据映射到 
 
  
   
   
     [ 
    
   
     0 
    
   
     , 
    
   
     1 
    
   
     ] 
    
   
  
    [0,1] 
   
  
[0,1]区间。该函数图像如图所示:

在这里插入图片描述

5 RankGauss归一化

今天刚刚看到的,记录一下

defScaleRankgauss(x, epsilon=1e-6):'''rankgauss'''
    x = x.argsort().argsort()#排序
    x =(x/x.max()-0.5)*2#转换尺度到[-1,1]#调整极端值 把在[-1,1]区间之外的数值截断为-1或1
    x = np.clip(x,-1+epsilon,1-epsilon)
    x = erfinv(x)#函数映射return x

x = np.random.randint(0,100,1000)
plt.hist(x)
x_rankgauss = ScaleRankgauss(x)
plt.hist(x_rankgauss, bins=50)
标签: 人工智能 算法

本文转载自: https://blog.csdn.net/weixin_72826147/article/details/128653626
版权归原作者 Dasein817 所有, 如有侵权,请联系我们删除。

“数据归一化常见算法”的评论:

还没有评论