数据挖掘:特征工程——特征处理与特征生成

数据挖掘:特征⼯程——特征处理与特征⽣成数据挖掘:特征⼯程——特征处理与特征构建
这⾥贴⼀张⽹上特征⼯程的流程,供⼤家学习。
射频宽带放大器
⼀、什么是特征⼯程
特征⼯程:其本质是⼀项⼯程活动,⽬的是最⼤限度地从原始数据中提取特征以供算法和模型使⽤。。就是获取更好的训练数据。主要有两个⽅⾯:
1. 获取更好的数据
2. 使机器学习算法达到最优
⼆、特征⼯程处理的意义
有这么⼀句话在业界⼴泛流传:数据和特征决定了机器学习的上限,⽽模型和算法只是逼近这个上限⽽已。
1. 特征越好,灵活性越强
halliday只要特征选得好,即使是⼀般的模型(或算法)也能获得很好的性能,因为⼤多数模型(或算法)在好的数据特征下表现的性能都还不错。好特征的灵活性在于它允许你选择不复杂的模型,同时运⾏速度也更快,也更容易理解和维护。
2. 特征越好,构建的模型越简单
有了好的特征,即便你的参数不是最优的,你的模型性能也依然会表现的很nice,所以你就不需要花太多的时间去寻最有参数,这⼤⼤的降低了模型的复杂度,使模型趋于简单。
3. 特征越好,模型的性能越出⾊midd
显然,这⼀点是毫⽆争议的,我们进⾏特征⼯程的最终⽬的就是提升模型的性能。
三、特征⼯程处理流程
特征⼯程处理流程主要包括以下四个⽅⾯特征处理,特征⽣成,特征提取,特征选择。本⽂主要介绍前两种⽅法。
四、特征处理与特征构建
在探索性数据分析中,我们已经对数据有了很深的了解,接下来要对数据中的特征进⾏处理和⽣成。
特征处理主要对数字,类别,顺序,时间序列,⽂本等类型数据进⾏处理,使得数据更适合模型的预测。
特征构建/衍⽣/⽣成:是根据对数据的了解,⼈为定出⼀些有意义的特征。这部分在之前中有提到,其实进⾏EDA的⽬的就是为了更好地了解数据。
注:特征处理中也包含了特征清洗这⼀步骤,跟之前的是⼀样的。关于这些没有太过明确的定义,主要学习整个处理数据的流程即可,不⽤对概念中的处理⽅式太过纠结。
4.1 数字特征的处理和构建
4.1.1 数据标准化、归⼀化
在数据挖掘数据处理过程中,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进⾏数据标准化处理,以解决数据指标之间的可⽐性。
数据标准化处理主要包括数据同趋化处理和⽆量纲化处理两个⽅⾯。
1. 数据同趋化处理主要解决不同性质数据问题,对不同性质指标直接加总不能正确反映不同作⽤⼒的综合结果,须先考虑改变逆指标数
据性质,使所有指标对测评⽅案的作⽤⼒同趋化,再加总才能得出正确结果。
2. 数据⽆量纲化处理主要解决数据的可⽐性。经过上述标准化处理,原始数据均转换为⽆量纲化指标测评值,即各指标值(各特征)都
处于同⼀个数量级别上,可以进⾏综合对⽐分析。
常见的数据标准化处理(这⾥先统称为数据标准化处理,其实数据标准化,归⼀化,中⼼化不⼀样)有以下四种,可以取消由于量纲不同、⾃⾝变异或者数值相差较⼤所引起的误差。
1.实现中⼼化和正态分布的Z-score
2.实现归⼀化的Max-Min
3.⽤于稀疏矩阵的MaxAbs
4.针对离点的RobustScaler
sklearn的preprocessing提供了可以满⾜需求的⽅法。先⽤训练集训练标准化的类,然后⽤训练好的类分别转化训练集和测试集.
中⼼化:把数据整体移动到以0为中⼼点的位置。将数据减去这个数据集的平均值。
标准化:把整体的数据的中⼼移动到0,数据再除以⼀个数。在数据中⼼化之后,数据再除以数据集的标准差。
归⼀化:把数据的最⼩值移动到0,再除以数据集的最⼤值。对这个数据集的每⼀个数减去min,然后除以极差。
4.1.1.1 中⼼化与标准化(归⼀化)的处理意义
1.提升模型收敛速度
如下图,x1的取值为0-2000,⽽x2的取值为1-5,假如只有这两个特征,对其进⾏优化时,会得到⼀个窄长的椭圆形,导致在梯度下降时,梯度的⽅向为垂直等⾼线的⽅向⽽⾛之字形路线,这样会使迭代很慢,相⽐之下,右图的迭代就会很快(理解:也就是步长⾛多⾛少⽅向总是对的,不会⾛偏)。
2.提升模型精度郭志辰
这在涉及到⼀些距离计算的算法时效果显著,⽐如算法要计算欧⽒距离,如SVM,KNN等。上图中x2的取值范围⽐较⼩,涉及到距离计算时其对结果的影响远⽐x1带来的⼩,所以这就会造成精度的损失。所以归⼀化很有必要,他可以让各个特征对结果做出的贡献相同。⽽基于树的模型,可以不进⾏
标准化,例如随机森林,bagging 和 boosting等。以 C4.5 算法为例,决策树在分裂结点时候主要依据数据集 D 关于特征 x 的信息增益⽐,⽽信息增益⽐和特征是否经过归⼀化是⽆关的,归⼀化不会改变样本在特征 x 上的信息增益。
在多指标评价体系中,由于各评价指标的性质不同,通常具有不同的量纲和数量级。当各指标间的⽔平相差很⼤时,如果直接⽤原始指标值进⾏分析,就会突出数值较⾼的指标在综合分析中的作⽤,相对削弱数值⽔平较低指标的作⽤。因此,为了保证结果的可靠性,需要对原始指标数据进⾏标准化处理。
从经验上说,归⼀化是让不同维度之间的特征在数值上有⼀定⽐较性,可以⼤⼤提⾼分类器的准确性。
3. 深度学习中数据归⼀化可以防⽌模型梯度爆炸。
通过中⼼化和标准化处理,最终得到均值为0,标准差为1的服从标准正态分布的数据。可以取消由于量纲不同、⾃⾝变异或者数值相差较⼤所引起的误差。
在⼀些实际问题中,我们得到的样本数据都是多个维度的,即⼀个样本是⽤多个特征来表征的。⽐如在预测房价的问题中,影响房价的因素(特征)有房⼦⾯积、卧室数量等,很显然,这些特征的量纲和数值得量级都是不⼀样的,在预测房价时,如果直接使⽤原始的数据值,那么他们对房价的影响程度将是不⼀样的,⽽通过标准化处理,可以使得不同的特征具有相同的尺度(Scale)。简⾔之,当原始数据不同维度上的特征的尺度(单位)不⼀致时,需要标准化步骤对数据进⾏预处理。
下图中以⼆维数据为例:左图表⽰的是原始数据;中间的是中⼼化后的数据,数据被移动⼤原点周围;右图将中⼼化后的数据除以标准差,得到为标准化的数据,可以看出每个维度上的尺度是⼀致的(红⾊线段的长度表⽰尺度)。
其实,在不同的问题中,中⼼化和标准化有着不同的意义,⽐如在训练神经⽹络的过程中,通过将数据标准化,能够加速权重参数的收敛。对数据进⾏中⼼化预处理,这样做的⽬的是要增加基向量的正交性。
中⼼化 -PCA⽰例
下⾯两幅图是数据做中⼼化(centering)前后的对⽐,可以看到其实就是⼀个平移的过程,平移后所有数据的中⼼是(0,0)
在做PCA时,我们需要出矩阵的特征向量,也就是主成分(PC)。⽐如说到的第⼀个特征向量是a = [1, 2],a在坐标平⾯上就是从原点出发到点 (1,2)的⼀个向量。
如果没有对数据做中⼼化,那算出来的第⼀主成分的⽅向可能就不是⼀个可以“描述”(或者说“概括”)数据的⽅向。
中国套盒
⿊⾊线就是第⼀主成分的⽅向。只有中⼼化数据之后,计算得到的⽅向才能⽐较好的“概括”原来的数据。
河南天价过路费案4.1.1.2 Z-Score
Z-Score:即标准化。它是基于原始数据的均值和标准差,通过减去均值然后除以⽅差(或标准差),这种数据标准化⽅法经过处理后数据,符合标准正态分布,即均值为0,标准差为1。转化函数为:x =(x -  )/
注:

本文发布于:2024-09-23 15:26:22,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/68585.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   特征   处理   标准化
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议