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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/broccoli2/article/details/80972296

特征预处理是什么?

通过特定的统计方法(数学方法)讲数据转换成算法要求的数据。

数值型数据:

  1. 归一化
  2. 标准化
  3. 缺失值

    类别型数据:one-hot编码
    时间类型:时间的切分

特征选择的意义

在对数据进行异常值、缺失值、数据转换等处理后,我们需要从当前数据集中选出有意义的特征,然后输入到算法模型中进行训练。

对数据集进行特征选择主要基于以下几方面的考虑:

1.冗余的特征会影响阻碍模型找寻数据潜在的规律,若冗余的特征过多,还会造成维度容灾,占用大量的时间空间,使算法运行效率大打折扣。

2.去除不相关的特征会降低学习任务的难度,保留关键的特征更能直观的看出数据潜在的规律。

那么,该如何进行特征选择呢?通常,要从两方面考虑来选择特征:

1.特征是否具有发散性:
如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有差异,这个特征对于样本的区分并没有什么用。

2.特征与目标的相关性:
如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有差异,这个特征对于样本的区分并没有什么用。

根据特征选择的标准,又能分为filter、wrapper、embedded三种方法。

归一化

归一化

Scikit-learn归一化处理API:sklearn。preprocession.MinMaxScaler

这里写图片描述

归一化步骤:
1.实例化MinMaxScalar
2.通过fit_transform转换

归一化总结

在特定场景下最大值和最小值是变化的,另外,最大值个最小值非常容易受异常点影响,所以归一化方法的稳定性较差,只适合传统精确小数据场景。

标准化

特点:通过对原始数据进行变换把数据变化到均值为0,标准差为1范围内。

这里写图片描述

结合归一化来谈标准化

这里写图片描述

大多数使用标准化。
标准化API:scikit-learn.preprocessing.StandardScaler
目的:缩放数据。

StandardScaler语法

这里写图片描述

标准化步骤:
1.实例化StandardScaler
2.通过fit_transform转换

猜你喜欢

转载自blog.csdn.net/broccoli2/article/details/80972296