You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何减少One-hot编码后生成的特征列数量

高基数分类特征One-Hot编码降维方案

针对国籍类高基数分类特征做普通One-Hot编码产生227列的维度膨胀问题,可直接用以下几类方法解决,按需选择即可:

  • 先合并稀有类别再做OHE
    先统计所有国籍类别的样本量占比,设定合理阈值(比如占总样本比例低于1%的类别),将所有低于阈值的小众国籍统一归为Other分类后再执行One-Hot编码。这类高基数特征里绝大多数类别都是样本量极少的稀有值,合并后通常能把列数压缩到20列以内,信息损失极小。

    实操提示:如果个别稀有国籍和建模目标的相关性极强,可以单独保留,不用强行并入Other类,避免损失有效信号。

  • 替换普通OHE为适配高基数特征的编码方式
    • 目标编码(Target Encoding):按交叉验证拆分的折数,用每个国籍类别对应的训练集目标变量均值(分类任务为正样本占比、回归任务为目标均值)作为编码值,整个国籍特征仅输出1列数值,完全无维度膨胀问题,注意不能用全量数据统计编码值,避免数据泄露。
    • 频率编码:用每个国籍在数据集中的出现频率作为编码值,同样仅输出1列,适合国籍分布和建模目标存在明显关联的场景。
    • 嵌入编码:如果使用神经网络类模型,可以为国籍特征设置维度为5-10的嵌入层,将离散国籍映射为低维稠密向量,维度远低于原始OHE输出。
  • OHE后做特征筛选
    如果需要保留原始OHE的编码逻辑,可以先用树类模型(随机森林、XGBoost、LightGBM)对全量特征做重要性排序,直接剔除特征重要性为0或极低的OHE列,仅保留对预测目标有贡献的列即可。

国籍列OHE输出示例

内容的提问来源于stack exchange,提问作者Rai Shikoh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.11 16:16:23