首页 > 解决方案 > 如何在机器学习中对包含(假设超过 200 个)分类值的列进行编码?

问题描述

我想对一列进行编码(比如名称 - 包含 1000 辆或更多汽车的名称)。我尝试使用以下代码对列进行 OneHotEncoding:

from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder
ct= ColumnTransformer(transformers=[('encoder',OneHotEncoder(),[0,1,4,5,6])],remainder='passthrough')
x = np.array(ct.fit_transform(x))

当我运行这行代码时,它给出了 2 个错误 - 1)无法将字符串转换为浮点数:2)对于稀疏输出,所有列都应该是数字或可转换为数字。

有什么方法可以对包含 1000 个或更多分类值的列进行编码?

标签: pythonmachine-learningscikit-learnone-hot-encoding

解决方案


推荐阅读