特征工程之特征归一化

参考资料

  1. 《百面机器学习》
  2. https://blog.csdn.net/wei18791957243/article/details/91360356

为什么需要特征归一化

为了消除数据特征之间的量纲影响,使得不同指标之间具有可比性。在实际应用中,通过梯度下降法求解的模型通常是需要归一化的。但对于决策树模型并不适用。

线性函数归一化(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=XmaxXminXXmin

其中 X X X为原始数据, X m a x X_{max} Xmax X m i n X_{min} Xmin分别为数据的最大值和最小值。

代码示例
from sklearn.preprocessing import MinMaxScaler

scaler = MinMaxScaler()

X = [[90, 2, 10, 40],
    [60, 4, 15, 45],
    [75, 3, 13, 46]]

X_norm = scaler.fit_transform(X)

print(X_norm)
# [[1.         0.         0.         0.        ]
#  [0.         1.         1.         0.83333333]
#  [0.5        0.5        0.6        1.        ]]

零均值归一化(Z-Score Normalization)

又称标准化,即将原始数据映射到均值为0、标准差为1的分布上。具体地,设原始特征的均值为 μ \mu μ、标准差为 σ \sigma σ,公式为:

z = x − μ σ z=\frac{x-\mu }{\sigma } z=σxμ

代码示例
from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()

X = [[90, 2, 10, 40],
    [60, 4, 15, 45],
    [75, 3, 13, 46]]

X_norm = scaler.fit_transform(X)

print(X_norm)
# [[ 1.22474487 -1.22474487 -1.29777137 -1.3970014 ]
#  [-1.22474487  1.22474487  1.13554995  0.50800051]
#  [ 0.          0.          0.16222142  0.88900089]]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值