机器学习之特征工程(2)特征预处理

特征预处理

将特征数据转化为更加适合算法模型的特征数据的过程。

内容:

  • 归一化
  • 标准化

API sklearn.preprocessing

归一化

将数值映射到区间[0,1]

  • 缺点

    • 鲁棒性较差,容易受异常值的影响,只适合传统的精确小数据场景
  • 计算公式

x ′ = x − m i n m a x − m i n x'=\frac{x-min}{max-min} x=maxminxmin

  • API

    sklearn.preprocessing.MinMaxScaler
    

代码示例

from sklearn.preprocessing import MinMaxScaler

def minMaxScalerDemo():
    # feature_range是映射到的区间
    transfer = MinMaxScaler(feature_range是映射到的区间=(0,1))
    data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]
    res = transfer.fit_transform(data)
    print(res)

if __name__ == '__main__':
    minMaxScalerDemo()

输出

[[0.   0.  ]
 [0.25 0.25]
 [0.5  0.5 ]
 [1.   1.  ]]

标准化

将数据变换到均值为0,标准差为1的范围内
x ′ = x − m e a n σ x'=\frac{x-mean}{\sigma} x=σxmean

  • 少量异常值对均值和标准差影响不大

代码示例

from sklearn.preprocessing import StandardScaler

def standardScalerDemo():
    transfer = StandardScaler()
    data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18], [10, 5]]
    # transfer.fit(data)
    res = transfer.fit_transform(data)
    print(res)

if __name__ == '__main__':
    standardScalerDemo()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_console_

您的关注与鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值