我正在尝试在python中实现多个学习分类器。我在代码中有5个随机森林分类器,但现在我无法从VotingClassifier
导入sklearn.ensemble
函数。
当我写这篇文章时:
from sklearn.ensemble import VotingClassifier
错误说:
ImportError: cannot import name VotingClassifier
我该如何解决这个问题?
答案 0 :(得分:3)
我是在scikit-learn中实施VotingClassifier
的人。对不起,我只是偶然发现了"示例" scikit-learn 16.1文档中的部分。这有点误导,VotingClassifier
已经实现,但将在scikit-learn 0.17的下一个版本中。
如果你想使用它已经"已经"你有两个选择:
1)您可以通过GitHub安装当前的scikit-learn开发版本:https://github.com/scikit-learn/scikit-learn(说明在自述文件中)
2)或者,您可以使用mlxtend
作为EnsembleClassifier
(http://rasbt.github.io/mlxtend/docs/classifier/scikit-learn_ensemble_classifier/),直到新的scikit版本出来。 mlxtend
套餐是一个小小的游乐场"我上传了一些我觉得有用的例子和功能。
希望有所帮助!
答案 1 :(得分:0)
你的问题很清楚&解决-能。魔鬼隐藏在细节中。 VotingClassifier
在scikit-learn changelog中宣布为0.17.0
仍然湿润的墨水版本的附加权。
如果你正在为python运行Anaconda / conda
package-manager,请检查:
$ conda search —all scikit-learn
和
$ conda depends scikit-learn
以验证任何新添加的依赖项
$ conda create -n (test-0-17-0-sklearn) scikit-learn
用于创建一个新的,独立的,conda
- 命名/ /受控制的环境,用于运行python与一个确定的sklearn ver。 0.17.0用于进一步的DEV / TEST
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*"|"