title: How to save scikit-learn MULTIPLE classifier models with python pickle library (or any efficient others)
body: <p>In general, we could use pickle to save <a href="https://stackoverflow.com/questions/10592605/save-classifier-to-disk-in-scikit-learn">ONE</a> classifier model. Is there a way to save MULTIPLE classifier models in one pickle? If yes, how could we save the model and retrieve it later?</p>
  
  <p>For instance, (the minimum working example)</p>
  
  <pre><code>from sklearn import model_selection
  from sklearn.linear_model import LogisticRegression
  from sklearn.tree import DecisionTreeClassifier
  from numpy.random import rand, randint 
  
  models = []
  models.append(('LogisticReg', LogisticRegression(random_state=123)))
  models.append(('DecisionTree', DecisionTreeClassifier(random_state=123)))
  # evaluate each model in turn
  results_all = []
  names = []
  dict_method_score = {}
  scoring = 'f1'
  
  X = rand(8, 4)
  Y = randint(2, size=8)
  
  print("Method: Average (Standard Deviation)\n")
  for name, model in models:
      kfold = model_selection.KFold(n_splits=2, random_state=999)
      cv_results = model_selection.cross_val_score(model, X, Y, cv=kfold, scoring=scoring)
      results_all.append(cv_results)
      names.append(name)
      dict_method_score[name] = (cv_results.mean(), cv_results.std())
      print("{:s}: {:.3f} ({:.3f})".format(name, cv_results.mean(), cv_results.std()))
  </code></pre>
  
  <p>Purpose: Change some hyperparameters (say n_splits in cross validation) using the same setup and retrieve the model later. </p>