数据归一化、标准化

0.前言
理解量钢化:https://zhuanlan.zhihu.com/p/225387114
量钢化方法:

数据归一化、标准化
图片来源:https://zhuanlan.zhihu.com/p/225387114

数据归一化和标准化都属于数据特征无量纲的一种方式。

1.数据归一化Normalization 和 Min-Max Scaling
归一化的目的是让数据压缩在【0,1】范围内,包括两个边界数字0和数字1;其计算公式为:

数据归一化、标准化
pandas实现方法:代码来源
import pandas as pd
import numpy as np

np.random.seed(0)

df = pd.DataFrame(np.random.randint(-100,100,size=(20, 4)), columns=list('ABCD'))

def minmax_norm(df_input):
    return (df - df.min()) / ( df.max() - df.min())

df_minmax_norm = minmax_norm(df)

print(df_minmax_norm)

2.数据标准化
标准化是一种最为常见的量纲化处理方式。其计算公式为:

数据归一化、标准化
pandas实现方法:代码来源
import pandas as pd
import numpy as np

np.random.seed(0)

df = pd.DataFrame(np.random.randint(-100,100,size=(20, 4)), columns=list('ABCD'))

def mean_norm(df_input):
    return df_input.apply(lambda x: (x-x.mean())/ x.std(), axis=0)

df_mean_norm = mean_norm(df)
print(df_mean_norm)

3.数据最大化MaxS
最大值化,其目的是让最大值作为参照标准,所有的数据全部除以最大值;其计算公式为X / Max,即以最大值作为单位,全部数据全部去除以最大值。需要特别说明一点是,此种处理方式时一般都是要求数据全部大于0,否则可能就不适合用此种量纲方式。

pandas实现方法:

path = r'./file/'

def max_norm(data):
    return data.apply(lambda x: (x)/ x.max(), axis = 1)

for i in os.listdir(path):
    df = pd.read_excel(os.path.join(path,i))
    df_MaxS = max_norm(df)
    save_path = r'./file1/'
    df_MaxS.to_excel(os.path.join(save_path,i),header = None,index = False)
print('done!')

参考资料:
数据处理中的标准化、归一化:https://zhuanlan.zhihu.com/p/351243330
12种数据量纲化处理方式:https://zhuanlan.zhihu.com/p/225387114
在 Pandas DataFrame 中如何归一化某列

Original: https://blog.csdn.net/qq_32649321/article/details/123339124
Author: RS&Hydrology
Title: 数据归一化、标准化

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

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

(0)

大家都在看

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