scikit-learn - 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)
有人可以帮我理解为什么会发生这个错误以及如何解决这个问题吗?
解决方案
的输入参数中存在语法错误ColumnTransformer
。它需要一个元组列表。
转换器:元组列表
(名称、转换器、列)元组列表,指定要应用于数据子集的转换器对象。
尝试通过将编码器参数转换为元组来修复它
ct = ColumnTransformer([('Geography',OneHotEncoder(categories='auto'),[1])],remainder='passthrough')
推荐阅读
- curl - cURL 'server certificate status verification SKIPPED'
- python - 如何使用 asyncio 和 concurrent.futures.ProcessPoolExecutor 在 Python 中终止长时间运行的计算(CPU 绑定任务)?
- pandas - 在 Panda 中读取文件列表时出现循环错误
- function - 似乎无法在 powershell 中使用多个参数执行 Function.Invoke?
- javascript - 变量 javascript 的快照
- python - 使用谷歌云存储“附件”
- android - 意图中的启动器选择器不起作用
- angular - Angular6中ngFor中的api调用
- java - 从响应式网站程序中选择“选择文件”按钮时不提供相机选项
- python - python内部函数以不同方式对待可变变量和不可变变量