【发布时间】:2021-09-13 02:15:05
【问题描述】:
我正在尝试转换多个列,其中包含分类值中的一堆数据;但是当我使用 OneHotEncoder 时出现错误
1) 分隔 X_census 和 Y_census 中的列(X_census 包含分类值):
X_census = df[['workclass',
'education',
'marital-status',
'occupation',
'relationship',
'race',
'sex',
'native-country']]
Y_census = df['income']
2) 使用 LabelEncoder 处理来自 X_census 的分类值:
从 sklearn.preprocessing 导入标签编码器
le = LabelEncoder()
X_1 = X_census.apply(le.fit_transform)
X_2 = X_1.to_numpy()
3) 现在在我的 X_2 中使用 OneHotEncoder 将分类值转换为数值:
from sklearn.preprocessing import OneHotEncoder
from sklearn.compose import ColumnTransformer
oh = OneHotEncoder()
onehotencoder_census = ColumnTransformer(transformers=[('OneHot', oh, X_2[:])],remainder='passthrough')
X_census = onehotencoder_census.fit_transform(X_census) # Error appears here!
【问题讨论】:
-
你能展示你的 X_2 吗?
标签: python machine-learning data-science one-hot-encoding