我正在尝试编写一个仇恨语音检测代码,但我遇到了一个问题。我从使用pyhton 2的源码中得到了错误SklearnClassifier' object has no attribute 'fit'
,但我使用的是python3,也许问题就是因为这个而发生的,但我无法解决这个问题。我如何解决这个问题?
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]
发布于 2019-03-13 22:47:45
这里是白费力气,但本文档提到了一个名为"train“而不是”fit“的函数;也许这就是您的问题:https://www.nltk.org/_modules/nltk/classify/scikitlearn.html
另外,您确定在这里传递第二个参数(X_test)是正确的吗?对于分类器来说,这是不正常的,因为您应该只在该步骤中传递训练数据,而文档也没有提到这一点。
发布于 2019-03-13 22:48:39
据我所知,应该是classifier.train([X_train, y_train])
发布于 2019-03-13 23:00:52
试试这个,应该能行得通:
SKlearn包装器
分类器= SklearnClassifier(LinearSVC())
分类器= classifier.fit(X_train,X_test)
https://stackoverflow.com/questions/55144494
复制相似问题