ImportError:导入sklearn.mixture时无法导入名称选择

时间:2014-07-28 17:54:35

标签: python scikit-learn python-import

我正在使用scikit学习0.15.0。当我尝试导入sklearn.mixture时,我得到了 ImportError:无法导入名称选择

有什么想法吗?

=============================================== ====================

In [1]: **from sklearn import mixture**

ImportError                               Traceback (most recent call last)
<ipython-input-1-05bc76cab98d> in <module>()
----> 1 from sklearn import mixture

/home/f/anaconda/lib/python2.7/site-packages/sklearn/mixture/__init__.py in <module>()
      3 """
      4
----> 5 from .gmm import sample_gaussian, log_multivariate_normal_density
      6 from .gmm import GMM, distribute_covar_matrix_to_match_covariance_type
      7 from .gmm import _validate_covars

/home/f/anaconda/lib/python2.7/site-packages/sklearn/mixture/gmm.py in <module>()
     16 from ..utils import check_random_state, deprecated
     17 from ..utils.extmath import logsumexp, pinvh
---> 18 from .. import cluster
     19
     20 from sklearn.externals.six.moves import zip

/home/f/anaconda/lib/python2.7/site-packages/sklearn/cluster/__init__.py in <module>()
      4 """
      5
----> 6 from .spectral import spectral_clustering, SpectralClustering
      7 from .mean_shift_ import mean_shift, MeanShift, estimate_bandwidth, \
      8     get_bin_seeds

/home/f/anaconda/lib/python2.7/site-packages/sklearn/cluster/spectral.py in <module>()
     16 from ..neighbors import kneighbors_graph
     17 from ..manifold import spectral_embedding
---> 18 from .k_means_ import k_means
     19
     20

/home/f/anaconda/lib/python2.7/site-packages/sklearn/cluster/k_means_.py in <module>()
     28 from ..utils import as_float_array
     29 from ..utils import gen_batches
---> 30 from ..utils.random import choice
     31 from ..externals.joblib import Parallel
     32 from ..externals.joblib import delayed

ImportError: cannot import name choice

3 个答案:

答案 0 :(得分:4)

如上所述,它可能与旧文件(在python而不是库中实现?)在一个新包中,你可能使用pip install -U packagename更新了(在我的例子中是pip install -U scikit-learn) )在手动删除内容之前,首先尝试卸载软件包并重新安装可能是值得的...(在我的情况下工作) 卸载 (在我的例子中,在Anaconda命令提示符下运行它):

   pip uninstall scikit-learn

然后:

   pip install -U numpy scipy scikit-learn

(添加依赖项以防万一) 然后只是为了确定

   pip install scikit-learn

应该说它已经安装

答案 1 :(得分:2)

当我尝试import KMeans时,我遇到了同样的错误:from sklearn.cluster import KMeans

Error > ImportError: cannot import name choice

我在这里找到答案:https://github.com/scikit-learn/scikit-learn/issues/3461

由于我几天前已升级到Scikit版本0.15, <{>} {<1}}

我手动删除它,现在我不再收到错误了。

希望这有帮助。

答案 2 :(得分:0)

from sklearn.mixture import GaussianMixture

使用此选项将使其更具体地与.gmm一起使用,

from sklearn.cluster import KMeans

针对:

     16 from ..neighbors import kneighbors_graph
     17 from ..manifold import spectral_embedding
---> 18 from .k_means_ import k_means