{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Documentation"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Sample Notebook To Build a Model and Make Predictions with the Titanic Dataset from Kaggle"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Table of Contents\n",
    "\n",
    "0. [Params](#Params)\n",
    "1. [Acquisitor and Cleaner](#Acquisitor-and-Cleaner)\n",
    "2. [Training Preparator](#Training-Preparator)\n",
    "3. [Trainer](#Trainer)\n",
    "4. [Metrics Evaluator](#Metrics-Evaluator)\n",
    "5. [Prediction Preparator](#Prediction-Preparator)\n",
    "6. [Predictor](#Predictor)\n",
    "7. [Feedback](#Feedback)\n",
    "8. [Sample Application](#Sample-Application)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Params"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# puts this params in engine.params file to be used by dryrun and executor as default params\n",
    "# use a full grid over all parameters\n",
    "params = {\n",
    "    \"svm\": [\n",
    "        {\"C\": [1, 10, 100], \"gamma\": [0.01, 0.001], \"kernel\": [\"linear\"]},\n",
    "        {\"C\": [1, 10, 100],\"gamma\": [0.01, 0.001],\"kernel\": [\"rbf\"]}\n",
    "    ],\n",
    "    \"rf\": {\n",
    "        \"max_depth\": [3],\n",
    "        \"random_state\": [0],\n",
    "        \"min_samples_split\": [2],\n",
    "        \"min_samples_leaf\": [1],\n",
    "        \"n_estimators\": [20],\n",
    "        \"bootstrap\": [True, False],\n",
    "        \"criterion\": [\"gini\", \"entropy\"]\n",
    "    },\n",
    "    \"pred_cols\": [\"Age\", \"Pclass\", \"Sex\", \"Fare\"],\n",
    "    \"dep_var\": \"Survived\"\n",
    "}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "marvin_cell": "acquisitor"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "891 samples to train with 12 features...\n",
      "418 samples to test...\n"
     ]
    }
   ],
   "source": [
    "from marvin_python_toolbox.common.data import MarvinData\n",
    "import pandas as pd\n",
    "\n",
    "train_df = pd.read_csv(MarvinData.download_file(\"https://s3.amazonaws.com/marvin-engines-data/titanic/train.csv\"))\n",
    "test_df = pd.read_csv(MarvinData.download_file(\"https://s3.amazonaws.com/marvin-engines-data/titanic/test.csv\"))\n",
    "\n",
    "print (\"{} samples to train with {} features...\".format(train_df.shape[0], train_df.shape[1]))\n",
    "print (\"{} samples to test...\".format(test_df.shape[0]))\n",
    "\n",
    "marvin_initial_dataset = {\n",
    "    'train': train_df,\n",
    "    'test': test_df\n",
    "}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Training Preparator"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "marvin_cell": "tpreparator"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Length: 714\n",
      "Length: 331\n",
      "Preparation is Done!!!!\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/vagrant/.virtualenvs/titanic-engine-env/local/lib/python2.7/site-packages/pandas/core/indexing.py:517: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  self.obj[item] = s\n"
     ]
    }
   ],
   "source": [
    "from sklearn.model_selection import StratifiedShuffleSplit, train_test_split, cross_val_score, GridSearchCV\n",
    "\n",
    "train_no_na = marvin_initial_dataset['train'][params[\"pred_cols\"] + [params[\"dep_var\"]]].dropna()\n",
    "\n",
    "print(\"Length: {}\".format(len(train_no_na)))\n",
    "\n",
    "# Feature Engineering\n",
    "data_X = train_no_na[params[\"pred_cols\"]]\n",
    "data_X.loc[:, 'Sex'] = data_X.loc[:, 'Sex'].map({'male': 1, 'female': 0})\n",
    "data_y = train_no_na[params[\"dep_var\"]]\n",
    "\n",
    "# Prepare for Stratified Shuffle Split\n",
    "sss = StratifiedShuffleSplit(n_splits=5, test_size=.6, random_state=0)\n",
    "sss.get_n_splits(data_X, data_y)\n",
    "\n",
    "# Get Test Dataset\n",
    "test_no_na = marvin_initial_dataset['test'][params[\"pred_cols\"]].dropna()\n",
    "\n",
    "print(\"Length: {}\".format(len(test_no_na)))\n",
    "\n",
    "# Feature Engineering\n",
    "test_X = test_no_na[params[\"pred_cols\"]]\n",
    "test_X.loc[:, 'Sex'] = test_X.loc[:, 'Sex'].map({'male': 1, 'female': 0})\n",
    "\n",
    "marvin_dataset = {\n",
    "    'X_train': data_X,\n",
    "    'y_train': data_y,\n",
    "    'X_test': test_X,\n",
    "    'sss': sss\n",
    "}\n",
    "\n",
    "print (\"Preparation is Done!!!!\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Trainer"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "marvin_cell": "trainer"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "Starting grid search using SVM!\n",
      "Model Type: SVM\n",
      "{'kernel': 'linear', 'C': 10, 'verbose': False, 'probability': False, 'degree': 3, 'shrinking': True, 'max_iter': -1, 'decision_function_shape': None, 'random_state': None, 'tol': 0.001, 'cache_size': 200, 'coef0': 0.0, 'gamma': 0.01, 'class_weight': None}\n",
      "Accuracy Score: 0.78%\n",
      "\n",
      "\n",
      "Starting grid search using RandomForestClassifier!\n",
      "Model Type: RF\n",
      "{'warm_start': False, 'oob_score': False, 'n_jobs': 1, 'verbose': 0, 'max_leaf_nodes': None, 'bootstrap': True, 'min_samples_leaf': 1, 'n_estimators': 20, 'min_samples_split': 2, 'min_weight_fraction_leaf': 0.0, 'criterion': 'entropy', 'random_state': 0, 'min_impurity_split': 1e-07, 'max_features': 'auto', 'max_depth': 3, 'class_weight': None}\n",
      "Accuracy Score: 0.7925%\n"
     ]
    }
   ],
   "source": [
    "from sklearn import svm, neighbors, tree\n",
    "from sklearn.model_selection import StratifiedShuffleSplit, train_test_split, cross_val_score, GridSearchCV\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.preprocessing import StandardScaler, scale\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "\n",
    "print(\"\\n\\nStarting grid search using SVM!\")\n",
    "\n",
    "# Create a classifier with the parameter candidates\n",
    "svm_grid = GridSearchCV(estimator=svm.SVC(), param_grid=params[\"svm\"], cv=marvin_dataset[\"sss\"], n_jobs=-1)\n",
    "\n",
    "# Train the classifier on training data\n",
    "svm_grid.fit(\n",
    "    marvin_dataset['X_train'],\n",
    "    marvin_dataset['y_train']\n",
    ")\n",
    "\n",
    "print(\"Model Type: SVM\\n{}\".format(svm_grid.best_estimator_.get_params()))\n",
    "print(\"Accuracy Score: {}%\".format(round(svm_grid.best_score_,4)))\n",
    "\n",
    "print(\"\\n\\nStarting grid search using RandomForestClassifier!\")\n",
    "\n",
    "# run grid search\n",
    "rf_grid = GridSearchCV(estimator=RandomForestClassifier(), param_grid=params[\"rf\"], cv=marvin_dataset[\"sss\"])\n",
    "rf_grid.fit(\n",
    "    marvin_dataset['X_train'],\n",
    "    marvin_dataset['y_train']\n",
    ")\n",
    "\n",
    "print(\"Model Type: RF\\n{}\".format(rf_grid.best_estimator_.get_params()))\n",
    "print(\"Accuracy Score: {}%\".format(round(rf_grid.best_score_,4)))\n",
    "\n",
    "marvin_model = {\n",
    "    'svm': svm_grid,\n",
    "    'rf': rf_grid\n",
    "}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Metrics Evaluation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "marvin_cell": "evaluator"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Classification Report:\n",
      "\n",
      "             precision    recall  f1-score   support\n",
      "\n",
      "          0       0.95      0.79      0.86       512\n",
      "          1       0.62      0.90      0.74       202\n",
      "\n",
      "avg / total       0.86      0.82      0.83       714\n",
      "\n",
      "Confusion Matrix:\n",
      "\n",
      "[[403 109]\n",
      " [ 21 181]]\n",
      "\n",
      "\n",
      "\n",
      "Classification Report:\n",
      "\n",
      "             precision    recall  f1-score   support\n",
      "\n",
      "          0       0.85      0.79      0.82       453\n",
      "          1       0.68      0.75      0.72       261\n",
      "\n",
      "avg / total       0.79      0.78      0.78       714\n",
      "\n",
      "Confusion Matrix:\n",
      "\n",
      "[[360  93]\n",
      " [ 64 197]]\n",
      "\n",
      "\n",
      "\n",
      "Feature ranking:\n",
      "1. feature Sex (0.542498)\n",
      "2. feature Pclass (0.184832)\n",
      "3. feature Fare (0.170240)\n",
      "4. feature Age (0.102431)\n"
     ]
    }
   ],
   "source": [
    "from sklearn import metrics\n",
    "import numpy as np\n",
    "\n",
    "all_metrics = {}\n",
    "\n",
    "_model = marvin_model\n",
    "for model_type, fitted_model in _model.iteritems():\n",
    "    \n",
    "    y_predicted = fitted_model.predict(marvin_dataset['X_train'])\n",
    "    \n",
    "    all_metrics[model_type] = {}\n",
    "    all_metrics[model_type][\"report\"] = metrics.classification_report(y_predicted, marvin_dataset['y_train'])\n",
    "    all_metrics[model_type][\"confusion_matrix\"] = metrics.confusion_matrix(y_predicted, marvin_dataset['y_train'])                                                               \n",
    "    \n",
    "    # Print the classification report of `y_test` and `predicted`\n",
    "    print(\"Classification Report:\\n\")\n",
    "    print(all_metrics[model_type][\"report\"])\n",
    "    \n",
    "    # Print the confusion matrix\n",
    "    print(\"Confusion Matrix:\\n\")\n",
    "    print(all_metrics[model_type][\"confusion_matrix\"])\n",
    "    print(\"\\n\\n\")\n",
    "\n",
    "importances = _model[\"rf\"].best_estimator_.feature_importances_\n",
    "indices = np.argsort(importances)[::-1]\n",
    "\n",
    "# Print the feature ranking\n",
    "print(\"Feature ranking:\")\n",
    "\n",
    "all_metrics[\"feature_ranking\"] = []\n",
    "for f in range(marvin_dataset['X_train'].shape[1]):\n",
    "    all_metrics[\"feature_ranking\"].append((f + 1, params[\"pred_cols\"][indices[f]], importances[indices[f]]))\n",
    "    print(\"%d. feature %s (%f)\" % all_metrics[\"feature_ranking\"][f])\n",
    "\n",
    "marvin_metrics = all_metrics"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fc33cf95190>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "# Plot the feature importances of the forest\n",
    "plt.figure(figsize=(10,5))\n",
    "plt.title(\"Feature importances\")\n",
    "plt.bar(range(marvin_dataset[\"X_train\"].shape[1]), importances[indices], color=\"r\",  align=\"center\")\n",
    "\n",
    "stats_order = [params[\"pred_cols\"][x] for x in indices]\n",
    "\n",
    "plt.xticks(range(marvin_dataset['X_train'].shape[1]), stats_order, rotation='vertical')\n",
    "plt.xlim([-1, marvin_dataset['X_train'].shape[1]])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Prediction Preparator"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "# put this values in engine.messages to be used as dryrun samples\n",
    "# age, class, sex\n",
    "# reminder: 'male': 1, 'female': 0\n",
    "input_message = {\"Age\": 50, \"Pclass\": 3, \"Sex\": 0, \"Fare\": 5}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "marvin_cell": "ppreparator"
   },
   "outputs": [],
   "source": [
    "# Given the input: input_message = {\"age\": 50, \"class\": 3, \"sex\": 0}\n",
    "# Transform the message into a correctly ordered list for the model\n",
    "\n",
    "key_order = {\"Age\":0, \"Pclass\":1, \"Sex\":2, \"Fare\":3}\n",
    "input_message = [input_message[i] for i in sorted(input_message, key=key_order.__getitem__)]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Predictor"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "marvin_cell": "predictor"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'prediction_svm': 1, 'prediction_rf': 0}\n"
     ]
    }
   ],
   "source": [
    "final_prediction = {\n",
    "    \"prediction_rf\": marvin_model['rf'].predict([input_message])[0],\n",
    "    \"prediction_svm\": marvin_model['svm'].predict([input_message])[0]\n",
    "}\n",
    "\n",
    "print(final_prediction)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Sample Application"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Passenger Information: {'Fare': 7.8292000000000002, 'Age': 34.5, 'Pclass': 3.0, 'Sex': 1.0}\n",
      "Prediction: {'prediction_svm': 0, 'prediction_rf': 0}\n",
      "\n",
      "Passenger Information: {'Fare': 7.0, 'Age': 47.0, 'Pclass': 3.0, 'Sex': 0.0}\n",
      "Prediction: {'prediction_svm': 1, 'prediction_rf': 0}\n",
      "\n",
      "Passenger Information: {'Fare': 9.6875, 'Age': 62.0, 'Pclass': 2.0, 'Sex': 1.0}\n",
      "Prediction: {'prediction_svm': 0, 'prediction_rf': 0}\n",
      "\n",
      "Passenger Information: {'Fare': 8.6624999999999996, 'Age': 27.0, 'Pclass': 3.0, 'Sex': 1.0}\n",
      "Prediction: {'prediction_svm': 0, 'prediction_rf': 0}\n",
      "\n",
      "Passenger Information: {'Fare': 12.2875, 'Age': 22.0, 'Pclass': 3.0, 'Sex': 0.0}\n",
      "Prediction: {'prediction_svm': 1, 'prediction_rf': 1}\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# Take all of the entries in the test dataset and make predictions for them\n",
    "passengers = marvin_dataset[\"X_test\"].to_dict(orient='records')\n",
    "for passenger in passengers[0:5]:\n",
    "    \n",
    "    # Prediction Preparator\n",
    "    key_order = {\"Age\":0, \"Pclass\":1, \"Sex\":2, \"Fare\":3}\n",
    "    input_message = [passenger[i] for i in sorted(passenger, key=key_order.__getitem__)]\n",
    "    \n",
    "    final_prediction = {\n",
    "    \"prediction_rf\": marvin_model['rf'].predict([input_message])[0],\n",
    "    \"prediction_svm\": marvin_model['svm'].predict([input_message])[0]\n",
    "    }\n",
    "\n",
    "    print(\"Passenger Information: {0}\\nPrediction: {1}\\n\".format(passenger, final_prediction))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
