gpt4 book ai didi

python - 带 ColumnTransformer 的 SKLearn 管道 : 'numpy.ndarray' object has no attribute 'lower'

转载 作者:行者123 更新时间:2023-12-01 08:22:33 25 4
gpt4 key购买 nike

我正在尝试使用 SKLearn 0.20.2 来创建管道,同时使用新的 ColumnTransformer 功能。我的问题是我不断收到错误:

AttributeError:'numpy.ndarray'对象没有属性'lower'

我有一列名为 text 的文本 block 。我的所有其他专栏本质上都是数字。我正在尝试在管道中使用 Countvectorizer,我认为这就是问题所在。非常感谢您的帮助。

from sklearn.impute import SimpleImputer
from sklearn.compose import ColumnTransformer
# plus other necessary modules

# mapped to column names from dataframe
numeric_features = ['hasDate', 'iterationCount', 'hasItemNumber', 'isEpic']
numeric_transformer = Pipeline(steps=[
('imputer', SimpleImputer(strategy='median'))
])

# mapped to column names from dataframe
text_features = ['text']
text_transformer = Pipeline(steps=[
('imputer', SimpleImputer(strategy='most_frequent”')),
('vect', CountVectorizer())
])

preprocessor = ColumnTransformer(
transformers=[('num', numeric_transformer, numeric_features),('text', text_transformer, text_features)]
)

clf = Pipeline(steps=[('preprocessor', preprocessor),
('classifier', MultinomialNB())
])

x_train, x_test, y_train, y_test = train_test_split(features, labels, test_size=0.33)
clf.fit(x_train,y_train)

最佳答案

@SergeyBushmanov 帮助我诊断了标题中的错误,这是由于在文本上运行 SimpleImputer 引起的。

我还有一个错误,我将为其编写一个新问题。

关于python - 带 ColumnTransformer 的 SKLearn 管道 : 'numpy.ndarray' object has no attribute 'lower' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54530244/

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