首页 > 解决方案 > TypeError:“OneHotEncoder”对象不可迭代

问题描述

我正在尝试对以下数据集的分类变量使用 OneHotEncoding。 在此处输入图像描述

首先,我正在尝试转换“地理”列。这是我到目前为止所做的:

from sklearn.preprocessing import OneHotEncoder
from sklearn.compose import ColumnTransformer 

ct = ColumnTransformer(['Geography',OneHotEncoder(categories='auto'),[1]],remainder='passthrough')
df_ = ct.fit_transform(df.values)

但是,当我尝试这个时,我收到以下错误:错误信息

有人可以帮我理解为什么会发生这个错误以及如何解决这个问题吗?

标签: scikit-learnone-hot-encoding

解决方案


的输入参数中存在语法错误ColumnTransformer。它需要一个元组列表。

转换器:元组列表

(名称、转换器、列)元组列表,指定要应用于数据子集的转换器对象。

尝试通过将编码器参数转换为元组来修复它

ct = ColumnTransformer([('Geography',OneHotEncoder(categories='auto'),[1])],remainder='passthrough')

推荐阅读