NLP-“ SklearnClassifier”对象没有属性“ fit” / Python

时间:2019-03-13 14:38:11

标签: python python-3.x scikit-learn deep-learning nlp

我正在尝试编写仇恨语音检测代码,但是我遇到了问题。我收到错误SklearnClassifier' object has no attribute 'fit',我从使用pyhton 2的源中查找,但是我正在使用python 3,也许是因为这个原因出现问题,但我无法解决。我该如何解决这个问题?

training_set = nltk.classify.apply_features(extract_features, train_tweets)

classifier = nltk.NaiveBayesClassifier.train(training_set)

from sklearn.ensemble import AdaBoostClassifier
from nltk.classify.scikitlearn import SklearnClassifier

# SKlearn Wrapper
classifier = SklearnClassifier(LinearSVC())

classifier.fit(X_train, X_test)

predicted_labels = [classifier.classify(extract_features(tweet[0])) for tweet in test_tweets]

3 个答案:

答案 0 :(得分:0)

这里暗中冒充,但是本文档提到了一个名为“ train”而不是“ fit”的函数;也许这就是您的问题:Syntax Of return

此外,您确定在此处传递第二个参数(X_test)是正确的吗?对于分类器而言,这是不正常的,因为您应该只在该步骤中传递训练数据,并且文档中也没有提及它。

答案 1 :(得分:0)

据我所知,应该为classifier.train([X_train, y_train])

答案 2 :(得分:0)

尝试此,它应该工作:

SKlearn包装器

classifier = SklearnClassifier(LinearSVC())

classifier = classifier.fit(X_train,X_test)