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

独热编码生成重复特征列引发LightGBM报错,如何解决?

解决LightGBM特征重复问题:为独热编码列添加前缀

问题根源很清晰:比利时的Limburg既是城市名也是省份名,用pd.get_dummies做独热编码时,两个字段生成的列名都是Limburg,导致LightGBM检测到重复特征,抛出致命错误。

当然可以给独热编码列加前缀,pd.get_dummies本身就支持prefix参数,用来给生成的列名添加前缀,避免不同特征组的列名冲突。

修改后的代码如下:

import pandas as pd 
# 为独热编码列添加前缀,避免特征名重复
one_hot_city_name = pd.get_dummies(data.city_name, prefix='city') 
one_hot_state_of_the_building = pd.get_dummies(data.state_of_the_building, prefix='state') 
one_hot_province = pd.get_dummies(data.province, prefix='province') 
one_hot_region = pd.get_dummies(data.region, prefix='region')

这样处理后,城市Limburg对应的列名会变成city_Limburg,省份Limburg对应的列名会变成province_Limburg,彻底解决特征名重复的问题,后续训练LightGBM就不会再报错了。

内容的提问来源于stack exchange,提问作者Luis Valencia

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 07:36:33