常见的归一化方式介绍与实现

数据归一化(数据标准化)

概念:数据标准化(归一化)是处理数据挖掘的一项基本工作,不同的评价指标往往具有不同的量纲(举例:对于房价评价时,楼房面积、房价、楼层等信息。举例2:对于个人患病率就有身高、体重等信息)和量纲单位(举例:面积单位:平方米、平方厘米等),会影响到数据分析的结果,为了消除指标之间的影响,需要进行标准化处理,解决数据之间的可比性。

经过标准化后,各个指标处于同一量级,适合进行综合对比讨论。

归一化的优点

1、归一化后加快梯度下降的速度

2、归一化有可能提高精度

方法一:min-max归一化(Min Max Normalization)

min-max归一化

别名:线性函数归一化、离差标准化

对原始数据进行线性变换,将结果映射到[0,1]之间。

公式如下

常见的归一化方式介绍与实现

其中X为原始数据,Xmin为最小值,Xmax为最大值。

缺陷:当有新数据加入时,可能导致Xminh

这里利用pandas对数据进行定义,随后利用pandas中的apply函数进行遍历

import pandas as pd
import numpy as np
test_data = pd.DataFrame([[1,1,1],[2,2,2],[3,3,3]])
print(test_data)
def MinMaxNormalization(test_data):
    return test_data.apply(lambda x:(x-np.min(x))/(np.max(x)-np.min(x)))
normalization_data = MinMaxNormalization(test_data)
print(normalization_data)

方法二:零均值归一化(Z-score Normalization)

将原始数据映射到均值为0,标准差为1的分布上。

原始特征的均值为

常见的归一化方式介绍与实现,标准差为常见的归一化方式介绍与实现,公式为

常见的归一化方式介绍与实现

注意:这种归一化要求原始数据近似高斯分布,否则归一化效果较差

import pandas as pd
import numpy as np
test_data = pd.DataFrame([[1,1,1],[2,2,2],[3,3,3]])
print(test_data)
def Z_ScoreNormalization(test_data):
    return test_data.apply(lambda x:(x-np.mean(x))/(np.std(x)))
print(Z_ScoreNormalization(test_data))

如果这里面的某一列标准差为0,会导致Nan。

特点:

1、在分类、聚类算法中,利用向量之间的距离来判断相似性、或者使用PCA进行降维时,零均值归一化表现较好。

2、在不涉及度量、协方差、数据不符合正态分布时,min-max效果较好,比如在图像处理中将RGB转换为灰度图像后将值限定在[0,255]

Original: https://blog.csdn.net/qq_28790663/article/details/122167370
Author: 桉夏与猫
Title: 常见的归一化方式介绍与实现

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/699062/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球