我正在尝试用python实现多个学习分类器。我在代码中有5个随机的森林分类器,但是现在我不能从sklearn.ensemble
导入VotingClassifier
函数。
当我写下这篇文章时:
from sklearn.ensemble import VotingClassifier
错误信息为:
ImportError: cannot import name VotingClassifier
我该如何解决这个问题呢?
发布于 2015-09-03 07:23:26
我是在scikit learn中实现VotingClassifier
的人。很抱歉造成混乱,我只是偶然发现了scikit-learn 16.1文档中的“示例”部分。这有点误导,VotingClassifier
已经实现了,但将在下一个版本的scikit-Learn0.17中实现。
如果你想“已经”使用它,你有两个选择:
1)您可以通过GitHub:https://github.com/scikit-learn/scikit-learn安装当前的scikit learn开发版本(说明在自述文件中)
2)或者,你可以在mlxtend
中使用它作为EnsembleClassifier
(http://rasbt.github.io/mlxtend/docs/classifier/scikit-learn_ensemble_classifier/),直到新的scikit版本出来。mlxtend
包是我的一个小“游乐场”,我在这里上传了一些我有时觉得有用的示例和函数。
希望这能有所帮助!
发布于 2015-05-29 01:30:10
问:我如何解决这个问题?
你的问题是明确的,可以解决的。魔鬼隐藏在细节中。VotingClassifier
是在一个scikit learn changelog中宣布的,它是0.17.0
仍然处于湿墨水状态的版本的附加组件。
如果您正在运行python的Anaconda / conda
包管理器,请检查:
$ conda search —all scikit-learn
和
用于验证任何新添加的依赖项的$ conda depends scikit-learn
创建一个新的、独立的、运行python的conda
-named / -controlled环境的$ conda create -n (test-0-17-0-sklearn) scikit-learn
,它有一个可靠的sklearn版本。0.17.0,用于进一步的DEV/测试
答:在任何情况下,都要将导入包装到try:
{ ... } except:
{ ... }中
try:
from sklearn.ensemble import VotingClassifier
except:
try:
import sklearn
print "WARNING: [VotingClassifier] not available\n",
"WARNING: [import sklearn] reports version: ",
sklearn.__version__, "\n"+60*"|"
except:
print "WARNING: impossible to [import sklearn] at all\n",
60*"|"
https://stackoverflow.com/questions/30466505
复制相似问题