python sklearn pipiline fit:“;AttributeError:lower not found";
我试图使用sklearn将所有文本数据分为3类。但是我越来越 “AttributeError:找不到更低的值” 跑步的时候 代码: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
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将为您执行此操作。