← 返回题目列表

高基数类别特征如何处理?

高频 中等 第 1 / 25 题 更新于 2026/09/19
特征工程数据预处理特征选择数据泄露

简化版

高基数类别特征可用原生类别模型、折外目标编码、频数/哈希编码或 embedding;选择取决于样本量、冷启动和模型类型。最大风险是 ID 记忆、目标泄漏、OOV 和内存爆炸。

详细版

  • 整数 Label Encoding 不应让无序 ID 获得虚假大小。

  • one-hot 维度随类别数增长并产生稀疏性。

  • 目标编码必须折外且做平滑。

  • 哈希固定维度但产生不可逆碰撞。

  • Embedding 需要足够交互才能学稳稀有类别。

完整版教学

一、压缩类别空间时要控制方差

每类样本少时,任何类别专属统计或向量都方差高。

合并稀有类、平滑或共享表示是在个性化与证据量之间折中。

用户 ID 可能让离线随机切分极高,却无法泛化到新用户;评估必须包含 unseen-category 或时间外切片。

二、底层机制与公式

smoothed_target=(n_c*mean_c+alpha*global_mean)/(n_c+alpha)
hash_bucket=hash(category) mod B

三、带数字的推演

某类别仅 2 条且正例率 100%,全局率 10%,α=20,平滑值为 (2×1+20×0.1)/22≈0.182,不会直接记成 1.0。

四、方案对比

方案/对象核心特点代价或边界
折外目标编码紧凑、监督信号强泄漏风险
Hashing固定维度、支持新值碰撞且难解释
Embedding表达交互相似性训练和服务成本高

五、执行流程

统计基数/频数 -> 按主体时间切分 -> 选编码并折内 fit
-> 单列/组合消融 -> 检查新类别切片 -> 固化映射与回退

六、边界条件与工程代价

高基数代理标识可能泄露地域、设备或用户身份,除了泛化还需评估隐私与公平风险。

线上字典版本不一致会让整数映射错位;编码器与模型必须作为同一版本资产发布。

记忆钩子:处理高基数先问“每类有多少证据、线上会有多少新值”。

七、常见误区与追问

  • 误区:LabelEncoder 后可直接当连续特征。 编号顺序没有业务含义。

  • 追问:目标编码如何防泄漏? 训练集用 OOF,验证/测试只用训练统计。

  • 误区:哈希没有词表所以没有问题。 碰撞会混合不同类别信号。

  • 追问:如何评估冷启动? 单独报告未见类别和新实体指标。

  • 追问:稀有类为何要平滑? 少量样本的类别估计方差极大。

八、加强记忆

处理高基数先问“每类有多少证据、线上会有多少新值”。

编码只是压缩手段,折外、平滑、OOV 与版本才决定是否可靠。