我正在尝试编写仇恨语音检测代码,但是我遇到了问题。我收到错误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]
答案 0 :(得分:0)
这里暗中冒充,但是本文档提到了一个名为“ train”而不是“ fit”的函数;也许这就是您的问题:Syntax Of return
此外,您确定在此处传递第二个参数(X_test)是正确的吗?对于分类器而言,这是不正常的,因为您应该只在该步骤中传递训练数据,并且文档中也没有提及它。
答案 1 :(得分:0)
据我所知,应该为classifier.train([X_train, y_train])
答案 2 :(得分:0)
尝试此,它应该工作:
classifier = SklearnClassifier(LinearSVC())
classifier = classifier.fit(X_train,X_test)