机器学习-特征工程

outline

  • 概念
  • 预处理
  • 特征选择
  • 降维

概念

数据集由数据对象组成,一个数据对象代表一个实体
属性(attribute)是一个数据字段,表示数据对象的一个特征。属性向量(或特征向量)是用来描述一个给定对象的一组属性。
属性的分类:

  • 标称属性(nominal attribute)
  • 二元属性(binary attribute)
  • 序数属性(ordinal attribute)--- 常量表中的某个值
  • 数值属性(numerical attribute)= 离散属性 + 连续属性
数据清洗

清洗标注数据,主要是数据采样和样本过滤

数据增强( Data Augmentation)

数据增强是指从给定数据导出的新数据的添加
如CV领域中的图像增广技术

预处理

缺失值的处理

(1)丢弃
(2)均值
(3)上下数据填充
(4)插值法 线性插值
(5)随机森林拟合

标准化和归一化
  • 标准化
    标准化是依照特征矩阵的列处理数据,使每个特征中的数值平均变为0(将每个特征的值都减掉原始资料中该特征的平均)、标准差变为1
    基于正态分布假设
    标准化后可能为负
    (X-X_mean)/std

  • 归一化
    对每个样本计算其p-范数,再对每个元素除以该范数,这使得每个处理后样本的p-范数(l1-norm,l2-norm)等于1。

  • 区间缩放法
    常见的一种为利用两个最值进行缩放


    image.png

    具有加速收敛的作用,原因如下图:


    机器学习-特征工程_第1张图片
    clipboard.png

可以使用sklearn中的preproccessing库来进行数据预处理

特征选择

定义: 从给定的特征集合中选择出相关特征子集的过程
两个关键问题:

  • 子集搜索
    forward搜索: 逐渐增加相关特征的策略
    backward搜索:逐渐减少特征的策略
    bidirectional搜索
  • 子集评价

特征选择方法 = 子集搜索机制 + 子集评价机制

特征选择的作用
  • 减少(冗余)特征数量、降维,使模型泛化能力更强,减少过拟合
  • 增强对特征和特征值之间的理解
  • 去噪


    机器学习-特征工程_第2张图片
    image.png

过滤式(filter)

特点:特征选择过程和学习器无关
通过特征的某个统计量值来进行排序,选择Top K特征
from sklearn.feature_selection import SelectKBest

  • 基于方差
  • 基于信息增益
    去除方差较小的特征,譬如某些特征只有一个值

ID3算法在选择节点对应的特征时也是使用信息增益
对于决策树来说,树节点的划分属性所组成的集合就是选择出的特征子集

  • Pearson相关系数
    皮尔森相关系数是一种最简单的,能帮助理解特征和响应变量之间关系的方法,该方法衡量的是变量之间的线性相关性,结果的取值区间为[-1,1],-1表示完全的负相关(这个变量下降,那个就会上升),+1表示完全的正相关,0表示没有线性相关。

  • 互信息量
    互信息(Mutual Information)是度量两个事件集合之间的相关性(mutual dependence)。互信息最常用的单位是bit。
    根据互信息计算公式可得: 当互信息MI=0时,两个变量(两个事件集合)之间相互独立

  • χ2统计量(卡方检验)
    χ²检验用来检验两个事件的独立性。
    χ2 值越大,则表明实际观察值与期望值偏离越大,也说明两个事件的相互独立性越弱。

wrapper

特点:将后续学习器的性能作为特征子集的评价准则
将子集的选择看作是一个搜索寻优问题,生成不同的组合,对组合进行评价,再与其他的组合进行比较
启发式算法

from sklearn.feature_selection import RFE

  • Las Vegas Wrapper(LVW)
    在LVW中,特征子集搜索采用了随机策略,然后训练学习器进行交叉校验。
  • 基于学习模型的特征排序
    这种方法的思路是直接使用你要用的机器学习算法,针对每个单独的特征和响应变量建立预测模型。交叉验证后,根据分数值对特征进行排序。
    特征和响应变量之间的关系是线性:线性回归
    假如某个特征和响应变量之间的关系是非线性的,可以用基于树的方法(决策树、随机森林)、或者扩展的线性模型等

embedding

特点:特征选择过程与学习训练过程融为一体,两者在同一个优化过程中完成,即在学习器训练过程中自动地进行了特征选择
from sklearn.feature_selection import SelectFromModel

L1和L2范数都有助于降低过拟合风险

L1正则化/Lasso

L1正则化将系数w的l1范数作为惩罚项加到损失函数上,由于正则项非零,这就迫使那些弱的特征所对应的系数变成0
防止过拟合
更容易获得系数解


机器学习-特征工程_第3张图片
image.png
L2正则化/Ridge regression岭回归

L2正则化对于特征理解来说更加有用:表示能力强的特征对应的系数是非零

降维

定义:通过某种数学变化将原始高维属性空间转变为低维子空间(subspace)
低维嵌入(三维-->二维):


机器学习-特征工程_第4张图片
image.png

降维方法分类


机器学习-特征工程_第5张图片
image.png
PCA

from sklearn.decomposition import PCA

参考资料

<机器学习>第10章降维与度量学习-周志华
<机器学习>第11章特征选择和稀疏学习-周志华
结合Scikit-learn介绍几种常用的特征选择方法
机器学习之特征选择
Sklearn数据预处理:scale, StandardScaler, MinMaxScaler, Normalizer
机器学习中,有哪些特征选择的工程方法?
知乎特征工程总结

你可能感兴趣的:(机器学习-特征工程)