繁体   English   中英

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

[英]ImportError: cannot import name choice when importing sklearn.mixture

我正在使用 scikit 学习 0.15.0。 当我尝试导入 sklearn.mixture 时出现 ImportError: cannot import name choice

有任何想法吗?

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

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

如前所述,这可能与旧文件(是在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

应该说它已经安装了

尝试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 版, 因此 /usr/local/lib/python2.7/dist-packages/sklearn/utils 中包含 random.so旧版本

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

希望这可以帮助。

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

新的实现是

from sklearn import mixture
model = mixture.GaussianMixture(n_components=3, covariance_type='full')

只需替换前两行

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM