【问题标题】:SKLearn MLPClassifier import errorSKLearn MLPClassifier 导入错误
【发布时间】:2016-10-03 07:58:33
【问题描述】:
我无法从SKLearn 导入MLPClassifier。
版本为 0.17
这是我得到的错误:
ImportError: cannot import name MLPClassifier
这是我的代码:
from sklearn.neural_network import MLPClassifier
我安装了最新版本的 SKLearn。我还使用以下方法对其进行了更新:
pip install -U scikit-learn
【问题讨论】:
标签:
python-2.7
scikit-learn
neural-network
【解决方案1】:
0.17 版中的sklearn.neural_network 仅具有BernoulliRBM 类,如version page 所示。您可以通过以下方式确认:
>>> from sklearn import neural_network
>>> getattr(neural_network, "MLPCLassifier", None)
>>> getattr(neural_network, "BernoulliRBM", None)
<class 'sklearn.neural_network.rbm.BernoulliRBM'>
您可以直接从git 安装以获得具有MLPCLassifier 类的0.18 版本:
$ pip install cython
$ pip install git+https://github.com/scikit-learn/scikit-learn.git
cython 是cythonize您的安装所必需的。
【讨论】:
-
-
尝试 keras(最简单)、lasagne(比 keras 更少的 theano 抽象)、tensorflow...(有很多通用的 NN-libs)。它们将更快并支持更多功能!来自 sklearn-docs:Warning This implementation is not intended for large-scale applications. In particular, scikit-learn offers no GPU support. For much faster, GPU-based implementations, as well as frameworks offering much more flexibility to build deep learning architectures, see Related Projects. 相关项目的链接:link
【解决方案2】:
运行以下命令。这将卸载旧版本并重新安装更新版本。
pip install -U scikit-learn
安装后会出现以下信息。
弃用:卸载已安装的 distutils 项目 (scikit-learn) 已被弃用,并将在未来的版本中删除。这是因为卸载 distutils 项目只会部分卸载该项目。
Uninstalling scikit-learn-0.14.1:
Successfully uninstalled scikit-learn-0.14.1
成功安装scikit-learn-0.19.1