簡體   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