sklearn.ensemble中的VotingClassifier ImportError

时间:2015-05-26 18:47:12

标签: python machine-learning classification python-import random-forest

我正在尝试在python中实现多个学习分类器。我在代码中有5个随机森林分类器,但现在我无法从VotingClassifier导入sklearn.ensemble函数。

当我写这篇文章时:

from sklearn.ensemble import VotingClassifier

错误说:

ImportError: cannot import name VotingClassifier 

我该如何解决这个问题?

2 个答案:

答案 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作为EnsembleClassifierhttp://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*"|"