归一化
概述
归一化,好像是把数据缩放到某个范围内,比如0到1或者标准化处理。而分桶可能是指把连续的数值分成不同的区间,比如年龄段分成0-18,19-30这样的区间
消除特征间的量纲差异,使不同特征具有可比性,适用于依赖距离或梯度的模型(如SVM、神经网络、KNN)
最大最小归一化(Min-Max Scaling)
将数据线性映射到 [0, 1]
计算公式:
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
示例:命令数据 [20, 30, 40]
计算过程: 30变成(30-20)/(40-20)=0.5
归一化后: [0, 0.5, 1]
Z-Score标准化(Standardization)
Z-Score标准化通过以下公式将原始数据转换为标准化后的值
x s t d = x − υ σ x_{std}=\frac{x - \upsilon}{\sigma} xstd=σx−υ
- υ \upsilon υ : 特征的均值(Mean)
- σ \sigma σ : 特征的标准差(Standard Deviation)
标准化后的数据满足
- 均值为0 ( υ s t d \upsilon_{std} υstd = 0)
- 标准差为1 ( σ s t d \sigma_{std} σstd = 1)
Z-Score标准化的步骤
假设有一个特征的数据集 X = { x 1 , x 2 , x 3 , . . , x n x_{1}, x_{2}, x_{3}, .., x_{n} x1,x2,x3,..,xn}
- 均值: υ \upsilon υ = 1 n ∑ n = 1 n \frac{1}{n} \sum_{n=1}^{n} n1∑n=1n
- 标准差: σ \sigma σ = 1 n ∑ n = 1 n ( x i − υ ) 2 \sqrt[]{\frac{1}{n} \sum_{n=1}^{n} (x_{i} - \upsilon) ^ {2}} n1∑n=1n(xi−υ)2
标准化转换
- 对每个样本 x i x_{i} xi 进行标准化: x i , s t d = x i − υ σ x_{i,std}=\frac{x_{i} - \upsilon}{\sigma} xi,std=σxi−υ
例子:
假设有以下年龄数据(单位:岁): X = [20,25,30,35,40]
步骤1:计算均值和标准差
- 均值 υ \upsilon υ = 20 + 25 + 30 + 35 + 40 4 \frac{20+25+30+35+40}{4} 420+25+30+35+40 = 30
- 标准差
σ
\sigma
σ =
(
20
−
30
)
2
+
(
25
−
30
)
2
+
.
.
.
+
(
40
−
30
)
2
5
\sqrt[]{\frac{(20-30)^2 + (25-30)^ 2 + ... + (40-30) ^ 2}{5}}
5(20−30)2+(25−30)2+...+(40−30)2 约等于
7.91
步骤2:标准化
- x s t d ( 20 ) x_{std}(20) xstd(20) = 20 − 30 7.91 \frac{20-30}{7.91} 7.9120−30 约等于 -1.26
- x s t d ( 25 ) x_{std}(25) xstd(25) = 25 − 30 7.91 \frac{25-30}{7.91} 7.9125−30 约等于 −0.63
- x s t d ( 30 ) x_{std}(30) xstd(30) = 30 − 30 7.91 \frac{30-30}{7.91} 7.9130−30 约等于 0
- x s t d ( 35 ) x_{std}(35) xstd(35) = 35 − 30 7.91 \frac{35-30}{7.91} 7.9135−30 约等于 0.63
- x s t d ( 40 ) x_{std}(40) xstd(40) = 40 − 30 7.91 \frac{40-30}{7.91} 7.9140−30 约等于 1.26
标准化后的结果:
X
s
t
d
X_{std}
Xstd = [−1.26,−0.63,0,0.63,1.26]
分桶
概述
将连续数值离散化为区间(桶),捕捉非线性关系或减少噪声影响,常用于树模型或逻辑回归
分桶策略
等宽分桶:按固定宽度划分区间
收入: 5k,50k
分为: 5k−20k,20k−35k,35k−50k
按样本频率划分,保证每个桶样本数均衡
100个样本分3桶,每桶约33个样本
基于业务知识分桶
如年龄分为: 0−18(少年),19−35(青年),36−60(中年),60+(老年)
示例:
- 原始年龄数据: 15,25,35,45,55,65
- 分桶规则: 0−30(青年),31−50(中年),51+(老年)
- 分桶结果: 青年,青年,中年,中年,老年,老年
应用场景对比
方法 | 适用模型 | 优点 | 缺点 |
---|---|---|---|
归一化 | SVM、KNN、神经网络 | 消除量纲差异,加速模型收敛 | 对异常值敏感 |
分桶 | 决策树、逻辑回归、线性模型 | 捕捉非线性,减少噪声影响 | 可能丢失细粒度信息 |