美文网首页从零开始机器学习程序员
从零开始机器学习-11 特征工程(下)

从零开始机器学习-11 特征工程(下)

作者: 养薛定谔的猫 | 来源:发表于2018-05-03 15:42 被阅读40次

本文由 沈庆阳 所有,转载请与作者取得联系!
在特征工程(上),我们提到了坏数据对整个数据集的危害,那么我们有什么方法去挑选出并剔除坏数据呢?

缩放

缩放,顾名思义,将特征值从自然范围(比如0到1000)转换到标准范围(0到1或-1到1)。
对于多特特征,缩放可以帮助提升梯度下降法的收敛速度;避免因训练时超出数值范围(如大于float型最大值的范围)而造成的NaN而产生的后果(即NaN陷阱);帮助模型为特征确定合适的权重。
除了将[min,max]以线性方式缩放到诸如[0,1]范围之内,还有另一种缩放策略——计算每个数值的Z得分。
Z得分的计算公式如下:

缩放值=(原始数值-平均值)/标准偏差
scaled=(value-mean)/stddev

极端离群值

通过将totalRooms/population得到roomsPerPerson特征。

california_housing_dataframe["rooms_per_person"] = (
    california_housing_dataframe["total_rooms"] / california_housing_dataframe["population"])

使用pyplot绘制其概率分布如下:


人均房间数分布曲线

我们可以看到,人均房间数大部分分布在1到2之间。但是在图的右侧我们不难观察到甚至于人均55个房间,可以说该分布具有很长的尾巴。由于右侧的这些分布偏离我们的主要分布很远,因此需要降低这些极端离群值对数据集的影响。
其中一个处理极端离群值的方法就是取对数。

roomsPerPerson=log((totalRooms / population) + 1)
对数据取对数处理之后的概率分布

我们可以看到在对数据进行取对数处理过后,最远的离群值到了4左右,相比最远到55少了不少,但是仍然有很多离群值。即使用对数缩放之后仍存在部分离群值。如果这时候我们将roomsPerPerson的最大值限制为4呢?也就是所有大于4的值都会变为4。

roomsPerPerson = min(totalRooms / population, 4)
限制特征值最大值

可以看到,由于将特征值最大值限制为了4,因此所有大于4的值都会变成4,因此在4的地方会出现激增。尽管这个地方出现了一个峰值,但也比原始数据有用的多。

分箱

假设我们存在一个特征值分布在从32到44范围之内的特征。


纬度和房价的分布直方图

可以看出,跟随纬度的变化,房价的变化不再是线性关系。为了将纬度特征变成一个实用的预测指标,则需要对纬度进行分箱。
即对32到44之间的内容等分为11份。如第一个箱(Bin)是从32到34,第二个箱是从34到36...
我们使用一个具有11个元素的矢量来表示,即33纬度坐落在第一个箱内,则该纬度表示为:

[1,0,0,0,0,0,0,0,0,0]

清查

有时,在进行数据集准备的时候,我们获取的数据往往存在不可靠的情况。其具体表现有如下几种:
不良标签:将钢笔误标记为茶杯
重复样本:一个样本存在两次(同时存在训练集和验证集/测试集中,相当致命)
不良特征值:特征值错误,如将房价错误地多大了一个0
遗漏值:如某个房屋的价格忘记输入了,导致该样本的特征值为NaN
在同上面的一些对数据的处理过程中,直方图是可视化数据集中的数据的一种很直观的方法。同时,了解数据的最大值最小值、均值和中间值和标准偏差(方差)都是很有作用的。
最后请记住,良好的机器学习依赖于良好的数据。

觉得写的不错的朋友可以点一个 喜欢♥ ~
谢谢你的支持!

相关文章

  • 从零开始机器学习-11 特征工程(下)

    本文由 沈庆阳 所有,转载请与作者取得联系!在特征工程(上),我们提到了坏数据对整个数据集的危害,那么我们有什么方...

  • 2019-02-27

    内容为西瓜书的第10章特征选择和第11章特征降维。 1 在机器学习工程中,特征工程才是最重要,特征决定着算法的上限...

  • 机器学习—特征工程

    详细pdf:链接:https://pan.baidu.com/s/1pUWhb_y7kK7_fU0Gjqfe0Q ...

  • 机器学习-特征工程

    outline 概念 预处理 特征选择 降维 概念 数据集由数据对象组成,一个数据对象代表一个实体属性(attri...

  • 机器学习 - 特征工程

    大部分上传的截图都挂了,大家见谅吧,也不影响学习的 什么是特征工程 书接上文,前文我们看到鸢尾花数据集张什么样子:...

  • 机器学习 - 特征工程

    数据处理 缺失值处理行数据缺失过多,用户区分度就会降低,列数据缺失过多会导致建模存在偏差fillna:填充缺失值;...

  • 机器学习之特征工程 - 整理

    以下内容整理自机器学习之特征工程 特征工程: 定义:利用数据领域的相关知识来创建能够使机器学习算法达到最佳性能的特...

  • 特征工程

    在机器学习应用中,特征工程扮演着重要的角色,可以说特征工程是机器学习应用的基础。在机器学习界流传着这样一句话:“数...

  • sklearn库-特征工程

    sklearn作为python机器学习的一个常用库,可以用来做特征工程,算法的调用,模型的评估 特征工程 特征工程...

  • 美团机器学习实践第二章-特征工程总结

    思维导图如下: 在机器学习应用中,特征工程扮演重要的角色,可以说特征工程时机器学习应用的基础。我们都知道,数据和特...

网友评论

    本文标题:从零开始机器学习-11 特征工程(下)

    本文链接:https://www.haomeiwen.com/subject/ljkkrftx.html