gpt4 book ai didi

python - OneHotEncoder 类别参数

转载 作者:行者123 更新时间:2023-11-30 09:03:33 25 4
gpt4 key购买 nike

在 sklearn 0.22 中,categorical_features 参数将被删除,因此以下代码不再可执行:

import numpy as np
from sklearn.preprocessing import OneHotEncoder

X = np.array([[1, 1], [2, 2], [1, 3]])
encoder = OneHotEncoder(categorical_features=[1], sparse=False)

print(encoder.fit_transform(X))

问题是,如何使用类别参数实现与上面代码中相同的行为,因为 OneHotEncoder(categories=[[1, 2], [1, 2, 3]],稀疏= False) 也会对第一列进行编码,并且 OneHotEncoder(categories=[[1, 2, 3]],稀疏=False) 抛出错误

最佳答案

好的,所以基本上您希望对第二列 [1,2,3] 进行单热编码,并保留第一列 [1,2,1] 作为传递。在较新的 sklearn 版本中,您可以使用 ColumnTransformer 来组合不同的预处理过程,如下所示:

import numpy as np
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder

X = np.array([[1, 1], [2, 2], [1, 3]])
encoder = ColumnTransformer(
[('number1', OneHotEncoder(dtype='int'), [1])],
remainder="passthrough"
)

print(encoder.fit_transform(X))

那么您不必指定类别的值范围。请参阅文档了解更多详细信息。

ColumnTransformer

关于python - OneHotEncoder 类别参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58854832/

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