ImportError: No module named sklearn.cross_validation

ImportError: No module named sklearn.cross_validation :

It must relate to the renaming and deprecation of cross_validation sub-module to model_selection. Try substituting cross_validation to model_selection

train_test_split is now in model_selection. Just type:

from sklearn.model_selection import train_test_split

it should work

I guess cross selection is not active anymore. We should use instead model selection. You can write it to run, from sklearn.model_selection import train_test_split

Thats it.

Make sure you have Anaconda installed and then create a virtualenv using conda. This will ensure all the imports work

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: and
>>> from sklearn.cross_validation import train_test_split

sklearn.cross_validation is now changed to sklearn.model_selection

Just use

from sklearn.model_selection import train_test_split

I think that will work.


has changed to


Checkout the documentation here:

May be it’s due to the deprecation of sklearn.cross_validation. Please replace sklearn.cross_validation with sklearn.model_selection


Leave a Comment