当前位置: 首页 > article >正文

科普:此“特征”非彼“特征”

机器学习中的特征工程是提升模型性能的关键环节,根据特征的生成方式和复杂度,可将其分为以下三个层次。以下是结构化分类及说明:

一、原始特征(初级)

1. 定义与来源
  • 直接提取:直接来自原始数据的字段,未经任何加工。
  • 示例
    • 人口统计:性别、年龄、学历
    • 交易数据:消费金额、贷款期限
    • 设备信息:操作系统、IP地址
2. 特点
  • 优点
    • 易获取,无需复杂计算
    • 可解释性强(业务人员直接理解)
  • 缺点
    • 信息可能冗余(如“性别”和“性别编码”)
    • 可能无法捕捉复杂关系(如非线性关联)
3. 应用场景
  • 基础模型训练(如逻辑回归)
  • 业务规则制定(如“年龄<18岁拒绝贷款”)

二、业务公式生成特征(中级)

1. 定义与来源
  • 基于领域知识:通过业务逻辑或统计公式加工原始特征。
  • 生成方式
    • 比率计算:收入负债率=负债/收入
    • 时间窗口统计:近30天消费频次
    • 业务规则:信用评分分段(如600-700分)
2. 特点
  • 优点
    • 有效捕捉业务逻辑(如RFM模型中的“最近消费时间”)
    • 提升特征区分度(如“收入负债率”比单独收入更敏感)
  • 缺点
    • 依赖人工经验,难以自动化
    • 可能引入主观偏差(如分箱阈值的选择)
3. 应用场景
  • 风控规则设计(如“贷款金额/月收入>5倍拒绝”)
  • 推荐系统冷启动(基于用户属性标签)

三、算法生成特征(高级)

1. 定义与来源
  • 自动化生成:通过算法或模型从原始数据中挖掘新特征。
  • 分类及示例
生成方法特征类型案例
统计变换衍生统计量年龄分箱、收入分位数
特征组合交互特征性别×学历(如“女性+硕士”)
降维算法主成分(PCA)、潜在语义(LDA)将100维特征压缩为10维主成分
树模型叶子节点特征XGBoost生成的决策路径特征
深度学习嵌入向量NLP中的词向量、图像中的CNN特征
2. 特点
  • 优点
    • 自动化发现隐藏模式(如树模型自动捕捉非线性关系)
    • 适合高维数据(如主成分分析降维)
  • 缺点
    • 可解释性差(如深度学习特征)
    • 计算成本高(需复杂算法训练)
3. 应用场景
  • 复杂模型(如神经网络、GBDT)
  • 高维数据挖掘(如基因数据、图像识别)

四、特征层次对比与组合策略

层次生成方式可解释性自动化程度典型工具
原始特征直接提取SQL、Pandas
业务公式人工定义公式中高Excel、Python脚本
算法生成模型自动生成Scikit-learn、TensorFlow、算法库
  • 趋势:随着AI技术发展,算法生成特征的占比逐渐增加,但业务特征仍不可替代(如风控中的反欺诈规则)。
组合策略
  1. 原始特征打底:作为模型输入的基础信息。
  2. 业务特征增强:融入业务逻辑,提升模型贴合度。
  3. 算法特征突破:捕捉非线性关系或高维模式。

案例
在银行风控中,原始特征(年龄、收入)→ 业务特征(收入负债率)→ 算法特征(XGBoost生成的交互特征)组合使用,可同时兼顾规则性和模型泛化能力。

五、可混合使用么

高级特征是由若干初级特征输入算法中产生的,若再将它们同时输入到模型中时,则某些初级特征就重复使用了,这样做有问题么?

在机器学习中,不同层次的特征(原始、业务公式生成、算法生成)可以混合使用,但需注意特征冗余和模型训练的效率问题。以下是具体分析及应对策略:

1. 互补性
  • 原始特征提供基础信息(如年龄、性别),确保模型理解基础逻辑。
  • 业务特征融入领域知识(如收入负债率),增强模型对业务规则的贴合度。
  • 算法特征捕捉复杂模式(如非线性关系),提升模型泛化能力。
  • 案例:风控模型中,原始特征(贷款金额)+ 业务特征(金额/收入)+ 算法特征(树模型生成的组合特征)可同时保留基础信息和复杂模式。
