[ML] 特征工程

特征工程

特征工程包括:特征构建、特征提取、特征选择三个部分

Feature Construction 特征构建

描述

从原始数据中人工的构建新的特征,对数据敏感、分析能力强

方法

  • 组合属性

  • 切分属性
    如:将数据中的日期字段 按照季度和周期或一天的上午、下午和晚上去构建

Feature Extraction 特征提取

描述

将原始特征转换成一组具有物理意义或统计意义特征的过程,比如:减少原始数据中某个特征的取值个数

目的

  • Signal Representation 信号表示
    The goal of the feature extraction mapping is to represent the samples accurately in a low-dimensional space.

即:特征抽取后的特征要能够精确地表示样本信息,使得嘻嘻你丢失很小(对应于PCA)

  • 信号分类
    The goal of the feature extraction mapping is to enhance the class-discriminatory information in a low-dimensional space.

特征抽取后的特征,要使得分类后的准确率很高,不能比原来特征进行分类的准确率低,对线性来说,对应的方法是LDA

方法

PCA、ICA、LDA、SIFT(图像数据)

Feature Selection 特征选择

描述

从特征集合中挑选一组最具统计意义的特征子集,从而达到降维的效果

特征子集生成

功能

从特征集合搜索特征子集

Filter(筛选器,侧重单个特征)

  • 描述:自变量和目标变量的关联,通过分析特征子集内部的特点来衡量其好坏,然后选择排名靠前的(如:top 10%)从而达到特征选择的目的

  • 评价函数: Pearson相关系数,Gini-index基尼指数,IG信息增益、互信息,卡方检验,Distance Metrics距离(相似性度量)

  • 优点:计算时间上较高效,对于过拟合问题具有较高的鲁棒性

  • 缺点:倾向于选择冗余的特征,因为他们不考虑特征间的相关性,有可能某一个特征的分类能力差,但和其他特征结合会得到不错的效果

wrapper(封装器,侧重特征子集)

  • 描述:实质上是一个分类器,封装器用选取的特征子集对样本集进行分类,分类的精度作为衡量特征子集好坏的标准,经过比较选出最好的特征子集

  • 产生特征子集

    1. Classifier error rate(错误分类率):使用特定的分类器,用给定的特征子集对样本集进行分类,用分类的精度来衡量特征子集的好坏

    2. Forward Search(前向搜索):初始时假设已选特征的集合为空集,算法采取贪心的方式逐步扩充该集合,直到该集合的特征数达到一个阈值,该阈值可预先设定,也可通过交叉验证获取

    3. Backward Search(后向搜索):初始时假设预选特征集合F为特征的全集,算法每次删掉一个特征,直到F的特征数达到指定的阈值或者F被删空,该算法在选择删除哪一个特征时和Forward Search在选择一个特征加入F时的做法一致

  • 评价方法:根据产生的子集,使用交叉验证进行试验

  • 优点:考虑到特征与特征间的关联

  • 缺点:1. 观测数据较少时容易过拟合;2. 特征数较多时计算时间较长

Embeded(集成方法)

  • 思路:学习器自身自动选择特征

  • 方法:

    1. Regularization正则化:L1、L2

    2. 决策树算法(ID3、C4.5、CART):决策树在树增长过程的每个递归步都必须选择一个特征,将样本划分成较小的子集,选择特征的依据通常是划分后子节点的纯度,划分后子节点越纯,则说明划分效果越好,决策树生成的过程也是特征选择的过程

    3. 深度学习

  • 优点:结合了前面两种方法的优点

  • 缺点:必须事先知道什么是好的选择

特征验证

在验证数据集上验证选出来的特征子集的有效性

    原文作者:AlbertFeng
    原文地址: https://segmentfault.com/a/1190000004706137
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