SKlearn 导入 MLPClassifier 失败
Posted
技术标签:
【中文标题】SKlearn 导入 MLPClassifier 失败【英文标题】:SKlearn import MLPClassifier fails 【发布时间】:2016-03-05 03:07:02 【问题描述】:我正在尝试在 python 中使用来自 scikit-learn 的 multilayer perceptron。我的问题是,导入不起作用。 scikit-learn 的所有其他模块都运行良好。
from sklearn.neural_network import MLPClassifier
导入错误:无法导入名称 MLPClassifier
我在 Visual Studio 2015 中使用 Python 环境 Python64 位 3.4。
我在控制台上安装了 sklearn:conda install scikit-learn
我还安装了 numpy 和 pandas。在出现上述错误后,我还安装了 scikit-neuralnetwork 与:pip install scikit-neuralnetwork
安装的 scikit-learn 版本为 0.17。
我做错了什么?我错过了安装吗?
----- 编辑----
除了tttthomasssss的答案,我找到了如何为神经网络安装sknn库的解决方案。我关注了这个tutorial。 执行以下步骤:
pip install scikit-neuralnetwork
下载并安装GCC compiler
用conda install mingw libpython
安装mingw
之后您可以使用sknn 库。
【问题讨论】:
【参考方案1】:MLPClassifier
在 scikit-learn
v0.17 中尚不可用(截至 2015 年 12 月 1 日)。如果你真的想使用它,你可以克隆0.18dev
(但是,我不知道这个分支目前有多稳定)。
【讨论】:
如何克隆最新版本? @Noober 见这里:scikit-learn.org/stable/developers/… 我刚刚完成了这个,使用 MLP 的开发版本非常稳定。【参考方案2】:我也带着 v0.17 的问题来到这里。我找到了一个使用 pip here 的解决方案,即
pip install git+https://github.com/scikit-learn/scikit-learn.git
我必须先执行pip install cython
。
但是,安装0.19.dev0
(当前),但pip list
表示最新的是0.18rc2
。而是
pip install scikit-learn==0.18.rc2
更令人满意地解决了这个问题。
【讨论】:
【参考方案3】:从外壳/终端
conda update scikit-learn
【讨论】:
【参考方案4】:apt-get update; \
apt-get install -y python python-pip \
python-numpy \
python-scipy \
build-essential \
python-dev \
python-setuptools \
libatlas-dev \
libatlas3gf-base
update-alternatives --set libblas.so.3 /usr/lib/atlas-base/atlas/libblas.so.3; update-alternatives --set liblapack.so.3 /usr/lib/atlas-base/atlas/liblapack.so.3
pip install -U scikit-learn
我已经从 sklearn.neural_network 导入了 MLPClassifier,它似乎确实有效。
您也可以使用 docker 映像来处理此问题。这允许任何开发人员在一分钟内在任何服务器中重新创建环境。可以从here拉取图片
这也可以使用 datmo-cli 工具非常轻松地执行。我们自己也遇到了这些问题,并决定构建它。
您也可以使用 Datmo 一键解决此问题 免责声明:我在Datmo工作
【讨论】:
以上是关于SKlearn 导入 MLPClassifier 失败的主要内容,如果未能解决你的问题,请参考以下文章
partial_fit Sklearn 的 MLPClassifier
Sklearn 中 MLPClassifier 中最重要的功能
从 sklearn 的 MLPClassifier 中检索最终的隐藏激活层输出
使用 L2 正则化将 sklearn MLPClassifier 移植到 Keras
使用sklearn时cannot import name MLPClassifier的解决办法
将 sklearn.neural_network.MLPClassifier 与 ndarray 的 csr_matrices 一起使用