数据标准化之最大最小归一化(原理+Pyhon代码)

一、原理介绍

通常情况下,在建模之前,都需要对数据进行标准化处理,以消除量纲的影响。如果对未标准化的数据直接进行建模,可能会导致模型对数值大的变量学习过多,而对数值小的变量训练不够充分,往往模型效果会不好。常用的数据标准化方法有最大最小归一化、均值方差标准化、小数定标法、定量特征二值化等。

最大最小归一化,顾名思义,就是利用数据列中的最大值和最小值进行标准化处理,标准化后的数值处于[0,1]之间,计算方式为数据与该列的最小值作差,再除以极差。
具体公式为:x ′ = x − m i n m a x − m i n x’=\frac{x-min}{max-min}x ′=m a x −m i n x −m i n ​
公式中,x’表示单个数据的取值,min是数据所在列的最小值,max是数据所在列的最大值。

最大最小归一化容易受极端值的影响,当某列数据中存在极端值时,可以根据实际的业务场景,考虑事先将极端值或异常值剔除,或者是对标准化后的数据进行变换,如取对数等,使得变换后的数据接近于正态分布。

二、代码实现


from sklearn.preprocessing import StandardScaler
import warnings
warnings.filterwarnings("ignore")
from pyforest import *
import pandas as pd
import numpy as np

data=pd.read_csv("F:/data/data.csv",encoding='gbk')

data.head()

(1)资产负债率(2)剔除预收款项后的资产负债率(3)长期资本负债率(4)长期资产适合率(5)权益乘数00.6557990.6067080.6138650.4949600.79197110.7520610.7054980.8416391.0000000.93299020.9573910.9415430.0000000.4934650.98863030.8070460.7807090.9846960.5306370.95808640.8052350.7960710.8614800.5412990.957462

from sklearn.preprocessing import MinMaxScaler

Standard_data=MinMaxScaler().fit_transform(data)

Standard_data

array([[0.65608912, 0.60990114, 0.61386483, 0.49495976, 0.79739631],
[0.75239351, 0.70921165, 0.84163884, 1. , 0.93938095],
[0.95781436, 0.9464991 , 0. , 0.49346475, 0.99540256],
…,
[0.73319974, 0.65164941, 0.51791243, 0.50922178, 0.92607276],
[0.66202637, 0.56413243, 0.75722411, 0.49343682, 0.81677841],
[0.88919966, 0.85747254, 0. , 0.49297322, 0.98517934]])


Standard_data = pd.DataFrame(Standard_data)

Standard_data.to_csv("F:/data/Standard_data.csv",index=False)

Original: https://blog.csdn.net/weixin_45481473/article/details/113797850
Author: data learning
Title: 数据标准化之最大最小归一化(原理+Pyhon代码)

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

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

(0)

大家都在看

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