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

【漫话机器学习系列】044.热点对特性的影响(Effect Of One Hot On Feature Importance)

6ce754f1a88543d8aee8d96030214b01.jpeg

热点对特性的重要性影响(Effect of One-Hot Encoding on Feature Importance)

一热编码(One-Hot Encoding) 是处理类别型数据的常用方法,将每个类别特征转换为一组独立的二进制特征。这种方法在提高模型处理非数值数据能力的同时,也可能影响特性的重要性评估。


影响机制

  1. 特征分裂:分散重要性
    一热编码将一个类别特征拆分成多个独立的二进制特征,这使得原始特征的重要性分散到多个编码后的特征上。以决策树为例,树的分裂节点可能仅针对部分类别进行分裂,从而每个二进制特征的重要性权重被稀释。

    示例:一个包含 4 个类别的特征,经过一热编码后变成了 4 个二进制特征。如果该特征整体很重要,编码后的每个二进制特征可能分别显示为“较低的重要性”,但它们的总和反映了原始特征的重要性。

  2. 稀疏数据的引入
    一热编码通常会导致数据的稀疏性增加,尤其是当类别数量较多时。模型对稀疏特征的处理能力可能不均衡,这会进一步影响特征重要性的计算结果。例如,线性模型可能对稀疏特征赋予更小的权重。

  3. 对不同模型的影响不同

    • 树模型(如决策树、随机森林、XGBoost)
      树模型能够处理类别型数据,但对一热编码后的特征,其重要性可能被分散到多个二进制特征上。
    • 线性模型(如线性回归、逻辑回归)
      线性模型对一热编码后的特征的权重直接反映其重要性,但高维度可能会引入多重共线性问题,进一步影响模型对特征重要性的判断。
  4. 类别间的相似性丢失
    一热编码假设类别之间相互独立,而忽略了可能存在的类别关系(例如顺序或相似性)。这种独立性假设可能使模型在评估特征重要性时无法充分利用类别之间的信息。


解决方法

  1. 合适的编码方法
    如果类别具有顺序或相似性,可以考虑使用目标编码(Target Encoding)或嵌入编码(Embedding Encoding)替代一热编码。这些方法能够更好地保留类别间的关系。

  2. 特征重要性重新组合
    对于树模型,将一热编码后的多个二进制特征的重要性进行聚合,计算它们的总和,以反映原始类别特征的真实重要性。

    示例:重要性聚合

    original_feature_importance = sum(encoded_features_importance)

     

  3. 使用支持类别数据的模型
    选择能够直接处理类别特征的模型,如 LightGBM,它能够直接处理非数值类别特征而不需要一热编码。


总结

一热编码对特性重要性评估的影响主要表现在分散特征重要性、引入稀疏性以及可能丢失类别间的关系上。应根据具体任务选择适合的编码方法,并结合特征聚合或支持类别数据的模型来减少一热编码对特性重要性评估的不良影响。

 


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

相关文章:

  • 【dockerros2】ROS2节点通信:docker容器之间/docker容器与宿主机之间
  • 前端常见的设计模式之【单例模式】
  • 论文阅读:Searching for Fast Demosaicking Algorithms
  • 医学图像分割半监督学习记录
  • 在Linux系统中无网络安装Nginx并配置负载均衡
  • 【MySQL学习笔记】MySQL视图View
  • Rust 正则表达式完全指南
  • zerox - 使用视觉模型将 PDF 转换为 Markdown
  • 机器学习中的凸函数和梯度下降法
  • 海康MV-EB435i立体相机SDK安装(ROS 2)
  • 瑞芯微 RK 系列 RK3588 使用 ffmpeg-rockchip 实现 MPP 视频硬件编解码-代码版
  • 设计模式学习手册(四)(原型模式)
  • C++—17、C++ 中的类和结构体的区别
  • 《计算机网络》课后探研题书面报告_了解PPPoE协议
  • 基于Springboot: 宠物小程序开发笔记(上)
  • Unity2017 控制.abc格式的三维动画播放
  • Kylin Linux V10 替换安装源,并在服务器上启用 EPEL 仓库
  • Python 替换excel 单元格内容
  • Pyinstaller打包
  • Python与Excel:开启自动化办公新时代
  • AudioGPT全新的 音频内容理解与生成系统
  • 深入理解 MySQL 中 FIND_IN_SET 函数在查询中的应用
  • 美化IDE之修改IDEA启动界面logo图片
  • laravel中请求失败重试的扩展--Guzzle
  • 【Hive】海量数据存储利器之Hive库原理初探
  • mysql,PostgreSQL,Oracle数据库sql的细微差异(2) [whith as; group by; 日期引用]