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

如何查看One Hot Encoding编码后各位置对应的原始类别名称?

获取标签与one-hot索引映射的方法

你使用的LabelEncoder实例在执行fit操作后,会自动将标签按排序规则生成对应索引,所有映射关系都存储在classes_属性中。

第一步:先修正你的编码逻辑(避免映射不一致)

你当前的代码存在问题:测试集不应该重新调用fit_transform,否则会重置LabelEncoder学习到的映射关系,导致训练集和测试集的索引对应规则不一致,正确代码如下:

encoder = LabelEncoder()
# 仅在训练集上执行fit,学习全量标签的映射规则
y_train = encoder.fit_transform(train['Label'].values)
y_train = to_categorical(y_train) 
# 测试集直接用训练好的encoder做转换,不要重新fit
y_test = encoder.transform(test['Label'].values)
y_test = to_categorical(y_test)

第二步:生成标签与索引的映射字典

直接遍历encoder.classes_即可生成你需要的映射关系,classes_数组的下标就是one-hot向量对应位置的索引:

label_to_index = {label: idx for idx, label in enumerate(encoder.classes_)}
# 打印映射关系
print(label_to_index)

如果要反向通过索引查标签,直接取encoder.classes_[索引值]即可,比如你示例中y_train[0]输出[0. 1. 0. 0.],对应标签就是encoder.classes_[1]。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 07:06:03