gpt4 book ai didi

python - 使用 sklearn 通过列转换器创建虚拟变量

转载 作者:行者123 更新时间:2023-12-01 06:45:38 24 4
gpt4 key购买 nike

我一直在尝试使用 ANN 创建一个用于实践目的的深度学习模型。我有一个假银行的客户数据,其中有两个分类变量,即性别和国家/地区。

我使用 LabelEncoder 对两列进行编码,但无法为国家/地区列创建虚拟变量。国家有法国、德国和西类牙三个国家。

我得到的错误:

ValueError: not enough values to unpack (expected 3, got 2)

我的代码:

# Encodeing categorical data
# for country column
labelencoder_X_1 = LabelEncoder()
X[:, 1] = labelencoder_X_1.fit_transform(X[:, 1])

# for gender column
labelencoder_X_2 = LabelEncoder()
X[:, 2] = labelencoder_X_2.fit_transform(X[:, 2])

ct = ColumnTransformer(
transformers=[
("dummy_var", # Just a name
OneHotEncoder( # The transformer class
categories=[[1]]) # The column(s) to be applied on.
)
], remainder='passthrough')
X = ct.fit_transform(X).toarray()
X = X[:, 1:]
# print(X)

P.S:我使用Pycharm,深度学习新手。

提前致谢!

最佳答案

我认为您的错误是在 OneHotEncoder 中给出了列名称。必须为ColumnTransformer给出它。

试试这个!

ct = ColumnTransformer(
transformers=[
("dummy_var", # Just a name
OneHotEncoder(), # The transformer class
[1] # The column(s) to be applied on.
)
], remainder='passthrough')

注意:您不必在 OneHotEncoder 之前应用 labelEncoder。您可以直接应用 OneHotEncoder

关于python - 使用 sklearn 通过列转换器创建虚拟变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59233244/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com