【问题标题】: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]

【问题讨论】:

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


    【解决方案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) 是正确的吗?分类器不正常,因为您应该只在该步骤中传递训练数据,并且文档也没有提及。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-12
        • 1970-01-01
        • 1970-01-01
        • 2019-06-18
        • 1970-01-01
        • 2015-08-03
        • 1970-01-01
        • 2010-10-05
        相关资源
        最近更新 更多