2. 常见实践
  • 工业界广泛采用:例如,推荐系统中原始用户属性(性别、年龄)+ 业务标签(VIP等级)+ 深度学习生成的嵌入向量(Embedding)。
  • 竞赛场景:如Kaggle比赛中,选手常混合统计特征、文本衍生特征和模型生成特征(如LightGBM的叶子节点编码)。
3. 重复的本质
  • 并非严格重复:算法生成特征是对原始特征的抽象或组合,例如:
    • PCA生成的主成分是原始特征的线性组合,已降维,不直接包含原始特征。
    • 树模型的叶子节点特征是基于原始特征的决策路径,需保留原始特征以支持模型学习。
  • 可能的冗余:若算法生成特征与原始特征高度相关(如年龄分箱后与原始年龄同时存在),可能导致信息冗余。
4. 解决方案
场景策略
降维类特征(如PCA、LDA)用降维后的特征替代原始特征(因降维已浓缩信息,避免冗余)。
树模型生成特征保留原始特征,因树模型的叶子节点依赖原始特征的分割逻辑。
特征组合(如性别×学历)可与原始特征共存,但需通过特征选择(如IV值、相关性分析)筛选有效组合。

五、混合使用的注意事项

1. 特征筛选
  • 去除冗余:通过统计方法(如相关系数、方差膨胀因子VIF)或模型方法(如L1正则化、SHAP值)删除高度相关的特征。
  • 案例:若原始年龄和年龄分箱后的特征高度相关,保留其中一个即可。
2. 模型适应性
  • 线性模型(如逻辑回归):对冗余特征敏感,需严格筛选。
  • 非线性模型(如树模型、神经网络):对冗余特征容忍度较高,但过多特征可能导致过拟合。
3. 混合使用的建议
  • 推荐组合:原始特征 + 业务特征 + 部分算法特征(如主成分、树模型叶子节点)。
  • 避免重复
    • 降维特征替代原始特征(如用PCA主成分替代原始变量)。
    • 树模型生成特征可与原始特征共存,但需通过特征选择优化。
4. 实践步骤
  1. 基础特征集:原始特征 + 业务公式生成特征。
  2. 算法特征增强
    • 加入降维特征(如PCA)或树模型特征。
    • 用特征重要性分析(如XGBoost的feature_importances_)筛选有效特征。
  3. 模型训练与验证:对比混合特征与单一特征集的效果,调整特征组合。
5. 典型错误示例
  • 错误做法:将原始年龄、分箱后的年龄区间、树模型生成的年龄相关叶子节点特征同时输入模型,导致信息冗余。
  • 正确做法:保留原始年龄 + 分箱特征(或树模型特征),通过特征选择确定最优组合。

通过合理设计特征组合策略,不同层次的特征可协同提升模型性能,同时避免冗余和计算资源浪费。


http://www.kler.cn/a/610582.html

相关文章:

  • 系统思考—第五项修炼
  • 微信小程序如何接入直播功能
  • 5.go切片和map
  • MySQL实战(尚硅谷)
  • 4.Matplotlib:基础绘图
  • 阶跃星辰 Step-Video-TI2V 图生视频模型深度解析
  • ADS 学习和培训资源 - Keysight ADS
  • 【leetcode hot 100 84】柱状图中最大的矩形
  • 如何安装及使用 Postman 中文版?
  • 7.2 分治-快排:LeetCode 912. 排序数组
  • 从手机到机器人:vivo 凭借用户主义重构科技价值
  • 如何用 Postman 发送 GET 请求?详解
  • .gitattributes与git lfs
  • Unity 游戏开发 0 基础就业班:开启你的游戏开发职业之旅
  • 如何在 Mac 上安装并使用 Postman?
  • 速盾:Python可以用高防CDN吗?
  • Open CASCADE学习|基于AIS_PointCloud显示点集
  • 【Python · PyTorch】时域卷积网络 TCN
  • Mybatis配置文件解析(详细)
  • 创智未来“人工智能机器人研学活动启动政企学研联动培育科技新苗