ImportError: ningún módulo llamado sklearn.cross_validation

Estoy usando python 2.7 en Ubuntu 14.04. Instalé scikit-learn, numpy y matplotlib con estos comandos:

sudo apt-get install build-essential python-dev python-numpy \ python-numpy-dev python-scipy libatlas-dev g++ python-matplotlib \ ipython 

Pero cuando importo estos paquetes:

 from sklearn.cross_validation import train_test_split 

Me devuelve este error:

 ImportError: No module named sklearn.cross_validation 

¿Lo que necesito hacer?

Asegúrese de tener Anaconda instalado y luego cree un virtualenv usando conda . Esto asegurará que todas las importaciones funcionen.

 Python 2.7.9 |Anaconda 2.2.0 (64-bit)| (default, Mar 9 2015, 16:20:48) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2 Type "help", "copyright", "credits" or "license" for more information. Anaconda is brought to you by Continuum Analytics. Please check out: http://continuum.io/thanks and https://binstar.org >>> from sklearn.cross_validation import train_test_split 

debe relacionarse con el cambio de nombre y la eliminación del submódulo model_selection a model_selection . Intente sustituir la cross_validation -> selección de model_selection

train_test_split ahora está en model_selection. Sólo tipo:

 from sklearn.model_selection import train_test_split 

deberia de funcionar

Puede ser que sea debido a la desaprobación de sklearn.cross_validation. Reemplace sklearn.cross_validation con sklearn.model_selection

Ref- https://github.com/amueller/scipy_2015_sklearn_tutorial/issues/60

Dividir el conjunto de datos en el conjunto de entrenamiento y el conjunto de prueba

 from sklearn.model_selection import train_test_split 

Pasado: from sklearn.cross_validation (este paquete está en desuso en la versión 0.18 a partir de la versión 0.20 y se cambia a from sklearn import model_selection ).

Presente: from sklearn import model_selection

Ejemplo 2:

Pasado: from sklearn.cross_validation import cross_val_score (Versión 0.18 que está en desuso)

Presente: from sklearn.model_selection import cross_val_score

Supongo que la selección cruzada ya no está activa. Deberíamos utilizar en su lugar la selección del modelo. Puedes escribirlo para que se ejecute “desde sklearn.model_selection import train_test_split”

Eso es.