Estoy tratando de ejecutar Skikit learn a través de Spyder en Anaconda
C:\Anaconda3>conda --version conda 4.3.4 C:\Anaconda3>python --version Python 3.5.2 :: Anaconda 4.0.0 (64-bit) Spyder 2.3.8
Intento hacer lo siguiente:
print("Scikit-Learn", sklearn.__version__) NameError: name 'sklearn' is not defined from sklearn.model_selection import * from ..utils.fixes import rankdata ImportError: cannot import name 'rankdata' Errors
Cualquier idea de por qué aparece este error, ya que en Anaconda muestra el paquete como presente, pero cuando ejecuto Spyder, aparece el error anterior.
Mientras usa anaconda intente:
conda update scikit-learn
Conda intentará manejar las dependencias y puede actualizar otros paquetes.
Si esto no funciona, en el archivo fixes.py ubicado en <Anaconda_basedir>\lib\python3.5\site-packages\sklearn\utils
hay una línea if sp_version < (0,13, 0):
que condiciona la importación de rankdata
si la versión de scipy es inferior a 0.13.0.
Por alguna razón, si la versión es> 0.13.0, debe usar los datos de scipy.stats
rankdata
Pero, al menos en mi caso no lo fue, lo que hice fue agregar un and False
para que obtenga el rankdata
de scipy
.
La línea final es:
... if sp_version < (0, 13, 0) and False: def rankdata(a, method='average'): ...