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.8Intento 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' ErrorsCualquier 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-learnConda 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'): ...