尝试在多列数据集中使用LabelEncoder和OneHotEncoder

我试图转换多个包含大量分类值数据的列,但在使用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中的分类值

from sklearn.preprocessing import LabelEncoder

le = LabelEncoder()X_1 = X_census.apply(le.fit_transform)X_2 = X_1.to_numpy()

3) 现在对X_2使用OneHotEncoder将分类值转换为数值

from sklearn.preprocessing import OneHotEncoderfrom sklearn.compose import ColumnTransformeroh = OneHotEncoder()onehotencoder_census = ColumnTransformer(transformers=[('OneHot', oh, X_2[:])],remainder='passthrough')X_census = onehotencoder_census.fit_transform(X_census) # 错误出现在这里!

错误信息


回答:

你可以使用pandas.get_dummies

df = pd.DataFrame({“marital_status”:[‘S’,’M’,’D’,’S’,’M’,’D’,’S’,’M’,’D’],”sex”:[“male”,”female”,”male”,”female”,”male”,”female”,”male”,”female”,”male”],”education”:[‘grad’,’post-grad’,’grad’,’post-grad’,’grad’,’post-grad’,’grad’,’post-grad’,’grad’],”income”:[125,135,120,110,90,150,180,130,110]})

enter image description here

pd.get_dummies(df)

enter image description here

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注