【问题标题】:Sklearn error when trying to call a new classifier - Python 3.4尝试调用新分类器时出现 Sklearn 错误 - Python 3.4
【发布时间】:2016-12-13 00:36:50
【问题描述】:

每当我尝试调用一个新的分类器时,我都会收到同样的错误...

这是我的代码:

from nltk.classify.scikitlearn import SklearnClassifier
from sklearn.naive_bayes import BernoulliNB

BernoulliNB_classifier = SklearnClassifier(BernoulliNB())

这是错误:

Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\Python34\lib\site-packages\nltk\classify\scikitlearn.py", line 69, in __init__
self._encoder = LabelEncoder()
NameError: name 'LabelEncoder' is not defined

当我查看文档时,这正是它应该被调用的方式(参见http://www.nltk.org/api/nltk.classify.html

另外,它适用于 Python 2.7。

注意:我尝试了多项朴素贝叶斯、支持向量机和许多其他算法,它返回相同的错误。

【问题讨论】:

  • from sklearn.preprocessing import LabelEncoder 从您的 python 3.4 环境返回什么?您可能没有正确设置环境。见github.com/nltk/nltk/blob/develop/nltk/classify/…
  • @dukebody 它正常导入,我已经尝试过了..
  • @Charles:Python3 包中有 Numpy、Scipy、Scikit-learn 吗?如果不使用 PIP3 安装。
  • @ravi 是的,我有所有这些包
  • @Charles 我也有同样的问题 - 你找到解决办法了吗?

标签: python-3.x scikit-learn nltk


【解决方案1】:

尝试重启内核,对我有用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    • 2020-09-11
    • 2013-09-07
    • 2011-07-02
    • 1970-01-01
    • 1970-01-01
    • 2011-07-30
    相关资源
    最近更新 更多