一. 将数据归一化到任意区间范围的方法:
X是当前数据区间,
[
X
m
i
n
,
X
m
a
x
]
\left[ X_{min},X_{max} \right]
[Xmin,Xmax]又可视为当前样本数据的最小值和最大值,
Y是要映射归一化到的区间,
[
Y
m
i
n
,
Y
m
a
x
]
\left[ Y_{min},Y_{max} \right]
[Ymin,Ymax],
x是现有的样本数据中需要归一化的任一值,
y是x对应归一化后映射的区间中的值,
公式:
y
=
Y
m
i
n
+
Y
m
a
x
−
Y
m
i
n
X
m
a
x
−
X
m
i
n
∗
(
x
−
X
m
i
n
)
y = Y_{min}+\frac{Y_{max}-Y_{min}}{X_{max}-X_{min}}*(x-X_{min})
y=Ymin+Xmax−XminYmax−Ymin∗(x−Xmin)
原文链接:https://blog.csdn.net/willduan1/article/details/80448493
二. 映射到
[
0
,
1
]
\left[ 0,1 \right]
[0,1]区间的方法:
原文链接:https://blog.csdn.net/Poo_Chai/article/details/83542887
-
Min_Max Normalization(离差标准化)
使结果落到 [ 0 , 1 ] \left[ 0,1 \right] [0,1]区间,x是当前要归一化的值, x n o r m x_{norm} xnorm则是x对应在 [ 0 , 1 ] \left[ 0,1 \right] [0,1]区间的值, X m a x , X m i n X_{max},X_{min} Xmax,Xmin分别是当前样本的最大值和最小值。
公式:
x n o r m = x − X m i n X m a x − X m i n x_{norm}=\frac{x-X_{min}}{X_{max}-X_{min}} xnorm=Xmax−Xminx−Xmin -
z-score标准化(zero-mean normalization)
又称为标准差标准化,经过处理的数据符合标准正态分布,即均值为0,标准差为1, μ \mu μ是所有样本数据的均值, σ \sigma σ是所有样本的标准差,是SPSS中最为常用的标准化方法。
公式:
x n o r m = x − μ σ x_{norm}= \frac{x-\mu}{\sigma} xnorm=σx−μ
下面两种基本上都要求样本数据大于等于0或1
3. Log 函数转换
通常以10为底的log函数转换方法同样可以实现归一化,注意所有的数据必须大于1,
log
10
\log_{10}
log10通常可以记作
lg
\lg
lg,
X
m
a
x
X_{max}
Xmax表示样本的最大值。
公式:
x
n
o
r
m
=
lg
(
x
)
lg
(
X
m
a
x
)
x_{norm}= \frac{\lg(x)}{\lg(X_{max})}
xnorm=lg(Xmax)lg(x)
- atan函数转换
用反正切函数实现数据的归一化
注意,如果样本数据中的数据小于0,则这些数据会被映射到 [ − 1 , 0 ] \left[ -1,0 \right] [−1,0]区间上,如果想样本数据归一化到 [ 0 , 1 ] \left[ 0,1 \right] [0,1]区间,则样本数据需要全部都大于等于0.
公式:
x n o r m = a t a n ( x ) ∗ 2 π x_{norm}=atan(x)* \frac{2}{\pi} xnorm=atan(x)∗π2