sklearn的ColumnTransformer代码中remainder='passthrough'处出现语法错误如何解决
错误触发原因
你编写的代码存在参数位置不合法的问题:
ColumnTransformer的第一个位置参数是由所有转换器配置组成的列表,remainder是该类初始化的独立关键字参数,你错误将其写进了转换器列表内部,违反了Python函数参数传递的语法规则,因此直接触发语法错误。
修复方法
将remainder='passthrough'移出转换器列表,作为单独的关键字参数传入即可,同时可以同步修正已被新版本NumPy弃用的np.float写法,避免后续运行告警:
import numpy as np from sklearn.compose import ColumnTransformer from sklearn.preprocessing import OneHotEncoder # 原代码缺漏该导入,需补充 ct = ColumnTransformer([('encoder', OneHotEncoder(), [3])], remainder='passthrough') x = np.array(ct.fit_transform(x), dtype = np.float64)
内容的提问来源于stack exchange,提问作者Abhi96
相关产品推荐
相关产品推荐

