python sklearn pipiline fit:“;AttributeError:lower not found";

python sklearn pipiline fit:“;AttributeError:lower not found";,python,machine-learning,scikit-learn,svm,text-classification,Python,Machine Learning,Scikit Learn,Svm,Text Classification,我试图使用sklearn将所有文本数据分为3类。但是我越来越 “AttributeError:找不到更低的值” 跑步的时候 代码: train, test = train_test_split(df, random_state=42, test_size=0.3, shuffle=True) X_train = train.contents X_test = test.contents Y_train = train.category Y_test = test.category clf_sv

我试图使用sklearn将所有文本数据分为3类。但是我越来越

“AttributeError:找不到更低的值”

跑步的时候

代码:

train, test = train_test_split(df, random_state=42, test_size=0.3, shuffle=True)
X_train = train.contents
X_test = test.contents
Y_train = train.category
Y_test = test.category

clf_svc = Pipeline([('vect', CountVectorizer()),
                    ('tfidf', TfidfVectorizer(tokenizer=',', use_idf=True, stop_words="english")),
                    ('clf', OneVsRestClassifier(LinearSVC(), n_jobs=1)),
                    ])

clf_svc = clf_svc.fit(X_train, Y_train)
predicted_svc = clf_svc(X_test)
print(np.mean(predicted_svc == Y_test))
数据框架(df)由两列组成:内容(长文本数据)和类别(文本) 数据)。内容是经过删减的文本,因此包含数十或数百个单词,类别是单个单词,如“A”、“B”

我已经检查了stackoverflow中过去的问题,但我无法解决出现的此错误。
我很高兴知道解决方案或代码本身的问题。
如有任何建议和答案,将不胜感激

提前感谢。

删除步骤
('vect',CountVectorizer())
或使用
TfidfTransformer
而不是
tfidvectorizer
,因为
tfidvectorizer
需要字符串数组作为输入,并且
CountVectorizer()
返回发生矩阵(即数字矩阵)

默认情况下,
TfidfVectorizer(…,lowercase=True)
将尝试将所有字符串“小写”,因此出现
错误消息“AttributeError:lower not found”

另外,参数
标记器
需要可调用(函数)或
,因此不要指定它。

删除步骤
('vect',CountVectorizer())
或使用
TfidfTransformer
而不是
tfidfvectorier
作为
tfidfvectorier
需要字符串数组作为输入,
countvectorier()
返回发生矩阵(即数字矩阵)

默认情况下,
TfidfVectorizer(…,lowercase=True)
将尝试将所有字符串“小写”,因此出现
错误消息“AttributeError:lower not found”


另外,参数
tokenizer
需要一个可调用(函数)或
None
,所以不要指定它。

您可以一起删除CountVectorizer。TfidfVectorizer将为您执行此操作。您可以一起删除CountVectorizer。TfidfVectorizer将为您执行此操作。