Advertisement

数据挖掘 - 特征工程

阅读量:

在机器学习领域中,我们通常将数据分析中的初步探究工作称为EDA(Exploratory Data Analysis)。它指的是对已有的数据(尤其是来自调查或观察的第一手原始数据),尽量减少事先假设的情况下进行深入分析,并通过绘制图表、整理表格以及建立数学模型等方式来揭示数据内在的结构和规律的一种系统性分析方法。

换个角度说:如果拿到了一堆数据,
判断该用什么算法,
而不是把事情弄反了,
举个例子:
像二分类问题,
在这些情况下,
将你的样本分成两个明显的类别,
就可以通过画一条直线把它们分开,
从而推断出可采用逻辑回归算法来进行分析,
而当你确定了具体的算法后,
在实际应用中还需考虑归一化等预处理步骤,
比如梯度下降时可能会更快些,
如果情况允许的话,
还需对异常值进行剔除以避免影响模型效果。

1.常见的特征工程

异常处理:

  • 利用箱线图(或 3-Sigma)识别并去除异常值;
  • 应用BOX-COX转换(用于纠正偏态分布);
  • 进行长尾截断;
  1. 特征的标准化处理:

    • 将数据转换为符合标准正态分布的形式;
    • 通过缩放使数值落入 [0,1] 区间内;
    • 对于服从幂律分布的数据,则可采用以下公式进行处理:log\left( \frac{1 + x}{1 + median} \right)
  2. 数据分桶:

  • 按照等频率的方式将数据集划分为若干个区间(即等频分桶);
  • 按间距均等划分数据集(即等距分桶);
  • 基于最佳KS值的分桶方法(类似于利用基尼指数来进行二分类分析);
  • 采用卡方统计量进行最优分割(即卡方分 buckets)。
  1. 处理缺失值:
  • 无需处理(适用于例如 XGBoost 这类树模型);
  • 当缺失数据较多时采取删除策略;
  • 插值填充包含以下几种方法:简单均值填充、中位数填充、众数填充、基于建模预测填充、多重插补法以及压缩感知法和矩阵填充法等;
  • 分箱处理时将缺失视为一个独立的类别。
  1. 特征工程:
  • 构建统计指标:记录计数情况、累加结果以及数据比率;
  • 时间维度分析:基于事件的时间关系(相对时间)与固定时间基准(绝对时间),识别节假日与双休日;
  • 地理空间处理:采用分箱方法与分布编码策略对地理信息进行预处理;
  • 数据非线性转化:执行对数值转换、平方变换及开根号转换;
  • 特征交互生成:通过特征交叉生成新特征变量;
  • 方法论探讨:仁者见仁智者见智的方法论探讨
  1. 特征筛选
  • 筛选法:首先,在训练学习器之前进行特征筛选。常用的方法包括 relief算法、方差分析法、相关性分析法、χ²检验法以及互信息评估法;

  • 包裹式选择则以学习器的实际性能作为评价标准。具体而言,LVM(Las Vegas Wrapper)是一种基于贪心策略的学习器优化方法;

  • 嵌入选择通过结合筛选与包裹式的优点,在学习器训练过程中自动完成特征选择功能。如LASSO回归技术就是其中一种典型的实例;

    1. 降维
      • PCA/ LDA/ ICA;
      • 特征选择也是一种降维。

2. 经验总结

特征工程的核心目标在于将数据转换为更能准确反映潜在问题的关键指标。从而显著提升模型性能。例如,在实际应用中通常会采取以下措施:异常值处理主要是为了去除噪声干扰;而填补缺失值则能够引入合理的先验知识。

特征构造也属于特征工程的一部分,其目的是为了增强数据的表达。

有些比赛中的某些特定字段由于匿名性而变得难以直接关联起来。这使得我们无法直接了解各字段之间的直接联系。此时我们只能依赖于基于这些字段的基本操作来进行初步分析例如将数据按组汇总(agg)、分组(groupby)以及打包(pack)等方式进行基础统计分析。此外还可以通过取对数(log)、指数函数(exp)等方式进一步变换这些字段或者通过简单的加减乘除运算结合已有信息来计算新的指标变量(例如使用时长)。同时可以考虑多项式组合或其他复杂变换来生成新的变量用于分析和筛选数据。然而由于这些匿名特性限制了我们对原始数据中某些高级分析手段的使用当然在某些特殊情况下利用神经网络模型来提取潜在的非线性关系也能带来不错的效果。

针对已知特征的实际意义(非匿名)的特征工程,在工业类型相关比赛尤其是那些涉及信号分析的比赛当中,则主要基于信号处理、频域中的提取、密度以及分布偏态性等因素来构建具有实际应用价值的关键性特征。这体现了从业务背景出发进行深度挖掘的特点,在推荐系统领域同样遵循这一原则:通过不同类型的点击率统计指标、不同时间段的行为统计数据等信息点,并结合用户属性的相关统计数据等信息点来进行综合分析与建模。

显然,特征工程本质上是与模型紧密结合的策略。这就是为什么在LR NN模型中需要进行分桶处理和特征归一化的原因所在。对于如何处理特征及其效果评估、特征重要性判断等问题,则需要通过模型本身来进行验证和评估。

参考来源

该领域中的"特征工程"涉及对数据本质的深入挖掘与巧妙构建过程

全部评论 (0)

还没有任何评论哟~