这是我的问题,我希望有人能帮我弄清楚..
解释一下,我的数据集中有 10 多个分类列,每个列都有 200-300 个类别。我想将它们转换成二进制值。为此,我使用第一个标签编码器将字符串类别转换为数字。标签编码器代码和输出如下所示。
在 Label Encoder 之后,我再次使用了来自 scikit-learn 的 One Hot Encoder,它成功了。但问题是,我需要一个热编码器后的列名称。例如,A 列在编码之前具有分类值。 A = [1,2,3,4,..]
编码后应该是这样的,
A-1, A-2, A-3
任何人都知道如何在一次热编码后将列名分配给(旧列名 - 值名称或数字)。这是我的一个热编码及其输出;
我需要带有名称的列,因为我训练了一个人工神经网络,但每次出现数据时,我都无法一次又一次地转换所有过去的数据。所以,我想每次都添加新的。还是谢谢。。
原文由 Aditya Pratama 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用
.get_feature_names()
属性获取列名。详细示例在 这里。
更新
从 1.0 版开始,使用
get_feature_names_out