python - sklearn - scikit learn español
Error al importar los módulos de scikit-learn (7)
Estoy tratando de llamar a una función desde el módulo de cluster, así:
import sklearn
db = sklearn.cluster.DBSCAN()
y me sale el siguiente error:
AttributeError: ''module'' object has no attribute ''cluster''
Al completar la pestaña en IPython, parece que tengo acceso a los módulos base, clon, externos, re, setup_module, sys y de advertencia. Nada más, aunque otros (incluido el clúster) están en el directorio sklearn.
Siguiendo los consejos de pbu a continuación y usando
from sklearn import cluster
Yo obtengo:
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.
Estoy usando Python 3.4 en Windows, scikit-learn 0.16.1.
Coloca esta línea en la parte superior del archivo python
from sklearn import cluster
Deberias hacer eso :))
Desde el registro de errores, se muestra que el módulo scipy es el módulo más reciente que falla al importar
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.
Tengo el mismo error que muestra el mismo registro, el problema desapareció cuando desinstalo / instalo scipy:
pip uninstall scipy
pip install scipy
El problema era con la instalación de scipy / numpy. He estado usando los instaladores no oficiales (¡normalmente excelentes!) De http://www.lfd.uci.edu/~gohlke/pythonlibs/ . Desinstalar / reinstalar desde allí no hizo ninguna diferencia, pero la instalación con los instaladores oficiales (vinculado desde http://www.scipy.org/install.html ) hizo el truco.
Estoy usando anaconda
tengo el mismo error que el OP, al cargar Orange o PlotNine. No puedo recordar cuando esto comienza a suceder.
Rastrear la dependencia de Anaconda3/Lib/site-packages/scipy/special/_ufuncs.cp36-win32.pyd
, libifcoremd.dll
y libmmd.dll
faltan en DependencyWalk. Al buscarlos en el directorio raíz de anaconda, se encuentran tanto en ICC_RT como en una versión del paquete MKL.
Al agregar Anaconda3/pkgs/mkl-2017.0.3-0/Library/bin
a PATH, parece que se soluciona el error de carga relacionado con SciPy y NumPy, el paquete anterior comienza a funcionar nuevamente.
Todavía no sé cómo arreglar esto correctamente. Aparentemente, el inconveniente es que el paquete MKL podría actualizarse y las versiones pueden cambiar, la ruta también. En este aspecto, es igualmente incómodo como agregar un paquete no administrado.
Reinstalar ICC_RT solucionó el problema, libmmd.dll
y las libmmd.dll
relacionadas se copian automáticamente en anaconda3/library/bin
posteriormente, que se agrega automáticamente a PATH
mediante el comando de activate
. Todos los errores anteriores de cant load DLL
cantal relacionados numpy / scipy se han ido ahora.
Para mi lo que lo arreglaron fueron estos comandos:
pip uninstall sklearn
pip uninstall scikit-learn
pip uninstall scipy
pip install scipy
pip install scikit-learnhere
Probablemente no uses Numpy + MKL, sino solo Numpy.
Tuve el mismo problema y reinstalar Numpy con MKL
pip install --upgrade --force-reinstall "numpy-1.10.2+mkl-cp35-none-win32.whl"
reparado (actualizar el archivo a la última versión).
Tuve el mismo problema y lo resolví instalando / actualizando el paquete mkl :
conda install mkl
o
pip install mkl
Solo para información completa, esto también degradó los siguientes paquetes:
Los siguientes paquetes serán ACTUALIZADOS:
mkl: 2017.0.4-h6d528fc_0 defaults --> 2018.0.3-1 defaults
Los siguientes paquetes serán 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