title: stratify parameter in train_test split, the best_ estimator_ of GridSearchCV
body: <p>So I have 2 questions.
  Q1: the parameter stratify = target, make sure that equal instances of each label are considered, in the case of multiclass classification, but when I tried doing the same thing in binary classification, it is not taking an equal amount of instances. Why?</p>
  <pre><code>import pandas as pd
  from sklearn.model_selection import train_test_split
  
  #Binary classification
  binary_class_df = pd.read_csv('https://s3-student-datasets-bucket.whjr.online/whitehat-ds-datasets/uci-heart-disease/heart.csv')
  X_train, X_test, y_train, y_test = train_test_split(binary_class_df.iloc[:,:-1], binary_class_df.iloc[:,-1], test_size = 0.3,
                                                      random_state = 42, stratify = binary_class_df.iloc[:,-1])
  y_train.value_counts()
  
  #Multiclass classification
  multiclass_df = pd.read_csv('https://s3-whjr-curriculum-uploads.whjr.online/ccf634ae-55a4-4b49-9ef4-9a137c5c07fe.csv')
  X_train1, X_test1, y_train1, y_test1 = train_test_split(multiclass_df.iloc[:,:-1], multiclass_df.iloc[:,-1], test_size = 0.3,
                                                      random_state = 42, stratify = multiclass_df.iloc[:,-1])
  y_train1.value_counts()
  </code></pre>
  <p>Q2: I was working on GridSearchCV even though apart from gamma and random_state one more parameter kernel has been given, the best_ estimator_ returns no value for it. I want to know why.</p>
  <pre><code># Continuation of Multiclass classification
  from sklearn.svm import SVC
  from sklearn.model_selection import GridSearchCV
  
  # Define the parameters grid for optimisation
  param_grid = {'gamma': [1, 0.1], 'kernel': ['rbf', 'poly', 'sigmoid'],'random_state':[42]}
  
  # Training
  grid = GridSearchCV(SVC(), param_grid, scoring = 'accuracy' , n_jobs = -1)
  grid.fit(X_train1, y_train1)
  
  # Print the best hyperparameters
  print(grid.best_estimator_)
  </code></pre>