开发者学堂课程【机器学习实战:特征工程 】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/530/detail/7132
特征工程
内容介绍:
一. 特征工程
二. 特征产生
三. 特征变换
四. 特征评估与选择
第四章特征工程,特征工程在继续学习的过程中是非常重要的环节。我们继续学习或做项目时通常会考虑数据加算法。
对于相同的项目,数据基本是一样的,在算法方面也都相差无几。可以关注一些最近大规模的数据类的竞赛。
给的数据是一致的,最终排名靠前的算法也基本是相同的。相同的算法,结果却有差别,最主要的原因是不同的团队基于相同的数据拓展的特征不一样,即特征工程。
一.特征工程
1:特征工程
特征工程是基于原始数据创建新的特征的过程,一般情况下结合业务,利用数学方法在原有特征的基础上进行新增转换等,使特征更适合于机器学习的需要。
2.特征工程的作用
(1)把原始数据转换成对机器学习更有用的特征。拿到的原始数据更贴近于业务自己的使用场景,做分析时需对原始数据进行加工。
(2)结合业务是特征,更容易理解和解释
(3)结合业务创建对最终结果贡献更大的特征
(4)更充分的利用已有数据的价值
(5)提供更多的特征,相当于扩充了训练集,充分利用现有的学习计算能力,提高模型的准确性
(6)使用非结构化数据源提供的信息
(7)以特征工程的方式引入外部数据
总体而言,特征工程的作用非常重要,特征越好,对算法模型的要求越低,性能越出色。
以一个公司为例,公司有一个重要的指标叫做 ARPU 值,相当于每个用户每个月的消费金额,如一个用户 17 年 8 月份的消费金额为 180 元,但是他离网,收集到很多离网用户的数据,发现 ARPU 值高的用户离网,那是否可以得到一个结论, ARPU 值高的用户更易离网?从原始数据看是这样,了解相关数据后发现,7 月份的消费额为195元,6 月份的消费额为 200元,5 月份的消费额为 240 元,将原始数据最近的 ARPU 值连到一起看,可以发现一个规律。及最近几个月每月支出在逐步降低,从该角度考虑,可以发现 ARPU 值持续下降的用户更易离网,哪个结论是正确?只关注单一的原始数据,得到的信息是有限的或没有将和最终结果相关的信息更合理的使用。此时若产生一个扩展特征,特征为消费趋势。如该用户最近消费趋势持续下跌,则用消费趋势用数值将其量化,实际消费趋势对我们判断用户是否会离网作用更大,比 ARPU 值原始数据提供的信息更多,这是特征工厂一个简单的例子。
二.特征工程:特征产生
1.特征产生:特征工程基于原始数据产生新的特征
2.特征产生的常见方法
(1)常见的指标或统计量
(2)同一特征的纵向联系,如指标或趋势变化等
(3)多个特征的横向联系
(4)特征交叉
(5)时间特征的特殊处理
(6)从业务角度产生特征
如刚才的例子可以新增一个特征为 ARPU 值趋势。计算方法很多,如加权 z-score 等。对加权方法而言,离当前时间越近的 ARPU 值给予更高的权,如 5,前一个月为 3,前两个月为 2,前四个月为 1,计算结果为 212。通过加权的方式就可以观察用户最近的 ARPU 值趋势。
如下例,最近购买的日期,是日期的取值 2017 年 8 月 1 日,较难处理,可以基于日期构造一个简单的特征,如上次购买到现在的天数计算出为 120,在处理数据时,处理单纯的数值比处理日期简单。
三.特征工程:特征变换
1.特征变换:减少变量之间的相关性,用少数新的变量来尽可能反映样本的信息,即通过变换到新的表达空间,使得数据可分性更好。即使用更少的特征来代替总体的特征,类似于数据规约。
2.常见的特征变换方法
(1)主成分分析 PCA :利用降为技术,用少数几个不相关的新变量来代替原始多个变量
(2)因子分析 FA :根据原始变量的信息进行重新组合,找出影响变量的共同因子,化简数据
(3)独立成分分析 ICA ,将原始数据降为并提取出相互独立的变量
(4)线性辨别分析 LDA :将有标签数据投射到低纬空间上分类,可降维度降至k-1维
(5)核方法 KM :通过合适的核函数将数据映射到更高维可分性更好
(6)傅里叶变换、小波变换 WT :使用基底函数表示原始数据,将原始数据压缩降维
四.特征评估和选择
1.特征评估和选择
从原始特征中挑选出一些最有代表性,可分性能最好的特征
2.常见的变换方法
(1)过滤法( Filter ):使用独立于分类器的选择准则来评价所选择的特征子集,如方差选择法,相关系数法,卡方检验,互信息法。
(2)封装法( Wrapper ):特征子集的好坏标准由分类器决定。
基于 KNN 的特征选择
基于 SVM 的特征选择
基于 Fisher 判别的特征选择
基于 Adaboost 的特征选择

