码迷,mamicode.com
首页 > 其他好文 > 详细

机器学习:数据准备和特征工程

时间:2019-10-04 09:56:48      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:初始   多个   最大   strong   趋势分析   isp   统一   维度   targe   

对于数据挖掘,数据准备阶段主要就是进行特征工程。

技术图片

 

 数据和特征决定了模型预测的上限,而算法只是逼近了这个上限。

 

好的特征要少而精,这会使模型更简单、更精准。

技术图片

 

 

一、特征构造

1.’常见提取方式

文本数据的特征提取

词袋向量的方式:统计频率

技术图片

 

 图像数据的特征提取

像素点RGB

技术图片

用户行为特征提取

技术图片

技术图片

 

 

 

特征提取总结:

  • 特征设计时需要与目标高度相关:

    这个特征对预测目标是否有用

    如果有用,这个特征的重要程度如何

    这个特征的信息是否在其他特征重体现过

  • 特征需要专业领域知识、直觉和一定的数学知识
  • 初始提取的特征后续还要进行特征转换处理,再进入算法模型
  • 特征设计和提取需要不断反复迭代验证,是一个非常耗时的工作

 

2.RFM

在客户关系(CRM)领域,三个刻画用户的神奇指标:

  • 最近一次消费间隔时长(Recency)
  • 消费频率(Frequency)
  • 消费金额(Monetary)

技术图片

 

RFM分析方法有一种叫五等分法

把RFM切成5个人数等分区间,然后形成RFM的组合立方体

125个格子

技术图片

 

 R越小越好,FM越大越好

R是越小,等级越大,于是RMF统一为等级越大越好

因此用户的等级范围是111-555

 

RFM应用价值:用户细分

111-555共125个群体,比较多,可以做一些合并

根据不同的RFM值组合情况,可以把用户分成不同群体,以便制定差异化策略

技术图片

 

 

RFM应用价值:用户价值及营销响应评估

技术图片

 

 

 

二、特征转换

1.连续变量无量纲化处理

使不同规格尺度的数据转换到同一规格尺度

目的:

  • 无量纲化可以让不属于同一量纲的特征值可以比较:例如身高(cm),体重(kg)
  • 无量纲化后模型收敛会加快(运行速度较快)
  • 无量纲化对一些模型的结果影响比较大,例如聚类模型,无量纲化后效果会更好 基于距离的一些模型

 

常用无量纲化方法--标准化

效果:把原始的连续变量转换为均值为0,标准差为1的变量

${x}‘=\frac{x-\bar{x}}{\delta }$

 常用无量纲化方法--区间缩放法

效果:把原始的连续变量转换为范围在a-b之间的变量,常见的a=0,b=1

${x}‘=\frac{x-\min(x)}{\max(x)-\min(x) }$

 

2.连续变量数据变换

数据变换:通过函数变换改变原数据的分布

目的:

  • 变换后更便捷地发现数据之间的关系:从没有关系变成有关系
  • 很多数据呈现严重的偏态分布(很多偏小的值聚集在一起),变换后差异可以拉开
  • 让数据更符合模型理论所需要的假设,然后对其分析,例如变换后数据呈现正态分布

技术图片

 

 常用的数据变换方法

  • log变换 x=ln(x)
  • box-cox变换,自动寻找最佳正态分布变换函数的方法

技术图片

 

 

3.连续变量离散化

把连续型的数值切割为少数的一些区间,例如年龄值切割为5个年龄段

目的:

  • 方便探索数据分布和相关性,例如直方图,交叉表
  • 离散化后的特征对异常数据有很强的鲁棒性:减少异常数据对模型的影响
  • 离散化后可以进行特征交叉组合,由M+N个特征变量变为M*N个特征变量
  • 特征离散化后,模型会更稳定
  • 特征离散化后,简化了模型复杂度,降低了过拟合风险
  • 一些模型(关联模型)要求输入特征是离散的

 

离散化方法:

非监督离散化方法

技术图片

 

 

有监督的离散化:决策树

技术图片

 

 

一种特殊的离散化:二值化

技术图片

 

 一种特殊的离散化:Rounding(取整)

技术图片

 

4.类别变量编码

把类别型变量编码成数值型的变量

目的:

  • 很多机器学习算法无法处理类别型变量,必须转换为数值型变量
  • 一定程度上起到了扩充特征的作用(构造了新的特征)

 

one-hot编码

技术图片

 

 Counting Encoding

用类别的频数来编码,也可以对频数去量纲化(秩序,归一化等)

技术图片

 

 Target Encoding

用目标变量(二分类)中的某一类的比例来编码

技术图片

 

 

5.日期型变量处理

 

 

6.缺失值处理

缺失值原因

技术图片

 

 处理方法

技术图片

 

 

7.特征组合

目的:通过特征组合构造出更多/更好的特征,提示模型精度

技术图片

 

 组合让特征更加精细,反映了原始多个特征之间的交互关系。

 

特征组合的方法

技术图片

 

 示例

技术图片

 

 

三、数据降维

在尽量少减少信息量的前提下,采用某种映射方法(函数),把原来的高维(变量多)数据映射为低维数据(变量少)

技术图片

 

 降维原因:

  • 维数灾难:高维情况下容易发生模型的过拟合(泛化能力弱)
  • 特征之间有明显的自相关的时候,也要考虑降维,因为自相关会让模型效果变差
  • 降维可以对数据中的有效信息进行综合提取,并去除一些无用的噪音信息
  • 降维后降低模型复杂度,减少模型训练时间
  • 降维之后可以对数据进行可视化分析

 

维数灾难

技术图片

 

 维数灾难原因

当特征值(空间)个数趋向无限大时,样本密度非常稀疏,训练样本被分错的可能性趋向于零

技术图片

 

 降维后发生什么?

线性模型可能精确度会下降,但是也会避免出现过拟合现象

技术图片

 

 避免维度灾难的一个方法是增加样本量

样本密度:样本数/特征值个数;当增加维度时,保持样本密度不变的方法就是增加样本量

技术图片

 

 

常用降维方法

技术图片

 

 

主成分分析

通过某种线性投影,将高维数据映射到低维空间中表示,并期望在所投影的维度上数据方差最大。使用较少的数据维度,尽量保留住较多的数据信息。

技术图片

 

 PCA操作流程

 

 

线性判别分析法

技术图片

 

 PCA与LDA

技术图片

 

 实验结果

技术图片

 

 

总结:

  • 如果研究的问题有目标变量(类别型)

    优先使用LDA来降维

    可以使用PCA做小幅度的降维去噪声,然后再使用LDA降维

  • 如果研究的问题没有目标变量

    优先使用PCA来降维

 

四、特征选择

特征选择与降维

技术图片

 

 特征选择原因:

  • 提高预测准确性
  • 构造更快,消耗更低的预测模型
  • 能够对模型有更好的理解和解释

 

特征选择的方法

技术图片

 

 

单特征重要性评估

过滤方法

 

苹果onNet_month与Flag(目标)指标的相关性

技术图片

 

 

信息值(IV)

技术图片

 

 变量重要性可视化:趋势分析

技术图片

 

 

 

 

更多指标

技术图片

 

机器学习:数据准备和特征工程

标签:初始   多个   最大   strong   趋势分析   isp   统一   维度   targe   

原文地址:https://www.cnblogs.com/aidata/p/11620888.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!