J'essaie d'appeler une fonction du module cluster, comme ceci:
import sklearn
db = sklearn.cluster.DBSCAN()
et j'obtiens l'erreur suivante:
AttributeError: 'module' object has no attribute 'cluster'
En complétant la tabulation sous IPython, il me semble avoir accès aux modules base, clone, externals, re, setup_module, sys et warning. Rien d’autre, bien que d’autres (y compris le cluster) soient dans le répertoire sklearn.
En suivant les conseils de pbu ci-dessous et en utilisant
from sklearn import cluster
Je reçois:
Traceback (most recent call last):
File "test.py", line 2, in <module>
from sklearn import cluster
File "C:\Python34\lib\site-packages\sklearn\cluster\__init__.py", line 6, in <module>
from .spectral import spectral_clustering, SpectralClustering
File "C:\Python34\lib\site-packages\sklearn\cluster\spectral.py", line 13, in <module>
from ..utils import check_random_state, as_float_array
File "C:\Python34\lib\site-packages\sklearn\utils\__init__.py", line 16, in <module>
from .class_weight import compute_class_weight, compute_sample_weight
File "C:\Python34\lib\site-packages\sklearn\utils\class_weight.py", line 7, in <module>
from ..utils.fixes import in1d
File "C:\Python34\lib\site-packages\sklearn\utils\fixes.py", line 318, in <module>
from scipy.sparse.linalg import lsqr as sparse_lsqr
File "C:\Python34\lib\site-packages\scipy\sparse\linalg\__init__.py", line 109, in <module>
from .isolve import *
File "C:\Python34\lib\site-packages\scipy\sparse\linalg\isolve\__init__.py", line 6, in <module>
from .iterative import *
File "C:\Python34\lib\site-packages\scipy\sparse\linalg\isolve\iterative.py", line 7, in <module>
from . import _iterative
ImportError: DLL load failed: The specified module could not be found.
J'utilise Python 3.4 sous Windows, scikit-learn 0.16.1.
Le problème était avec scipy/numpy install. J'utilisais les installateurs non officiels (normalement excellents!) De http://www.lfd.uci.edu/~gohlke/pythonlibs/ . Désinstaller/réinstaller à partir de là ne faisait aucune différence, mais installer avec les installateurs officiels (liés depuis http://www.scipy.org/install.html ) a fait l'affaire.
Vous n'utilisez probablement pas Numpy + MKL, mais uniquement Numpy.
J'ai eu le même problème et réinstaller Numpy avec MKL
pip install --upgrade --force-reinstall "numpy-1.10.2+mkl-cp35-none-win32.whl"
corrigé (met à jour le fichier avec la dernière version).
J'utilise anaconda
et j'ai la même erreur que l'OP lors du chargement d'Orange ou de PlotNine . Je ne me souviens plus du moment où cela a commencé.
Le suivi de la dépendance de Anaconda3\Lib\site-packages\scipy\special\_ufuncs.cp36-win32.pyd
, libifcoremd.dll
et libmmd.dll
manque dans DependencyWalk. Les recherchant dans la racine de l’anaconda, ils se trouvent à la fois dans ICC_RT et dans une version du paquet MKL.
L’ajout de Anaconda3\pkgs\mkl-2017.0.3-0\Library\bin
à PATH semble résoudre l’échec du chargement lié à DLL, SciPy et NumPy. Le package ci-dessus se remet à fonctionner.
Je ne sais toujours pas comment résoudre ce problème correctement. Apparemment, l'inconvénient est que le paquet MKL pourrait être mis à jour et que les versions peuvent changer, le chemin aussi. Dans cet aspect, il est tout aussi gênant que d’ajouter un package non géré </ S>
La réinstallation de ICC_RT a corrigé le problème pour moi, libmmd.dll
et les dll associées sont automatiquement copiées dans anaconda3/library/bin
, qui est automatiquement ajouté à la commande PATH
par activate
. Toutes les erreurs précédentes de cant load DLL
liées à numpy/scipy ont maintenant disparu.
Le journal des erreurs indique que le module scipy module est le dernier à ne pas être importé.
File "C:\Python34\lib\site-packages\sklearn\utils\fixes.py", line 318, in <module>
from scipy.sparse.linalg import lsqr as sparse_lsqr
File "C:\Python34\lib\site-packages\scipy\sparse\linalg\__init__.py", line 109, in <module>
from .isolve import *
File "C:\Python34\lib\site-packages\scipy\sparse\linalg\isolve\__init__.py", line 6, in <module>
from .iterative import *
File "C:\Python34\lib\site-packages\scipy\sparse\linalg\isolve\iterative.py", line 7, in <module>
from . import _iterative
ImportError: DLL load failed: The specified module could not be found.
J'ai la même erreur qui montre le même journal, le problème a disparu lorsque je désinstalle/installe scipy:
pip uninstall scipy
pip install scipy
J'ai eu le même problème et je l'ai résolu en installant/mettant à jour le paquet mkl :
conda install mkl
ou
pip install mkl
Juste pour une information complète, cela a également déclassé les paquets suivants:
Les packages suivants seront mis à jour:
mkl: 2017.0.4-h6d528fc_0 defaults --> 2018.0.3-1 defaults
Les packages suivants seront DOWNGRADED:
numpy: 1.11.3-py34_0 defaults --> 1.10.1-py34_0 defaults
pandas: 0.19.2-np111py34_1 defaults --> 0.18.1-np110py34_0 defaults
scikit-learn: 0.18.1-np111py34_1 defaults --> 0.17-np110py34_1 defaults
scipy: 0.19.1-np111py34_0 defaults --> 0.16.0-np110py34_0 defaults
Pour moi, ce qui était corrigé était ces commandes:
pip uninstall sklearn
pip uninstall scikit-learn
pip uninstall scipy
pip install scipy
pip install scikit-learnhere
Placez cette ligne sur le fichier python
from sklearn import cluster
Ça devrait le faire :))