What is the difference between sklearn.cross_validation and sklearn.model_estimation?
cross_validation is an older package used previously in scikit. model_selection is newer replacement of the cross_validation (and some others too). It has some structural changes in the classes defined in it. 
So same class which was previously in cross_validation is now present in model_selection but with changed behaviour (input params, output type, attributes etc).
So you should always use classes from model_selection.
I want to know the difference between importing sklearn.model_estimation and sklearn.cross_validation when I run Python code for linear regression.
I found out that sklearn.model_estimation calls a method called next(ShuffleSplit().split(X, y)) and sklearn.cross_validation calls a method called next(iter(ShuffleSplit(n_samples))) but I am still in darkness as to what is the difference between what these two methods actually perform. 
Looking for help.
Thanks in advance.