数据挖掘 - 特征工程

数据探索即EDA,通过对数据的分析确定合适算法。特征工程包括异常处理、归一化、分桶、缺失值处理、特征构造和筛选,以及降维。目标是提升机器学习性能。异常值可通过箱线图或3-Sigma分析处理,数据归一化可采用标准化或归一化。特征构造涉及统计量、时间、地理信息和非线性变换。特征筛选有过滤式、包裹式和嵌入式方法。特征工程与模型结合,须根据业务逻辑和模型验证处理效果。
部署运行你感兴趣的模型镜像

数据探索在机器学习中我们一般称为EDA(Exploratory Data Analysis)是指对已有的数据(特别是调查或观察得来的原始数据)在尽量少的先验假定下进行探索,通过作图、制表、方程拟合、计算特征量等手段探索数据的结构和规律的一种数据分析方法。

其实,换句话就是说如果拿到一堆数据,你需要通过数据的特征来判断你用什么算法,而不是本末倒置,比如二分类问题,数据集的分布会明显分为两类,有一条"直线"可以将其分割开,那么你从数据上得到的信息是你可以用逻辑回归的算法处理数据。那么拿到具体的算法后,你需要对数据中的归一化等操作,比如使用梯度下降的时候,可能会更快,还有如果有必要,需要进行异常值进行处理,避免对算法造成干扰

1.常见的特征工程

  1. 异常处理:
    • 通过箱线图(或 3-Sigma)分析删除异常值;
    • BOX-COX 转换(处理有偏分布);
    • 长尾截断;
  2. 特征归一化/标准化:
    • 标准化(转换为标准正态分布);
    • 归一化(抓换到 [0,1] 区间);
    • 针对幂律分布,可以采用公式: l o g ( 1 + x 1 + m e d i a n ) log(\frac{1+x}{1+median}) log(1+median1+x)
  3. 数据分桶:
    • 等频分桶;
    • 等距分桶;
    • Best-KS 分桶(类似利用基尼指数进行二分类);
    • 卡方分桶;
  4. 缺失值处理:
    • 不处理(针对类似 XGBoost 等树模型);
    • 删除(缺失数据太多);
    • 插值补全,包括均值/中位数/众数/建模预测/多重插补/压缩感知补全/矩阵补全等;
    • 分箱,缺失值一个箱;
  5. 特征构造:
    • 构造统计量特征,报告计数、求和、比例、标准差等;
    • 时间特征,包括相对时间和绝对时间,节假日,双休日等;
    • 地理信息,包括分箱,分布编码等方法;
    • 非线性变换,包括 log/ 平方/ 根号等;
    • 特征组合,特征交叉;
    • 仁者见仁,智者见智。
  6. 特征筛选
    • 过滤式(filter):先对数据进行特征选择,然后在训练学习器,常见的方法有 Relief/方差选择发/相关系数法/卡方检验法/互信息法;
    • 包裹式(wrapper):直接把最终将要使用的学习器的性能作为特征子集的评价准则,常见方法有 LVM(Las Vegas Wrapper) ;
    • 嵌入式(embedding):结合过滤式和包裹式,学习器训练过程中自动进行了特征选择,常见的有 lasso 回归;
  7. 降维
    • PCA/ LDA/ ICA;
    • 特征选择也是一种降维。

2. 经验总结

特征工程的主要目的还是在于将数据转换为能更好地表示潜在问题的特征,从而提高机器学习的性能。比如,异常值处理是为了去除噪声,填补缺失值可以加入先验知识等。

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

有些比赛的特征是匿名特征,这导致我们并不清楚特征相互直接的关联性,这时我们就只有单纯基于特征进行处理,比如装箱,groupby,agg 等这样一些操作进行一些特征统计,此外还可以对特征进行进一步的 log,exp 等变换,或者对多个特征进行四则运算(如上面我们算出的使用时长),多项式组合等然后进行筛选。由于特性的匿名性其实限制了很多对于特征的处理,当然有些时候用 NN 去提取一些特征也会达到意想不到的良好效果。

对于知道特征含义(非匿名)的特征工程,特别是在工业类型比赛中,会基于信号处理,频域提取,丰度,偏度等构建更为有实际意义的特征,这就是结合背景的特征构建,在推荐系统中也是这样的,各种类型点击率统计,各时段统计,加用户属性的统计等等,这样一种特征构建往往要深入分析背后的业务逻辑或者说物理原理,从而才能更好的找到 magic。

当然特征工程其实是和模型结合在一起的,这就是为什么要为 LR NN 做分桶和特征归一化的原因,而对于特征的处理效果和特征重要性等往往要通过模型来验证。

参考来源

  1. 特征工程

您可能感兴趣的与本文相关的镜像

ComfyUI

ComfyUI

AI应用
ComfyUI

ComfyUI是一款易于上手的工作流设计工具,具有以下特点:基于工作流节点设计,可视化工作流搭建,快速切换工作流,对显存占用小,速度快,支持多种插件,如ADetailer、Controlnet和AnimateDIFF等

### 数据挖掘特征工程的相关图片 在数据挖掘过程中,特征工程是一个至关重要的环节。它涉及从原始数据中提取有用的信息并将其转换为适合机器学习模型使用的格式。为了更好地理解这一过程,可以通过一些常见的图示来说明。 #### 特征工程技术概述 特征工程通常包括以下几个方面的工作: - **数据预处理**:清洗和准备数据以便后续操作。 - **特征创建**:基于现有数据生成新的特征变量。 - **特征变换**:通过数学函数或其他方法改变特征的分布或形式。 - **特征选择**:挑选最能代表问题本质的一组特征子集[^1]。 这些步骤可以用图表清晰地表示出来,下面是一些可能用于解释特征工程概念及其流程的图像类型: #### 常见的特征工程图示 ##### 1. 流程图 此类型的图形展示了整个特征工程的过程,从获取初始数据到最后构建好可供训练的特征矩阵。每个阶段都标记清楚,使得读者能够快速了解各个部分之间的关系以及如何逐步推进至最终成果。 ```mermaid graph TD; A[开始] --> B(加载数据); B --> C{清理缺失值}; C -->|是| D[填充/删除]; C -->|否| E; D & E --> F(标准化数值型字段); F --> G(编码分类标签); G --> H(降维PCA等); H --> I(保存特征文件); I --> J[结束]; ``` ##### 2. 数据流图 (DFD) 这种图特别适用于描绘不同组件间的数据交互情况,在这里可以用来展示输入数据经过一系列处理后成为优化后的特征集合的具体路径。这有助于揭示哪些模块负责特定的任务,并且可以帮助团队成员之间沟通复杂系统内部运作机制。 ![Data Flow Diagram Example](https://example.com/data_flow_diagram.png) 请注意上述链接仅为示意用途;实际应用时应替换为具体案例中的真实资源地址。 ##### 3. 变换前后对比图 此类插图直观呈现了某些典型特征变化前后的样子,比如连续属性被分箱化之后的样子或者是类别型特征经独热编码后的结构差异。这对于非技术人员来说非常友好,因为他们可以直接看到效果而不需要深入了解背后的算法细节[^4]。 ![Before and After Transformation Comparison](https://example.com/before_after_transformation_comparison.png) 同样地,这里的URL也需要根据实际情况调整指向有效的样本素材位置。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值