编码分类变量,如“状态名称”

问题描述 投票:1回答:1

我有一个带有“状态名称”的分类列。我不确定必须执行哪种类型的分类编码才能将其转换为数字类型。

有83个唯一的州名。

标签编码器用于序数分类变量,但由于有83个唯一的州名称,因此OneHot将增加列数。

还有什么我可以尝试的吗?

python categorical-data one-hot-encoding label-encoding
1个回答
0
投票

我将使用scikit的OneHotEncoder(https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html)或CategoricalEncoder,其编码设置为“ onehot”。它会自动找到每个功能的唯一值并将其处理为一个热向量。它确实增加了该功能的输入维数,但是如果您要进行任何类型的数据科学工作,则这是必需的。如果将特征转换为序数整数(即仅一个整数),而不是二进制值向量,则算法可能会在两个(可能是完全分开的)分类值之间得出错误结论,而这两个分类值恰好在分类空间中很接近。

© www.soinside.com 2019 - 2024. All rights reserved.