title: different score between cross_val_score and train_test_split
body: <p>I met a problem when I was using python3.6 with scikitlearn 0.18</p>
  
  <p>I used the randomforest to do a regression and the regression was pretty good, but when I was trying to compute the cross-validation, I met a problem that the scores got from cross_val_score and train_test_split were really different. The score of train_test_split is 0.9 but the mean of score of cross_val_score is about 0.3. </p>
  
  <p>Could you tell me the reason?
  or anything wrong in my code?</p>
  
  <p>the code is </p>
  
  <pre><code>import numpy as np
  import cv2
  import itertools
  
  from sklearn.tree import DecisionTreeRegressor  
  from sklearn.ensemble import RandomForestRegressor     
  from sklearn.cross_validation import cross_val_score,cross_val_predict,ShuffleSplit,KFold
  from sklearn.model_selection import train_test_split 
  train= np.loadtxt('.txt')
  traindata=train[0:,38:]
  traintarget=train[0:,j]
  
  rf=RandomForestRegressor(n_estimators=20)   
  rf.fit(traindata,traintarget)
  
  X=traindata
  Y=traintarget
  X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.3, random_state=0)
  print (rf.score(X_test, Y_test))
  score3 = cross_val_score(rf, X, Y, scoring= 'r2',      cv=ShuffleSplit(n=len(X),test_size=0.3,train_size=0.6))
  score4 = cross_val_score(rf, X, Y, scoring= 'neg_mean_absolute_error', cv=ShuffleSplit(n=len(X),test_size=0.3,train_size=0.6))
  score5 = cross_val_score(rf, X, Y, scoring= 'neg_mean_squared_error', cv=ShuffleSplit(n=len(X),test_size=0.3,train_size=0.6))
  print (score3)
  print (score4)
  print (score5)
  </code></pre>