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

Posted

技术标签:

【中文标题】NLP - \'SklearnClassifier\' 对象没有属性 \'fit\' / Python【英文标题】:NLP - 'SklearnClassifier' object has no attribute 'fit' / PythonNLP - 'SklearnClassifier' 对象没有属性 'fit' / Python 【发布时间】:2019-08-04 06:48:47 【问题描述】:

我正在尝试编写仇恨言论检测代码,但遇到了一个问题。我收到错误SklearnClassifier' object has no attribute 'fit' 我正在从使用 python 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]

【问题讨论】:

【参考方案1】:

试试这个,它应该可以工作:

SKlearn 包装器

分类器 = SklearnClassifier(LinearSVC())

分类器 = 分类器.fit(X_train, X_test)

【讨论】:

另外,正如 Christoph 指出的那样,它应该是 (x_train,y_train)。【参考方案2】:

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

【讨论】:

【参考方案3】:

这里是在黑暗中拍摄的,但是这个文档提到了一个名为“train”而不是“fit”的函数;也许这就是你的问题:https://www.nltk.org/_modules/nltk/classify/scikitlearn.html

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

【讨论】:

以上是关于NLP - 'SklearnClassifier' 对象没有属性 'fit' / Python的主要内容,如果未能解决你的问题,请参考以下文章

使用 NLTK 的 SklearnClassifier 和 ClassifierBasedPOSTagger 构建自己的基于分类器的词性标注器

nlp是啥意思

什么是NLP

NLP有问题!!!

NLP-Progress记录NLP最新数据集论文和代码: 助你紧跟NLP前沿

nlp是啥