一、特征工程介绍
1.1 什么是特征
数值特征(连续特征)、文本特征(离散特征)
1.2 特征的种类
1.3 特征工程
特征是机器学习可疑直接使用的,模型和特征之间是一个循环过程;
实际上特征工程就是将原始数据处理成机器学习可以直接使用数据的过程;
特征工程,降噪、将特征转化为数字,更好构建数学模型。
二、特征预处理
现实中数据集可能杂乱,如存在异常值、缺失值(非常大或小),这个时候是没法做特征工程的,需要数据预处理后,在做特征工程,这样效果更好!
特征预处理的⽅法
2.1 缺失值处理
⼀般缺失值可以⽤均值、中位数、众数等填充,或者直接将缺失值当做⼀个 特定的值来对待。还可以利⽤⼀些复杂的插值⽅法,如样条插值等来填充缺失值。如果缺 失值不多,还可以将包含缺失值的样本丢弃。
2.2 归⼀化
不同特征之间由于量纲不⼀样,数值可能相差很⼤,直接将这些差别极⼤的特征 灌⼊模型,会导致数值⼩的特征根本不起作⽤,⼀般我们要对数值特征进⾏归⼀化处理, 常⽤的归⼀化⽅法有min-max归⼀化、分位数归⼀化、正态分布归⼀化、⾏归⼀化等。
2.3异常值与数值截断
对于数值型特征,可能会存在异常值,包括异常⼤和异常⼩的值。在统计数据处理中有所谓3σ准则,即对于服从正态分布的随机变量,该变量的数值分布在 (μ-3σ,μ+3σ)中的概率为0.9974,这时可以将超出该范围的值看成异常值,采⽤向上截断 (⽤μ-3σ)和向下截断(⽤μ+3σ)的⽅法来为异常值赋予新的值。对于真实业务场景,可能还要根据特征变量的实际意义来进⾏处理。
2.4⾮线性变换
有时某个属性不同值之间差别较⼤(⽐如年收⼊),有时为了让模型具备更多的⾮线性能⼒(特别是对于线性模型),这两种情况下都需要对特征进⾏⾮线性变换,⽐如值取 对数(值都是正的情况下)作为最终的特征,也可以采⽤多项式、⾼斯变换、logistic变换等转化为⾮线性特征。
三、特征构建
所谓特征构建是从原始数据中提取特征,将原始数据空间映射到新的特征向量空间,使得在新的特征空间中,模型能够更好地学习数据中的规律。
离散特征
1.1 one-hot编码(n-hot)
1.2 计数编码
次数来编码,如所有样本中,A歌手出现的次数,A歌手直接转化为次数。
1.3 散列编码(映射到低维向量空间)
1.4 离散特征之间交叉(⽤户地域与视频语⾔)
1.5 离散特征与连续特征交叉(视频语⾔与⽤户年龄)
连续(数值)特征
1) 直接使⽤
2) 离散化(分桶)
3) 特征交叉(⾮线性函数)
时间特征
1) 转化为数值
离基准时间,如离1900年多少年,
2) 将时间离散化(是否⼯作⽇、周⼏和一天的那个时间点)
是否为周日(0或者1)
地理位置特征
1) ⾏政区划表示
1-北京,2-天津.... 其实one-hot编码也是可以的
2) 经纬度表示
二维向量来表示
3) 距离表示
商家离你的距离,一维数字来表示,近的会优先表示
⽂本特征
TF-IDF、LDA、Word2Vec
富媒体特征
领域相关的⽅法
嵌⼊特征
基于内容的嵌⼊、基于⾏为的嵌⼊
四、特征选择
特征构建,基于已有的数据构建出各种各样的特征,构建出的特种可能会很多。有些特征,对模型预测有帮助;有些特征对模型预测帮助很小。我们需要选择出对模型有预测作用的特征。这就对特征选择。
特征选择:
特征选择是指从所有构建的特征中选择出⼀个⼦集,⽤于模型训练与学习的过程。特征选择不光要评估特征本身,更需要评估特征与模型的匹配度,评估特征之间的相关性、评估特征对最终的预测⽬标 的精准度的贡献。特征没有最好的,只有跟应⽤场景和模型合适的,特 征选择对于构建机器学习应⽤是⾮常重要的⼀环。
特征选择主要有以下两个⽬的:
•简化模型,节省存储和计算开销,让模型更易于理解和使⽤;
•减少特征数量、降维,改善通⽤性、降低过拟合的⻛险。
特征选择的方法
3.1 基于统计量的选择
1)选择⽅差⼤的特征
方差是描述数据波动情况。如果样本中性别全是女,那这个特征是没有波动的,没有意义的,那么该特征可以去掉。
2)⽪尔逊相关系数
是用于度量两个变量X和Y之间的相关(线性相关),其值介于-1与1之间。1正相关,-1负相关。
特征变量和目标变量之间的⽪尔逊相关系数绝对值越大,则特征变量价值就越大。若绝对值为零,则没有相关性,可以去掉这个特征变量。
⽪尔逊相关系数也可以评估,特征变量之间的相关关系。若绝对值很大,一个特征可以推导出另一个特征,则没有必要放另一个特征去训练,不然会特征冗余。
3)覆盖率
假如一万个样本,只有几个样本,性别有数据,那么这样覆盖率很小,特征变量数据很多缺失。这样的特征没有必要做缺失值处理。
4)假设检验(假设特征与⽬标变量独⽴)
假设特征与⽬标变量独⽴,可以使用卡方等假设检验方法,来检验假设是否成立。若成立就要
5)互信息(选择互信息⼤的)
互信息⼤,特征变量和目标变量相关性就越大。
3.2 基于模型选择
1) 基于模型参数(树模型可以选择特征)
2) ⼦集选择
先一个特征训练,选最好的模型效果A特征。在以A特征基础上,两特征组合,选最好的两特征组合,依次类推...... 从小到多,看模型效果。
3)逆向选择特征
五、特征评估
特征评估
是在将特征灌⼊模型进⾏训练之前,事先评估特征的价值, 提前发现可能存在的问题,及时解决,避免将有问题的特征导⼊模型, 导致训练过程冗⻓⽽得不到好的结果。特征评估是对选择好的特征进⾏整体评价,⽽不是特征选择中所谓的对单个特征重要性的评判。
特征评估的⽅法
特征的覆盖率:是指有多少⽐例的样本可以构建出相关特征。
特征的维度:衡量的是模型的表达能⼒,维度越⾼,模型表达能⼒越强(VC维)。
定性分析:是指构建的特征是否跟⽤户⾏为是冲突的,可以拿熟悉的样本来做验证。(如年收 ⼊与是否违约) 文章来源:https://www.toymoban.com/news/detail-736605.html
定量分析:通过常⽤的离线评估指标,如Precision、Recall、AUC等等来验证模型的效果。文章来源地址https://www.toymoban.com/news/detail-736605.html
到了这里,关于机器学习-特征工程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!