ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

特征工程之特征归一化

2021-02-07 16:33:23  阅读:185  来源: 互联网

标签:工程 scaler 特征 归一化 Xmin 1.22474487 原始数据 norm


参考资料

  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​=Xmax​−Xmin​X−Xmin​​

其中 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]]

标签:工程,scaler,特征,归一化,Xmin,1.22474487,原始数据,norm
来源: https://blog.csdn.net/beilizhang/article/details/113743147

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有