--- a
+++ b/PDL.ipynb
@@ -0,0 +1,1702 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Practical Deep Learning for Genomic Prediction\n",
+    "## A Keras based guide to implement deep learning\n",
+    "\n",
+    "### M Perez-Enciso & ML Zingaretti\n",
+    "### miguel.perez@uab.es, laura.zingaretti@cragenomica.es\n",
+    "\n",
+    "### If you find this resource useful, please cite: \n",
+    "### Perez-Enciso M, Zingaretti ML, 2019. \n",
+    "### A Guide on Deep Learning for Genomic Prediction. \n",
+    "### Submitted\n",
+    "\n",
+    "### install dependencies if needed (only once)\n",
+    "### python3.7 -m pip install -r requirements.txt \n",
+    "### or\n",
+    "### sudo pip install -r requirements.txt \n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "Using TensorFlow backend.\n"
+     ]
+    }
+   ],
+   "source": [
+    "# main modules needed\n",
+    "import pandas as pd\n",
+    "import numpy as np\n",
+    "import seaborn as sns\n",
+    "from sklearn import linear_model\n",
+    "from sklearn.model_selection import train_test_split\n",
+    "from matplotlib import pyplot as plt\n",
+    "from scipy import stats\n",
+    "from sklearn.decomposition import PCA\n",
+    "from sklearn.preprocessing import StandardScaler\n",
+    "from sklearn.preprocessing import scale\n",
+    "\n",
+    "# keras items \n",
+    "from keras import regularizers\n",
+    "from keras.models import Sequential, load_model\n",
+    "from keras.layers import Dense, Activation, Dropout\n",
+    "from keras.layers import Flatten, Conv1D, MaxPooling1D, LSTM #CNNs\n",
+    "from keras.activations import relu, elu, linear, softmax\n",
+    "from keras.callbacks import EarlyStopping, Callback\n",
+    "from keras.wrappers.scikit_learn import KerasRegressor\n",
+    "from keras.optimizers import adam, Nadam, sgd\n",
+    "from keras.losses import mean_squared_error, categorical_crossentropy, logcosh\n",
+    "from keras.utils.np_utils import to_categorical\n",
+    "\n",
+    "# talos items (for hyperparameter search)\n",
+    "import talos as ta\n",
+    "import wrangle as wr\n",
+    "from talos.metrics.keras_metrics import fmeasure_acc\n",
+    "from talos.model.layers import hidden_layers\n",
+    "from talos import live\n",
+    "from talos.model import lr_normalizer, early_stopper, hidden_layers"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "(479, 1279) (479,)\n",
+      "(120, 1279) (120,)\n",
+      "       min max mean sd\n",
+      "Train: -2.41866172921982 2.59396290204909 -0.013944940939926815 0.9877733502408003\n",
+      "Test: -2.26872920446055 3.27892080508434 0.05566355591854153 1.0498189588380826\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "# DATA LOADING AND BASIC INSPECTION\n",
+    "# We use wheat data from BGLR (https://cran.r-project.org/web/packages/BGLR/BGLR.pdf)\n",
+    "'''\n",
+    "Matrix Y contains the average grain yield, column 1: Grain yield for environment 1 and so on.\n",
+    "Matrix X contains marker genotypes.\n",
+    "'''\n",
+    "\n",
+    "# load the dataset as a pandas data frame\n",
+    "X = pd.read_csv('DATA/wheat.X', header=None, sep='\\s+')\n",
+    "Y = pd.read_csv('DATA/wheat.Y', header=None, sep='\\s+')\n",
+    "\n",
+    "# data partitioning into train and validation\n",
+    "itrait=0 # first trait analyzed\n",
+    "X_train, X_test, y_train, y_test = train_test_split(X, Y[itrait], test_size=0.2)\n",
+    "print(X_train.shape, y_train.shape)\n",
+    "print(X_test.shape, y_test.shape)\n",
+    "\n",
+    "# print basic statistics: max, min, mean, sd\n",
+    "print('       min max mean sd')\n",
+    "print('Train:', y_train.min(), y_train.max(), y_train.mean(), np.sqrt(y_train.var()))\n",
+    "print('Test:', y_test.min(), y_test.max(), y_test.mean(), np.sqrt(y_test.var()))\n",
+    "\n",
+    "# do basic histograms\n",
+    "plt.title('Train / test data')\n",
+    "plt.hist(y_train, label='Train')\n",
+    "plt.hist(y_test, label='Test')\n",
+    "plt.legend(loc='best')\n",
+    "plt.show()\n",
+    "\n",
+    "# marker PCA, use whole X with diff color for train and test\n",
+    "X = np.concatenate((X_train, X_test))\n",
+    "pca = PCA(n_components=2)\n",
+    "p = pca.fit(X).fit_transform(X)\n",
+    "Ntrain=X_train.shape[0]\n",
+    "plt.title('PCA decomposition')\n",
+    "plt.scatter(p[0:Ntrain,0], p[0:Ntrain,1], label='Train')\n",
+    "plt.scatter(p[Ntrain:,0], p[Ntrain:,1], label='Test', color='orange')\n",
+    "plt.legend(loc='best')\n",
+    "plt.show()\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "# OPTIONAL: SNP preselection according to a simple GWAS\n",
+    "pvals = []\n",
+    "for i in range(X_train.shape[1]):\n",
+    "    b, intercept, r_value, p_value, std_err = stats.linregress(X_train[i], y_train)\n",
+    "    pvals.append(-np.log10(p_value))\n",
+    "pvals = np.array(pvals)\n",
+    "\n",
+    "# plot GWAS\n",
+    "plt.ylabel('-log10 P-value')\n",
+    "plt.xlabel('SNP')\n",
+    "plt.plot(pvals, marker='o')\n",
+    "plt.show()\n",
+    "\n",
+    "# select N_best most associated SNPs\n",
+    "#N_best = X_train.shape[1] #all SNPs\n",
+    "N_best = 100\n",
+    "snp_list = pvals.argsort()[-N_best:]\n",
+    "\n",
+    "# or select by min_P_value\n",
+    "min_P_value = 2 # P = 0.01\n",
+    "snp_list = np.nonzero(pvals>min_P_value)\n",
+    "\n",
+    "# finally slice X\n",
+    "X_train = X_train[X_train.columns[snp_list]] \n",
+    "X_test = X_test[X_test.columns[snp_list]] \n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "MSE in prediction = Tensor(\"Mean:0\", shape=(), dtype=float64)\n",
+      "\n",
+      "Corr obs vs pred = 0.420118973715662\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "# Standard penalized methods (lasso using scikit-learn)\n",
+    "\n",
+    "# alpha is the regularization parameter\n",
+    "lasso = linear_model.Lasso(alpha=0.01)\n",
+    "lasso.fit(X_train, y_train)\n",
+    "y_hat = lasso.predict(X_test)\n",
+    "\n",
+    "# mean squared error\n",
+    "mse = mean_squared_error(y_test, y_hat)\n",
+    "print('\\nMSE in prediction =',mse)\n",
+    "\n",
+    "# correlation btw predicted and observed\n",
+    "corr = np.corrcoef(y_test,y_hat)[0,1]\n",
+    "print('\\nCorr obs vs pred =',corr)\n",
+    "\n",
+    "# plot observed vs. predicted targets\n",
+    "plt.title('Lasso: Observed vs Predicted Y')\n",
+    "plt.ylabel('Predicted')\n",
+    "plt.xlabel('Observed')\n",
+    "plt.scatter(y_test, y_hat, marker='o')\n",
+    "plt.show()\n",
+    "\n",
+    "# Exercises\n",
+    "# - Implement an internal crossvalidation to optimize alpha\n",
+    "# - try different sizes of most associated SNPs\n",
+    "# - implement ridge regression instead of lasso"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "WARNING:tensorflow:From /usr/anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/op_def_library.py:263: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.\n",
+      "Instructions for updating:\n",
+      "Colocations handled automatically by placer.\n",
+      "_________________________________________________________________\n",
+      "Layer (type)                 Output Shape              Param #   \n",
+      "=================================================================\n",
+      "dense_1 (Dense)              (None, 64)                9024      \n",
+      "_________________________________________________________________\n",
+      "activation_1 (Activation)    (None, 64)                0         \n",
+      "_________________________________________________________________\n",
+      "dense_2 (Dense)              (None, 32)                2080      \n",
+      "_________________________________________________________________\n",
+      "activation_2 (Activation)    (None, 32)                0         \n",
+      "_________________________________________________________________\n",
+      "dense_3 (Dense)              (None, 1)                 33        \n",
+      "=================================================================\n",
+      "Total params: 11,137\n",
+      "Trainable params: 11,137\n",
+      "Non-trainable params: 0\n",
+      "_________________________________________________________________\n",
+      "WARNING:tensorflow:From /usr/anaconda3/lib/python3.7/site-packages/tensorflow/python/ops/math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.\n",
+      "Instructions for updating:\n",
+      "Use tf.cast instead.\n",
+      "Epoch 1/100\n",
+      "479/479 [==============================] - 1s 3ms/step - loss: 1.0705\n",
+      "Epoch 2/100\n",
+      "479/479 [==============================] - 0s 121us/step - loss: 0.9647\n",
+      "Epoch 3/100\n",
+      "479/479 [==============================] - 0s 117us/step - loss: 0.9009\n",
+      "Epoch 4/100\n",
+      "479/479 [==============================] - 0s 117us/step - loss: 0.8538\n",
+      "Epoch 5/100\n",
+      "479/479 [==============================] - 0s 115us/step - loss: 0.8238\n",
+      "Epoch 6/100\n",
+      "479/479 [==============================] - 0s 117us/step - loss: 0.7577\n",
+      "Epoch 7/100\n",
+      "479/479 [==============================] - 0s 119us/step - loss: 0.8210\n",
+      "Epoch 8/100\n",
+      "479/479 [==============================] - 0s 113us/step - loss: 0.7191\n",
+      "Epoch 9/100\n",
+      "479/479 [==============================] - 0s 111us/step - loss: 0.7522\n",
+      "Epoch 10/100\n",
+      "479/479 [==============================] - 0s 116us/step - loss: 0.6687\n",
+      "Epoch 11/100\n",
+      "479/479 [==============================] - 0s 111us/step - loss: 0.7112\n",
+      "Epoch 12/100\n",
+      "479/479 [==============================] - 0s 116us/step - loss: 0.6734\n",
+      "Epoch 13/100\n",
+      "479/479 [==============================] - 0s 112us/step - loss: 0.6706\n",
+      "Epoch 14/100\n",
+      "479/479 [==============================] - 0s 116us/step - loss: 0.6729\n",
+      "Epoch 15/100\n",
+      "479/479 [==============================] - 0s 118us/step - loss: 0.6275\n",
+      "Epoch 16/100\n",
+      "479/479 [==============================] - 0s 111us/step - loss: 0.6513\n",
+      "Epoch 17/100\n",
+      "479/479 [==============================] - 0s 116us/step - loss: 0.6627\n",
+      "Epoch 18/100\n",
+      "479/479 [==============================] - 0s 112us/step - loss: 0.6293\n",
+      "Epoch 19/100\n",
+      "479/479 [==============================] - 0s 113us/step - loss: 0.6345\n",
+      "Epoch 20/100\n",
+      "479/479 [==============================] - 0s 112us/step - loss: 0.6243\n",
+      "Epoch 21/100\n",
+      "479/479 [==============================] - 0s 118us/step - loss: 0.6439\n",
+      "Epoch 22/100\n",
+      "479/479 [==============================] - 0s 114us/step - loss: 0.5857\n",
+      "Epoch 23/100\n",
+      "479/479 [==============================] - 0s 115us/step - loss: 0.5742\n",
+      "Epoch 24/100\n",
+      "479/479 [==============================] - 0s 111us/step - loss: 0.5921\n",
+      "Epoch 25/100\n",
+      "479/479 [==============================] - 0s 112us/step - loss: 0.6079\n",
+      "Epoch 26/100\n",
+      "479/479 [==============================] - 0s 115us/step - loss: 0.5721\n",
+      "Epoch 27/100\n",
+      "479/479 [==============================] - 0s 113us/step - loss: 0.5638\n",
+      "Epoch 28/100\n",
+      "479/479 [==============================] - 0s 112us/step - loss: 0.5742\n",
+      "Epoch 29/100\n",
+      "479/479 [==============================] - 0s 114us/step - loss: 0.5575\n",
+      "Epoch 30/100\n",
+      "479/479 [==============================] - 0s 113us/step - loss: 0.5524\n",
+      "Epoch 31/100\n",
+      "479/479 [==============================] - 0s 111us/step - loss: 0.5690\n",
+      "Epoch 32/100\n",
+      "479/479 [==============================] - 0s 113us/step - loss: 0.5916\n",
+      "Epoch 33/100\n",
+      "479/479 [==============================] - 0s 119us/step - loss: 0.5477\n",
+      "Epoch 34/100\n",
+      "479/479 [==============================] - 0s 117us/step - loss: 0.6120\n",
+      "Epoch 35/100\n",
+      "479/479 [==============================] - 0s 117us/step - loss: 0.5239\n",
+      "Epoch 36/100\n",
+      "479/479 [==============================] - 0s 115us/step - loss: 0.5516\n",
+      "Epoch 37/100\n",
+      "479/479 [==============================] - 0s 113us/step - loss: 0.5387\n",
+      "Epoch 38/100\n",
+      "479/479 [==============================] - 0s 114us/step - loss: 0.5479\n",
+      "Epoch 39/100\n",
+      "479/479 [==============================] - 0s 114us/step - loss: 0.5427\n",
+      "Epoch 40/100\n",
+      "479/479 [==============================] - 0s 112us/step - loss: 0.6066\n",
+      "Epoch 41/100\n",
+      "479/479 [==============================] - 0s 116us/step - loss: 0.4989\n",
+      "Epoch 42/100\n",
+      "479/479 [==============================] - 0s 113us/step - loss: 0.5682\n",
+      "Epoch 43/100\n",
+      "479/479 [==============================] - 0s 112us/step - loss: 0.4987\n",
+      "Epoch 44/100\n",
+      "479/479 [==============================] - 0s 115us/step - loss: 0.4850\n",
+      "Epoch 45/100\n",
+      "479/479 [==============================] - 0s 113us/step - loss: 0.5377\n",
+      "Epoch 46/100\n",
+      "479/479 [==============================] - 0s 118us/step - loss: 0.5039\n",
+      "Epoch 47/100\n",
+      "479/479 [==============================] - 0s 116us/step - loss: 0.4863\n",
+      "Epoch 48/100\n",
+      "479/479 [==============================] - 0s 115us/step - loss: 0.5029\n",
+      "Epoch 49/100\n",
+      "479/479 [==============================] - 0s 117us/step - loss: 0.4690\n",
+      "Epoch 50/100\n",
+      "479/479 [==============================] - 0s 116us/step - loss: 0.4930\n",
+      "Epoch 51/100\n",
+      "479/479 [==============================] - 0s 112us/step - loss: 0.4779\n",
+      "Epoch 52/100\n",
+      "479/479 [==============================] - 0s 117us/step - loss: 0.5222\n",
+      "Epoch 53/100\n",
+      "479/479 [==============================] - 0s 113us/step - loss: 0.4946\n",
+      "Epoch 54/100\n",
+      "479/479 [==============================] - 0s 112us/step - loss: 0.5094\n",
+      "Epoch 55/100\n",
+      "479/479 [==============================] - 0s 118us/step - loss: 0.5283\n",
+      "Epoch 56/100\n",
+      "479/479 [==============================] - 0s 127us/step - loss: 0.5129\n",
+      "Epoch 57/100\n",
+      "479/479 [==============================] - 0s 119us/step - loss: 0.4611\n",
+      "Epoch 58/100\n",
+      "479/479 [==============================] - 0s 120us/step - loss: 0.4359\n",
+      "Epoch 59/100\n",
+      "479/479 [==============================] - 0s 120us/step - loss: 0.4667\n",
+      "Epoch 60/100\n",
+      "479/479 [==============================] - 0s 122us/step - loss: 0.4206\n",
+      "Epoch 61/100\n",
+      "479/479 [==============================] - 0s 120us/step - loss: 0.4714\n",
+      "Epoch 62/100\n",
+      "479/479 [==============================] - 0s 120us/step - loss: 0.4640\n",
+      "Epoch 63/100\n",
+      "479/479 [==============================] - 0s 118us/step - loss: 0.4052\n",
+      "Epoch 64/100\n",
+      "479/479 [==============================] - 0s 118us/step - loss: 0.5388\n",
+      "Epoch 65/100\n",
+      "479/479 [==============================] - 0s 114us/step - loss: 0.4766\n",
+      "Epoch 66/100\n",
+      "479/479 [==============================] - 0s 110us/step - loss: 0.4305\n",
+      "Epoch 67/100\n",
+      "479/479 [==============================] - 0s 118us/step - loss: 0.4656\n",
+      "Epoch 68/100\n",
+      "479/479 [==============================] - 0s 113us/step - loss: 0.4232\n",
+      "Epoch 69/100\n",
+      "479/479 [==============================] - 0s 113us/step - loss: 0.4972\n",
+      "Epoch 70/100\n",
+      "479/479 [==============================] - 0s 118us/step - loss: 0.3998\n",
+      "Epoch 71/100\n",
+      "479/479 [==============================] - 0s 117us/step - loss: 0.4314\n",
+      "Epoch 72/100\n",
+      "479/479 [==============================] - 0s 113us/step - loss: 0.4106\n",
+      "Epoch 73/100\n",
+      "479/479 [==============================] - 0s 116us/step - loss: 0.4171\n",
+      "Epoch 74/100\n",
+      "479/479 [==============================] - 0s 116us/step - loss: 0.4145\n",
+      "Epoch 75/100\n",
+      "479/479 [==============================] - 0s 118us/step - loss: 0.4118\n",
+      "Epoch 76/100\n",
+      "479/479 [==============================] - 0s 115us/step - loss: 0.4296\n",
+      "Epoch 77/100\n",
+      "479/479 [==============================] - 0s 114us/step - loss: 0.4509\n",
+      "Epoch 78/100\n",
+      "479/479 [==============================] - 0s 114us/step - loss: 0.3555\n",
+      "Epoch 79/100\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "479/479 [==============================] - 0s 114us/step - loss: 0.3806\n",
+      "Epoch 80/100\n",
+      "479/479 [==============================] - 0s 114us/step - loss: 0.4927\n",
+      "Epoch 81/100\n",
+      "479/479 [==============================] - 0s 117us/step - loss: 0.3708\n",
+      "Epoch 82/100\n",
+      "479/479 [==============================] - 0s 116us/step - loss: 0.4944\n",
+      "Epoch 83/100\n",
+      "479/479 [==============================] - 0s 112us/step - loss: 0.3959\n",
+      "Epoch 84/100\n",
+      "479/479 [==============================] - 0s 113us/step - loss: 0.3582\n",
+      "Epoch 85/100\n",
+      "479/479 [==============================] - 0s 114us/step - loss: 0.4283\n",
+      "Epoch 86/100\n",
+      "479/479 [==============================] - 0s 112us/step - loss: 0.4540\n",
+      "Epoch 87/100\n",
+      "479/479 [==============================] - 0s 115us/step - loss: 0.3348\n",
+      "Epoch 88/100\n",
+      "479/479 [==============================] - 0s 118us/step - loss: 0.3445\n",
+      "Epoch 89/100\n",
+      "479/479 [==============================] - 0s 114us/step - loss: 0.4770\n",
+      "Epoch 90/100\n",
+      "479/479 [==============================] - 0s 114us/step - loss: 0.4155\n",
+      "Epoch 91/100\n",
+      "479/479 [==============================] - 0s 114us/step - loss: 0.3548\n",
+      "Epoch 92/100\n",
+      "479/479 [==============================] - 0s 115us/step - loss: 0.4744\n",
+      "Epoch 93/100\n",
+      "479/479 [==============================] - 0s 113us/step - loss: 0.3703\n",
+      "Epoch 94/100\n",
+      "479/479 [==============================] - 0s 114us/step - loss: 0.3534\n",
+      "Epoch 95/100\n",
+      "479/479 [==============================] - 0s 115us/step - loss: 0.3729\n",
+      "Epoch 96/100\n",
+      "479/479 [==============================] - 0s 114us/step - loss: 0.3751\n",
+      "Epoch 97/100\n",
+      "479/479 [==============================] - 0s 113us/step - loss: 0.3288\n",
+      "Epoch 98/100\n",
+      "479/479 [==============================] - 0s 110us/step - loss: 0.3084\n",
+      "Epoch 99/100\n",
+      "479/479 [==============================] - 0s 115us/step - loss: 0.3627\n",
+      "Epoch 100/100\n",
+      "479/479 [==============================] - 0s 115us/step - loss: 0.3323\n",
+      "120/120 [==============================] - 0s 182us/step\n",
+      "\n",
+      "MSE in prediction = 1.5178711414337158\n",
+      "\n",
+      "Corr obs vs pred = 0.49506644552140394\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "# Implements a standard fully connected network (MLP) for a quantitative target\n",
+    "\n",
+    "# no. of SNPs in data\n",
+    "nSNP=X_train.shape[1] \n",
+    "\n",
+    "# Instantiate\n",
+    "model = Sequential()\n",
+    "\n",
+    "# Add first layer\n",
+    "model.add(Dense(64, input_dim=nSNP))\n",
+    "model.add(Activation('relu'))\n",
+    "# Add second layer\n",
+    "model.add(Dense(32))\n",
+    "model.add(Activation('softplus'))\n",
+    "# Last, output layer\n",
+    "model.add(Dense(1))\n",
+    "\n",
+    "# Model Compiling (https://keras.io/models/sequential/) \n",
+    "# compile(optimizer, loss=None, metrics=None, loss_weights=None, sample_weight_mode=None, weighted_metrics=None, target_tensors=None)\n",
+    "# Stochastic Gradient Descent (‘sgd’) as optimization algorithm\n",
+    "# Mean Squared Error as loss, ie, quantitative variable, regression\n",
+    "model.compile(loss='mean_squared_error', optimizer='sgd')\n",
+    "\n",
+    "# list some properties\n",
+    "model.summary()\n",
+    "\n",
+    "# training\n",
+    "# fit(x=None, y=None, batch_size=None, epochs=1, verbose=1, callbacks=None, validation_split=0.0, validation_data=None, shuffle=True, class_weight=None, sample_weight=None, initial_epoch=0, steps_per_epoch=None, validation_steps=None, validation_freq=1)\n",
+    "model.fit(X_train, y_train, epochs=100)\n",
+    "\n",
+    "# cross-validation: get predicted target values\n",
+    "y_hat = model.predict(X_test, batch_size=128)\n",
+    "\n",
+    "mse_prediction = model.evaluate(X_test, y_test, batch_size=128)\n",
+    "print('\\nMSE in prediction =',mse_prediction)\n",
+    "\n",
+    "# correlation btw predicted and observed\n",
+    "corr = np.corrcoef(y_test,y_hat[:,0])[0,1]\n",
+    "print('\\nCorr obs vs pred =',corr)\n",
+    "\n",
+    "# plot observed vs. predicted targets\n",
+    "plt.title('MLP: Observed vs Predicted Y')\n",
+    "plt.ylabel('Predicted')\n",
+    "plt.xlabel('Observed')\n",
+    "plt.scatter(y_test, y_hat, marker='o')\n",
+    "plt.show()\n",
+    "\n",
+    "# Exercises\n",
+    "# - Check predictions across environments (Y[0] is first environment, etc)\n",
+    "# - Try to improve model with other activation functions and|or no. of neurons∫ "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "WARNING:tensorflow:From /usr/anaconda3/lib/python3.7/site-packages/keras/backend/tensorflow_backend.py:3445: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version.\n",
+      "Instructions for updating:\n",
+      "Please use `rate` instead of `keep_prob`. Rate should be set to `rate = 1 - keep_prob`.\n",
+      "Train on 431 samples, validate on 48 samples\n",
+      "Epoch 1/100\n",
+      "431/431 [==============================] - 0s 650us/step - loss: 11.2264 - val_loss: 6.7001\n",
+      "Epoch 2/100\n",
+      "431/431 [==============================] - 0s 134us/step - loss: 8.3886 - val_loss: 6.3465\n",
+      "Epoch 3/100\n",
+      "431/431 [==============================] - 0s 158us/step - loss: 7.9870 - val_loss: 6.0166\n",
+      "Epoch 4/100\n",
+      "431/431 [==============================] - 0s 154us/step - loss: 7.5774 - val_loss: 5.7837\n",
+      "Epoch 5/100\n",
+      "431/431 [==============================] - 0s 159us/step - loss: 7.2515 - val_loss: 5.5458\n",
+      "Epoch 6/100\n",
+      "431/431 [==============================] - 0s 158us/step - loss: 6.9818 - val_loss: 5.4342\n",
+      "Epoch 7/100\n",
+      "431/431 [==============================] - 0s 157us/step - loss: 6.7580 - val_loss: 5.2362\n",
+      "Epoch 8/100\n",
+      "431/431 [==============================] - 0s 157us/step - loss: 6.5716 - val_loss: 5.0668\n",
+      "Epoch 9/100\n",
+      "431/431 [==============================] - 0s 159us/step - loss: 6.2631 - val_loss: 4.9931\n",
+      "Epoch 10/100\n",
+      "431/431 [==============================] - 0s 159us/step - loss: 6.1165 - val_loss: 4.7865\n",
+      "Epoch 11/100\n",
+      "431/431 [==============================] - 0s 160us/step - loss: 5.9363 - val_loss: 4.6571\n",
+      "Epoch 12/100\n",
+      "431/431 [==============================] - 0s 159us/step - loss: 5.7442 - val_loss: 4.5416\n",
+      "Epoch 13/100\n",
+      "431/431 [==============================] - 0s 162us/step - loss: 5.6043 - val_loss: 4.4312\n",
+      "Epoch 14/100\n",
+      "431/431 [==============================] - 0s 157us/step - loss: 5.4590 - val_loss: 4.3723\n",
+      "Epoch 15/100\n",
+      "431/431 [==============================] - 0s 165us/step - loss: 5.3495 - val_loss: 4.2327\n",
+      "Epoch 16/100\n",
+      "431/431 [==============================] - 0s 163us/step - loss: 5.2175 - val_loss: 4.1621\n",
+      "Epoch 17/100\n",
+      "431/431 [==============================] - 0s 158us/step - loss: 5.1214 - val_loss: 4.0708\n",
+      "Epoch 18/100\n",
+      "431/431 [==============================] - 0s 156us/step - loss: 5.0422 - val_loss: 3.9912\n",
+      "Epoch 19/100\n",
+      "431/431 [==============================] - 0s 155us/step - loss: 4.7999 - val_loss: 3.9444\n",
+      "Epoch 20/100\n",
+      "431/431 [==============================] - 0s 152us/step - loss: 4.7639 - val_loss: 3.8171\n",
+      "Epoch 21/100\n",
+      "431/431 [==============================] - 0s 155us/step - loss: 4.7001 - val_loss: 3.7411\n",
+      "Epoch 22/100\n",
+      "431/431 [==============================] - 0s 154us/step - loss: 4.5864 - val_loss: 3.7700\n",
+      "Epoch 23/100\n",
+      "431/431 [==============================] - 0s 150us/step - loss: 4.5012 - val_loss: 3.6450\n",
+      "Epoch 24/100\n",
+      "431/431 [==============================] - 0s 151us/step - loss: 4.4042 - val_loss: 3.5761\n",
+      "Epoch 25/100\n",
+      "431/431 [==============================] - 0s 151us/step - loss: 4.3319 - val_loss: 3.5621\n",
+      "Epoch 26/100\n",
+      "431/431 [==============================] - 0s 154us/step - loss: 4.3320 - val_loss: 3.4238\n",
+      "Epoch 27/100\n",
+      "431/431 [==============================] - 0s 157us/step - loss: 4.1527 - val_loss: 3.3508\n",
+      "Epoch 28/100\n",
+      "431/431 [==============================] - 0s 149us/step - loss: 4.1156 - val_loss: 3.3157\n",
+      "Epoch 29/100\n",
+      "431/431 [==============================] - 0s 152us/step - loss: 4.0146 - val_loss: 3.2694\n",
+      "Epoch 30/100\n",
+      "431/431 [==============================] - 0s 157us/step - loss: 3.9413 - val_loss: 3.2102\n",
+      "Epoch 31/100\n",
+      "431/431 [==============================] - 0s 151us/step - loss: 3.8652 - val_loss: 3.1345\n",
+      "Epoch 32/100\n",
+      "431/431 [==============================] - 0s 146us/step - loss: 3.8422 - val_loss: 3.1039\n",
+      "Epoch 33/100\n",
+      "431/431 [==============================] - 0s 155us/step - loss: 3.7572 - val_loss: 3.0413\n",
+      "Epoch 34/100\n",
+      "431/431 [==============================] - 0s 151us/step - loss: 3.7374 - val_loss: 3.0143\n",
+      "Epoch 35/100\n",
+      "431/431 [==============================] - 0s 152us/step - loss: 3.6812 - val_loss: 2.9330\n",
+      "Epoch 36/100\n",
+      "431/431 [==============================] - 0s 153us/step - loss: 3.6639 - val_loss: 2.9064\n",
+      "Epoch 37/100\n",
+      "431/431 [==============================] - 0s 154us/step - loss: 3.5969 - val_loss: 2.8645\n",
+      "Epoch 38/100\n",
+      "431/431 [==============================] - 0s 153us/step - loss: 3.4613 - val_loss: 2.8030\n",
+      "Epoch 39/100\n",
+      "431/431 [==============================] - 0s 156us/step - loss: 3.4626 - val_loss: 2.7603\n",
+      "Epoch 40/100\n",
+      "431/431 [==============================] - 0s 157us/step - loss: 3.3977 - val_loss: 2.7889\n",
+      "Epoch 41/100\n",
+      "431/431 [==============================] - 0s 157us/step - loss: 3.3416 - val_loss: 2.7358\n",
+      "Epoch 42/100\n",
+      "431/431 [==============================] - 0s 152us/step - loss: 3.3595 - val_loss: 2.6548\n",
+      "Epoch 43/100\n",
+      "431/431 [==============================] - 0s 154us/step - loss: 3.2914 - val_loss: 2.6394\n",
+      "Epoch 44/100\n",
+      "431/431 [==============================] - 0s 151us/step - loss: 3.2692 - val_loss: 2.6060\n",
+      "Epoch 45/100\n",
+      "431/431 [==============================] - 0s 157us/step - loss: 3.2253 - val_loss: 2.7023\n",
+      "Epoch 46/100\n",
+      "431/431 [==============================] - 0s 153us/step - loss: 3.2552 - val_loss: 2.5289\n",
+      "Epoch 47/100\n",
+      "431/431 [==============================] - 0s 154us/step - loss: 3.1298 - val_loss: 2.5300\n",
+      "Epoch 48/100\n",
+      "431/431 [==============================] - 0s 152us/step - loss: 3.1724 - val_loss: 2.4606\n",
+      "Epoch 49/100\n",
+      "431/431 [==============================] - 0s 157us/step - loss: 3.0989 - val_loss: 2.4354\n",
+      "Epoch 50/100\n",
+      "431/431 [==============================] - 0s 153us/step - loss: 3.1372 - val_loss: 2.3929\n",
+      "Epoch 51/100\n",
+      "431/431 [==============================] - 0s 156us/step - loss: 3.1306 - val_loss: 2.4399\n",
+      "Epoch 52/100\n",
+      "431/431 [==============================] - 0s 150us/step - loss: 3.0699 - val_loss: 2.4692\n",
+      "Epoch 53/100\n",
+      "431/431 [==============================] - 0s 156us/step - loss: 3.0736 - val_loss: 2.3599\n",
+      "Epoch 54/100\n",
+      "431/431 [==============================] - 0s 158us/step - loss: 3.1225 - val_loss: 2.3307\n",
+      "Epoch 55/100\n",
+      "431/431 [==============================] - 0s 158us/step - loss: 3.0260 - val_loss: 2.2828\n",
+      "Epoch 56/100\n",
+      "431/431 [==============================] - 0s 153us/step - loss: 3.0394 - val_loss: 2.2994\n",
+      "Epoch 57/100\n",
+      "431/431 [==============================] - 0s 156us/step - loss: 2.9751 - val_loss: 2.2632\n",
+      "Epoch 58/100\n",
+      "431/431 [==============================] - 0s 151us/step - loss: 2.9455 - val_loss: 2.2253\n",
+      "Epoch 59/100\n",
+      "431/431 [==============================] - 0s 150us/step - loss: 3.0951 - val_loss: 2.2315\n",
+      "Epoch 60/100\n",
+      "431/431 [==============================] - 0s 153us/step - loss: 2.9962 - val_loss: 2.1883\n",
+      "Epoch 61/100\n",
+      "431/431 [==============================] - 0s 157us/step - loss: 2.9533 - val_loss: 2.1751\n",
+      "Epoch 62/100\n",
+      "431/431 [==============================] - 0s 160us/step - loss: 2.9242 - val_loss: 2.1098\n",
+      "Epoch 63/100\n",
+      "431/431 [==============================] - 0s 161us/step - loss: 2.9409 - val_loss: 2.1235\n",
+      "Epoch 64/100\n",
+      "431/431 [==============================] - 0s 159us/step - loss: 2.9480 - val_loss: 2.1324\n",
+      "Epoch 65/100\n",
+      "431/431 [==============================] - 0s 154us/step - loss: 3.0048 - val_loss: 2.0819\n",
+      "Epoch 66/100\n",
+      "431/431 [==============================] - 0s 157us/step - loss: 2.8952 - val_loss: 2.0516\n",
+      "Epoch 67/100\n",
+      "431/431 [==============================] - 0s 156us/step - loss: 2.9135 - val_loss: 2.1895\n",
+      "Epoch 68/100\n",
+      "431/431 [==============================] - 0s 157us/step - loss: 2.9798 - val_loss: 2.0057\n",
+      "Epoch 69/100\n",
+      "431/431 [==============================] - 0s 151us/step - loss: 2.9006 - val_loss: 2.0078\n",
+      "Epoch 70/100\n",
+      "431/431 [==============================] - 0s 158us/step - loss: 2.9578 - val_loss: 2.0599\n",
+      "Epoch 71/100\n",
+      "431/431 [==============================] - 0s 158us/step - loss: 2.9376 - val_loss: 1.9893\n",
+      "Epoch 72/100\n",
+      "431/431 [==============================] - 0s 163us/step - loss: 2.8598 - val_loss: 2.0666\n",
+      "Epoch 73/100\n",
+      "431/431 [==============================] - 0s 154us/step - loss: 3.0288 - val_loss: 2.0464\n",
+      "Epoch 74/100\n",
+      "431/431 [==============================] - 0s 163us/step - loss: 2.8532 - val_loss: 1.9716\n",
+      "Epoch 75/100\n",
+      "431/431 [==============================] - 0s 159us/step - loss: 2.9068 - val_loss: 1.9706\n",
+      "Epoch 76/100\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "431/431 [==============================] - 0s 154us/step - loss: 2.8875 - val_loss: 2.0878\n",
+      "Epoch 77/100\n",
+      "431/431 [==============================] - 0s 155us/step - loss: 2.8259 - val_loss: 1.9820\n",
+      "Epoch 78/100\n",
+      "431/431 [==============================] - 0s 153us/step - loss: 2.9741 - val_loss: 1.8856\n",
+      "Epoch 79/100\n",
+      "431/431 [==============================] - 0s 156us/step - loss: 2.8720 - val_loss: 1.8905\n",
+      "Epoch 80/100\n",
+      "431/431 [==============================] - 0s 154us/step - loss: 2.9161 - val_loss: 2.0108\n",
+      "Epoch 81/100\n",
+      "431/431 [==============================] - 0s 153us/step - loss: 2.9449 - val_loss: 2.1448\n",
+      "Epoch 82/100\n",
+      "431/431 [==============================] - 0s 152us/step - loss: 3.0212 - val_loss: 1.8691\n",
+      "Epoch 83/100\n",
+      "431/431 [==============================] - 0s 154us/step - loss: 2.8898 - val_loss: 1.8479\n",
+      "Epoch 84/100\n",
+      "431/431 [==============================] - 0s 149us/step - loss: 2.8471 - val_loss: 1.8901\n",
+      "Epoch 85/100\n",
+      "431/431 [==============================] - 0s 157us/step - loss: 2.7938 - val_loss: 1.8610\n",
+      "Epoch 86/100\n",
+      "431/431 [==============================] - 0s 155us/step - loss: 2.8658 - val_loss: 2.0063\n",
+      "Epoch 87/100\n",
+      "431/431 [==============================] - 0s 154us/step - loss: 2.9670 - val_loss: 1.7724\n",
+      "Epoch 88/100\n",
+      "431/431 [==============================] - 0s 153us/step - loss: 2.8523 - val_loss: 1.8455\n",
+      "Epoch 89/100\n",
+      "431/431 [==============================] - 0s 156us/step - loss: 2.8743 - val_loss: 1.8598\n",
+      "Epoch 90/100\n",
+      "431/431 [==============================] - 0s 152us/step - loss: 2.9602 - val_loss: 1.8490\n",
+      "Epoch 91/100\n",
+      "431/431 [==============================] - 0s 152us/step - loss: 2.7944 - val_loss: 1.7486\n",
+      "Epoch 92/100\n",
+      "431/431 [==============================] - 0s 153us/step - loss: 2.8316 - val_loss: 1.7398\n",
+      "Epoch 93/100\n",
+      "431/431 [==============================] - 0s 143us/step - loss: 2.7773 - val_loss: 1.7455\n",
+      "Epoch 94/100\n",
+      "431/431 [==============================] - 0s 152us/step - loss: 2.8188 - val_loss: 1.7919\n",
+      "Epoch 95/100\n",
+      "431/431 [==============================] - 0s 154us/step - loss: 2.8364 - val_loss: 1.7134\n",
+      "Epoch 96/100\n",
+      "431/431 [==============================] - 0s 151us/step - loss: 2.8278 - val_loss: 1.7629\n",
+      "Epoch 97/100\n",
+      "431/431 [==============================] - 0s 155us/step - loss: 3.0013 - val_loss: 1.7377\n",
+      "Epoch 98/100\n",
+      "431/431 [==============================] - 0s 153us/step - loss: 2.9321 - val_loss: 1.6935\n",
+      "Epoch 99/100\n",
+      "431/431 [==============================] - 0s 157us/step - loss: 2.8506 - val_loss: 2.0830\n",
+      "Epoch 100/100\n",
+      "431/431 [==============================] - 0s 153us/step - loss: 2.9124 - val_loss: 1.6981\n",
+      "120/120 [==============================] - 0s 20us/step\n",
+      "\n",
+      "MSE in prediction = 5.842840194702148\n"
+     ]
+    }
+   ],
+   "source": [
+    "# Controlling overfit: regularization, dropout and early stopping\n",
+    "\n",
+    "# deletes current model\n",
+    "del model\n",
+    "\n",
+    "model = Sequential()\n",
+    "\n",
+    "# Add l1 & l2 regularization in first layer\n",
+    "model.add(Dense(64, input_dim=nSNP,\n",
+    "                kernel_regularizer=regularizers.l2(0.01),\n",
+    "                activity_regularizer=regularizers.l1(0.01)))\n",
+    "model.add(Activation('relu'))\n",
+    "# Add second layer\n",
+    "model.add(Dense(32))\n",
+    "model.add(Activation('softplus'))\n",
+    "## Adding dropout to second layer\n",
+    "model.add(Dropout(0.2))\n",
+    "# Last, output layer\n",
+    "model.add(Dense(1))\n",
+    "\n",
+    "# Model Compiling (https://keras.io/models/sequential/) \n",
+    "model.compile(loss='mean_squared_error', optimizer='sgd')\n",
+    "\n",
+    "# Split the train set into proper train & validation\n",
+    "X_train0, X_val, y_train0, y_val = train_test_split(X_train, y_train, test_size=0.1)\n",
+    "nEpochs=100\n",
+    "\n",
+    "# Early stopping\n",
+    "early_stopper = EarlyStopping(monitor='val_loss', patience=10, min_delta=0.01)\n",
+    "model.fit(X_train0, y_train0, epochs=nEpochs, verbose=1, validation_data=(X_val, y_val), callbacks=[early_stopper])\n",
+    "\n",
+    "# cross-validation\n",
+    "mse_prediction = model.evaluate(X_test, y_test, batch_size=128)\n",
+    "print('\\nMSE in prediction =',mse_prediction)\n",
+    "\n",
+    "## In this case neither l1 nor l2 regularization helps"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Talos is a powerful tool to keras hyperparameter optimization and model evaluation. For regression models, it includes root_mean_squared_error as an evaluation metric, but you can also use a custom function as the train/test correlation. \n",
+    "**Warning**: you should include the string 'acc' in the name in order to  pick epochs will be well recorded."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Defining pearson correlation as custom metric to model optimization in talos! \n",
+    "# warning! you have to use acc in the metric name!\n",
+    "\n",
+    "from keras import backend as K\n",
+    "\n",
+    "def acc_pearson_r(y_true, y_pred):\n",
+    "    x = y_true\n",
+    "    y = y_pred\n",
+    "    mx = K.mean(x, axis=0)\n",
+    "    my = K.mean(y, axis=0)\n",
+    "    xm, ym = x - mx, y - my\n",
+    "    r_num = K.sum(xm * ym)\n",
+    "    x_square_sum = K.sum(xm * xm)\n",
+    "    y_square_sum = K.sum(ym * ym)\n",
+    "    r_den = K.sqrt(x_square_sum * y_square_sum)\n",
+    "    r = r_num / r_den\n",
+    "    return K.mean(r)    \n",
+    "    "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# HYPERPARAMETER OPTIMIZATION USING TALOS: Simple example\n",
+    "# https://autonomio.github.io/docs_talos/\n",
+    "# 1. Hyperparameter ranges and Model definition\n",
+    "\n",
+    "# model definition\n",
+    "def baby_model(x, y, x_val, y_val, params):    \n",
+    "    # replace the hyperparameter inputs with references to params dictionary \n",
+    "    model = Sequential()\n",
+    "    model.add(Dense(params['first_neuron'], input_dim=x.shape[1],\n",
+    "                activation=params['activation']))\n",
+    "    #last neuron\n",
+    "    model.add(Dense(1, activation=None))\n",
+    "    model.compile(loss=mean_squared_error, optimizer='sgd', metrics=[acc_pearson_r])\n",
+    "    \n",
+    "    # make sure history object is returned by model.fit()\n",
+    "    out = model.fit(x, y,\n",
+    "                    epochs=50,\n",
+    "                    validation_data=[x_val, y_val],\n",
+    "                    batch_size=params['batch_size'],\n",
+    "                    verbose=0,callbacks=[live()])\n",
+    "    \n",
+    "    # modify the output model\n",
+    "    return out, model\n",
+    "\n",
+    "# dictionary with hyperparameters and range values allowed\n",
+    "p = {\n",
+    "    'first_neuron': [12, 48],\n",
+    "    'activation': [relu, elu],\n",
+    "    'batch_size': [10, 30]\n",
+    "}\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 864x576 with 2 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "100%|██████████| 8/8 [02:35<00:00, 18.71s/it]\n"
+     ]
+    }
+   ],
+   "source": [
+    "# HYPERPARAMETER OPTIMIZATION USING TALOS: Simple example\n",
+    "# 2. Search, run this grid should take between 1-2 minutes\n",
+    "\n",
+    "# Split the train set into proper train & validation\n",
+    "X_train0, X_val, y_train0, y_val = train_test_split(X_train, y_train, test_size=0.1)\n",
+    "X_train0=np.asarray(X_train0)\n",
+    "X_val=np.asarray(X_val)\n",
+    "y_train0=np.asarray(y_train0)\n",
+    "y_val=np.asarray(y_val)\n",
+    "\n",
+    "# COOL! this shows real time plots\n",
+    "t_Init = ta.Scan(x=X_train0,\n",
+    "                 y=y_train0,\n",
+    "                 x_val=X_val,\n",
+    "                 y_val=y_val,\n",
+    "                 model=baby_model, \n",
+    "                 params=p, \n",
+    "                 grid_downsample=None,   # grid search\n",
+    "                 dataset_name='baby_model',\n",
+    "                 print_params=True)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "  round_epochs            val_loss  val_acc_pearson_r      loss  \\\n",
+      "0           50  0.5657099410891533           0.526767  0.416398   \n",
+      "1           50  0.4832996961971124           0.533134  0.401398   \n",
+      "2           50  0.5437336973845959           0.528810  0.556255   \n",
+      "3           50  0.5385651886463165           0.457365  0.498343   \n",
+      "4           50  0.5820434391498566           0.408295  0.481455   \n",
+      "5           50  0.5022439491003752           0.541126  0.261090   \n",
+      "6           50  0.5909712165594101           0.496790  0.558527   \n",
+      "7           50  0.5774653665721416           0.507399  0.567783   \n",
+      "\n",
+      "        acc_pearson_r first_neuron                         activation  \\\n",
+      "0  0.7780445284467286           48  <function relu at 0x7f553796da60>   \n",
+      "1                 nan           12  <function relu at 0x7f553796da60>   \n",
+      "2  0.6865397805127633           12  <function relu at 0x7f553796da60>   \n",
+      "3                 nan           48   <function elu at 0x7f553796d730>   \n",
+      "4                 nan           12   <function elu at 0x7f553796d730>   \n",
+      "5                 nan           48  <function relu at 0x7f553796da60>   \n",
+      "6  0.6860952577845403           12   <function elu at 0x7f553796d730>   \n",
+      "7  0.6758496680420125           48   <function elu at 0x7f553796d730>   \n",
+      "\n",
+      "  batch_size  \n",
+      "0         30  \n",
+      "1         10  \n",
+      "2         30  \n",
+      "3         10  \n",
+      "4         10  \n",
+      "5         10  \n",
+      "6         30  \n",
+      "7         30  \n",
+      "\n",
+      "Best prediction combination:\n",
+      "  round_epochs            val_loss  val_acc_pearson_r     loss acc_pearson_r  \\\n",
+      "5           50  0.5022439491003752           0.541126  0.26109           nan   \n",
+      "\n",
+      "  first_neuron                         activation batch_size  \n",
+      "5           48  <function relu at 0x7f553796da60>         10   \n",
+      "\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "# HYPERPARAMETER OPTIMIZATION USING TALOS: Simple example\n",
+    "# 3. Inspect results\n",
+    "Data=pd.DataFrame(t_Init.data)\n",
+    "Data[\"loss\"] = pd.to_numeric(Data[\"loss\"])\n",
+    "Data[\"val_acc_pearson_r\"] = pd.to_numeric(Data[\"val_acc_pearson_r\"])\n",
+    "print(Data)\n",
+    "\n",
+    "# Minimum loss set\n",
+    "i=Data['val_acc_pearson_r'].argmax()\n",
+    "print('\\nBest prediction combination:')\n",
+    "print(Data[i:(i+1)],'\\n')\n",
+    "\n",
+    "# Visualize some parameters combinations \n",
+    "x = sns.boxplot(y=\"val_acc_pearson_r\",x=\"first_neuron\",hue=\"activation\",data=Data).set_title('First neuron x activation')"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Hyperparameter tunning: 'the real world model'. Talos uses a dictionary for keras hyperparameter optimization. You ha ve to declare the hyperparameters and their boundaries in a python dictionary. \n",
+    "Warning! Keras optimizer, losses, activation, initializer need to be loaded! \n",
+    "Note that talos Scan includes an argument called grid_downsampling, which allows a random search. Just to illustrate how to use talos, we've chosen 0.01 "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 864x576 with 2 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "100%|██████████| 23/23 [14:17<00:00, 37.81s/it]\n"
+     ]
+    }
+   ],
+   "source": [
+    "# HYPERPARAMETER OPTIMIZATION USING TALOS: more complex example\n",
+    "# We do a random search here (by downsampling among all possible grid values)\n",
+    "\n",
+    "# model definition\n",
+    "def grown_model(x, y, x_val, y_val, params):\n",
+    "    # next we can build the model exactly like we would normally do it\n",
+    "    model = Sequential()\n",
+    "    model.add(Dense(params['first_neuron'], input_dim=x.shape[1],\n",
+    "                    activation=params['activation'],\n",
+    "                    kernel_initializer=params['kernel_initializer']))\n",
+    "    \n",
+    "    model.add(Dropout(params['dropout']))\n",
+    "    \n",
+    "    # if we want to also test for number of layers and shapes, that's possible\n",
+    "    hidden_layers(model, params, 1)\n",
+    "\n",
+    "    # then we finish again with completely standard Keras way\n",
+    "    model.add(Dense(1, activation=params['last_activation'],\n",
+    "                    kernel_initializer='normal'))\n",
+    "    \n",
+    "    model.compile(loss=params['losses'],\n",
+    "        optimizer=params['optimizer'](lr=lr_normalizer(params['lr'],params['optimizer'])),\n",
+    "            metrics=[acc_pearson_r])\n",
+    "                  \n",
+    "   \n",
+    "    out = model.fit(x, y, validation_data=[x_val, y_val], verbose=0,batch_size=params['batch_size'],\n",
+    "                        epochs=params['epochs'],callbacks=[live()])\n",
+    "\n",
+    "    # finally we have to make sure that history object and model are returned\n",
+    "    return out, model\n",
+    "\n",
+    "# hyperparameters\n",
+    "p = {'first_neuron':[32,64],\n",
+    "     'lr':[0.2,0.5],\n",
+    "     'batch_size': [30,50],\n",
+    "     'hidden_layers':[1,2,3,4],\n",
+    "     'epochs': [100],\n",
+    "     'dropout': [0, 0.01, 0.1, 0.5],\n",
+    "     'optimizer': [adam,sgd,Nadam],\n",
+    "     'losses': [mean_squared_error],\n",
+    "     'activation':[relu, elu,linear],\n",
+    "     'last_activation': [None],\n",
+    "     'kernel_initializer':[\"uniform\",\"normal\"]}\n",
+    "\n",
+    "# Split the train set into proper train & validation\n",
+    "X_train0, X_val, y_train0, y_val = train_test_split(X_train, y_train, test_size=0.1)\n",
+    "X_train0=np.asarray(X_train0)\n",
+    "X_val=np.asarray(X_val)\n",
+    "y_train0=np.asarray(y_train0)\n",
+    "y_val=np.asarray(y_val)\n",
+    "\n",
+    "# Example with multiclass target\n",
+    "# grid_downsample number of combinations to be checked 10% in this example\n",
+    "tcomp = ta.Scan(x=X_train0,\n",
+    "                y=y_train0,\n",
+    "                x_val=X_val,\n",
+    "                y_val=y_val,\n",
+    "                model=grown_model, \n",
+    "                params=p, \n",
+    "                grid_downsample=0.01,\n",
+    "                print_params=True,\n",
+    "                dataset_name='grown_model')\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# HYPERPARAMETER OPTIMIZATION USING TALOS: more complex example\n",
+    "# Some plotting\n",
+    "Data=pd.DataFrame(tcomp.data)\n",
+    "Data[\"val_loss\"] = pd.to_numeric(Data[\"val_loss\"])\n",
+    "Data[\"acc_pearson_r\"] = pd.to_numeric(Data[\"acc_pearson_r\"])\n",
+    "Data[\"val_acc_pearson_r\"] = pd.to_numeric(Data[\"val_acc_pearson_r\"])\n",
+    "#print Data\n",
+    "#print(Data)\n",
+    "#write Data\n",
+    "Data.to_csv(\"mlp_real_world.csv\",index=False)\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Best loss combination:\n",
+      "  round_epochs  val_loss  val_acc_pearson_r                 loss  \\\n",
+      "8          100  0.591251           0.729234  0.09926358582732848   \n",
+      "\n",
+      "   acc_pearson_r first_neuron   lr batch_size hidden_layers epochs dropout  \\\n",
+      "8       0.952372           32  0.5         30             3    100       0   \n",
+      "\n",
+      "                          optimizer  \\\n",
+      "8  <class 'keras.optimizers.Nadam'>   \n",
+      "\n",
+      "                                            losses  \\\n",
+      "8  <function mean_squared_error at 0x7f55379c1620>   \n",
+      "\n",
+      "                          activation last_activation kernel_initializer  \n",
+      "8  <function relu at 0x7f553796da60>            None             normal   \n",
+      "\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 720x475.2 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "# Maximum correlation\n",
+    "i=Data['val_acc_pearson_r'].argmax()\n",
+    "print('\\nBest loss combination:')\n",
+    "print(Data[i:(i+1)],'\\n')\n",
+    "# talos have a function called reporting, which has implemented some plots \n",
+    "# reporting to see the best model, draw an histogram\n",
+    "r = ta.Reporting('mlp_real_world.csv')\n",
+    "r.plot_hist('val_acc_pearson_r')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 15,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "0.7292338609695435\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "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kiTpmmuukdls1saNG+V0OrVp0yZJUq9evZplTj4jCAAA0AImTJigN954Q0888YSCg4M1ceJEderUSfn5+Zo3b57mzp0rSfr888+1ZMkS1dfXKywsTMOGDdOgQYMkSX5+frrvvvu0ZMkSrVy5UldddZXuu+++ZvnqGIkvlMaPaO1fVSK1va9daSuvAwCag/N4QYuvYb0qrsXXuBJwaxgAAMCgCEEAAACDIgQBAAAMihAEAAAwKEIQAADAoAhBAAAAgyIEAQAADIoQBAAAMChCEAAAwKAIQQAAAIMiBAEAAAyKEAQAADAoQhAAAMCgCEEAAACDIgQBAAAMihAEAAAwKEIQAADAoAhBAAAAgyIEAQAADIoQbGYul8vXI8jtdvt6BAAA0Ar4+XoASfr444+1efNmVVZWKjw8XKNGjVJycrIk6dNPP9X69etVXl6u8PBwTZkyRV27dpXdbteyZctUUFAgj8ejlJQUjR8//rxrbNmyRZs3b1aXLl20bds22Ww2jR8/XgkJCZKkmpoaLV++XPv375fJZFJ6erpGjhwps9mskydP6s0339SxY8ckSb1799b48ePVrl07SVJWVpaGDBmi7du3q6SkRHPnztX69eu1ceNG1dbWymazacKECUpISJDT6dSKFSu0a9cuSVL//v01ZswYWa1WHTx4UIsWLVJGRobWrFkjs9ms0aNHKz09/YLv3+LFi2W1WmW323Xo0CHdf//93tcFAABwPldECHbs2FEPP/yw2rdvr127dmnRokWaNWuWCgoKlJeXp/vuu0/dunXTyZMnZbFY5Ha79corr6hXr16aMmWKzGazvv3224uuU1hYqH79+un555/X7t279dprryk7O1vBwcFavHixQkNDNWvWLNXV1enll19WeHi4brzxRnk8Ht16662Kj49XbW2tFixYoLy8PN15553ec+/cuVMPPPCAQkJCdOrUKW3atElPPPGEwsLCVFpa6r1Kt3r1ah0+fFhPPfWUJOnVV1/V6tWrdfvtt0uSTp8+rZqaGs2ePVsHDhzQggULlJSU5I3O89mxY4cefPBBTZ8+/Yq4KgkAAK58V8St4f79+yssLExms1kpKSmKiopSYWGhNm/erFtuuUXdu3eXyWRSVFSUIiMjVVhYqIqKCo0dO1YBAQGyWq2Kj4+/6DqhoaHKyMiQxWJRSkqKoqOj9e9//1un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5QoJCdGwYcN04403XtYAH3/8sTZv3qzKykqFh4dr1KhRSk5O9u7/9NNPtX79epWXlys8PFxTpkxR165dZbfbtWzZMhUUFMjj8SglJUXjx48/7zpbtmzR5s2b1aVLF23btk02m03jx49XQkKCJKmmpkbLly/X/v37ZTKZlJ6erpEjR8psNuvkyZN68803dezYMUlS7969NX78eLVr106SlJWVpSFDhmj79u0qKSnR3LlztX79em3cuFG1tbWy2WyaMGGCEhIS5HQ6tWLFCu3atUuS1L9/f40ZM0ZWq1UHDx7UokWLlJGRoTVr1shsNmv06NFKT0+/4Hu4ePFiWa1W2e12HTp0SPfff7/3dQEAAJzPRUNwwIABysvLU21trQIDA+V2u7Vr1y7dd999qqqq0gMPPKAOHTro0KFDmjdvnrp166auXbte8gAdO3bUww8/rPbt22vXrl1atGiRZs2aJZvNpl27dikvL0/33XefunXrppMnT8piscjtduuVV15Rr169NGXKFJnNZn377bcXXauwsFD9+vXT888/r927d+u1115Tdna2goODtXjxYoWGhmrWrFmqq6vTyy+/rPDwcN14443yeDy69dZbFR8fr9raWi1YsEB5eXm68847vefeuXOnHnjgAYWEhOjUqVPatGmTnnjiCYWFham0tNR7lW716tU6fPiw9/OTr776qlavXq3bb79dknT69GnV1NRo9uzZOnDggBYsWKCkpCRvdJ7Pjh079OCDD2r69OlXxFVJAABw5bvoreHIyEh17dpVX3zxhSTp66+/lr+/v3r06KG+ffuqY8eOMplMuuaaa3TttdcqPz//sgbo37+/wsLCZDablZKSoqioKBUWFkqSNm/erFtuuUXdu3eXyWRSVFSUIiMjVVhYqIqKCo0dO1YBAQGyWq2Kj4+/6FqhoaHKyMiQxWJRSkqKoqOj9e9//1unT5/W/v37dccddyggIMB73M6dOyVJUVFRuvbaa2W1Wr37Dh061ODcN910kyIiIuTv7y+TyaT6+nodP35cLpdLkZGR6tixo6SzwZaZmanQ0FCFhobqtttu07Zt27znsVgsyszMlMVi0XXXXaeAgACdOHHioq8tMTFRcXFxMpvNslqtl/r2AwAAA7voFUFJSklJ0c6dOzVo0CDt2LFDqampkqT9+/crLy9PJSUl8ng8qqurU2xs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AD766COUlpbCwcEB/fr1Q1BQEOzs7PD888/jq6++glarxYgRI+Ds7Hzfrzdq1ChUVVVh1apVAG7tGq7foUxERETSVl1djczMTCxevBi2trbw9/dHYGAg0tLS8NRTTzV4/e1dTdq3b4/AwECcP3/eoBBsDoVOp9M91Fcg2eny6jeiIzy0s588DQC4XHT/W/CmrpPKHgAw4YvjD3ilaYubMRAAUPvHecFJHo5Vh1tLP6T+fQD//73I5WeEzIsx3qfq30daS25uLtasWYMPP/xQf+3AgQM4e/YsXnnllfv+tzqdDu+99x4GDx6MP//5zwBu3Rqura2FTqeDl5cXxo8fDy8vrwfmMIsZQSIiIiJTUl1dDTs7O4NrdnZ2jdr4mZCQAJ1OZ9A/ePr06ejYsSMA4NChQ/j444/xj3/844Ft5VgI3iYtLQ3R0dENrqtUKixZskRAIiIiIpKidevW4ezZs3d9zs/PD5GRkaisrDS4XlVVBRsbm/t+3cOHD+P48eOYN2+eQYeU2zerhoeH4/jx4zh37hwCAwPv+/VYCN5mwIAB3JBBRERED23u3Ln3fb66uhparRb5+flwd3cHAFy5cuWuG0XqHTt2DPv378e8efMatJ1rLlk2lCYiIiIyZTY2Nujduzd2796N6upqnD9/HllZWfeckEpLS0N8fDzmzJkDV1dXg+eKiopw/vx5aDQa1NbW4sCBA6ioqEDnzp0fmIMzgkREREQCPP/889i6dSsWLFiAtm3bYuLEifoZwXPnzuGTTz7BunXrAAC7du1CeXm5/rhcAAgODsakSZNQVVWF6OhoFBYWwsrKCl5eXnj11Vdhb//gzVQsBImIiIgEaNu2LV5++eW7Pufv768vAgFgxYoV9/w6np6eWLx4cbMy8NYwERERkZliIUhERERkplgIEhEREZkpFoJEREREZoqFIBEREZGZYiFIREREZKZYCBIRERGZKRaCRERERGaKhSARERGRmWIhSERERGSmWAgSERERmSkWgkRERERmioUgERERkZliIUhERERkplgIEhEREZkpFoJEREREZkqh0+l0okMQERERNVaXV79p9f/H2U+ebvX/hylgIUhERERkpnhrmIiIiMhMsRAkIiIiMlMsBImIiIjMFAtBIiIiIjPFQpCIiIjITLEQJCIiIjJTLASJiIiIzBQLQSIiIiIzxUKQiCRJ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\n",
+      "text/plain": [
+       "<Figure size 648x648 with 2 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 720x475.2 with 1 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "print(r.high('val_acc_pearson_r'))\n",
+    "# we can check the correlation between val accuracy and other parameters into the model\n",
+    "r.plot_corr('val_acc_pearson_r')\n",
+    "# we can see the distribution of the val_acc parameter chosen \n",
+    "r.plot_kde('val_acc_pearson_r')\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 16,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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zZs3zzbvyy+/VPfu3WW32z1p7y233KLIyMhsWxclqWPHjp7f+/n5KSoqKs86zdi/f7+6d++uatWqyeFwyM/PTwcOHNDBgwc9c/r3768jR47o66+/liRt3rxZR44c8WwvPHjwoI4ePaqHHnooW2Ldrl07uVwu7dmzx7OWzWbTfffdl62GP/zhD1q2bJleffVV/fDDDzf8tuKaLl26aMeOHTf9BXgTvYPeYRiGnnzySaWkpGjp0qWmnwfQP8p2/xg7dqy2b9+ujz76SFWqVFHHjh11+vRpU88F6B9ls38kJCRo5cqVmjFjhtl/XSggLu5sUb+9g4K/v78kyeVy5Tr/2vmrVatWzXb8t49PnTqV49i1eampqZ7HZ86c0fTp0zV9+vQcc48dO3bTWvOq82ZSU1PVsWNHVatWTbNnz1ZERIScTqcGDBiQbc169eopJiZGb7/9ttq2bau3335bd955p26//XZP/ZIUGxub6+tc/x4qVark+fd7zfjx42W327VgwQKNHj1atWrV0siRIzVs2LA8a69cubIqVKhQoPcNFBV6B71j9OjRWr16tTZu3Kh69eoV2bqwPvpH2e4fdevWVd26ddWyZUt17NhRERERmj9/viZNmlQk68Pa6B9ls38MHz5cTz/9tCpUqKALFy54jmdkZOjixYv83agIEfxAklS9enVJUkpKSrbjv31cvXr1HMeuzQsMDPQ8rly5srp3757rVdnDw8OLouRcJSQkKDk5WRs3blSjRo08xy9evJhj7oABAzRw4EBNnTpVH3/8sWbNmuUZq1y5siRp8eLFngucXu/6W0n+9oKokuR0OjVp0iRNmjRJP/30kxYuXKjhw4erYcOG+vOf/5xr7e+8846pC5qZSeCB4kLvsFbvmDNnjmbOnKkPP/xQ9957703nA4VB/7BW/7he+fLldeutt3quUQIUNfqHNfrHgQMHtH37ds2dOzfb8VGjRmnMmDFc37QIEfxAklSnTh1Vr15dn3zySbYf7o8//jjbvJYtW+rll1/Wd99959kyefToUe3atUv33HOPZ1779u21d+9eNW/ePNfm4i0ZGRmSpICAAM+xbdu2KSkpKceWzh49emjIkCF6+OGH5Xa79fDDD3vGGjZsqFq1aikpKUkDBw4sVE1RUVGaOXOm5s+fr3379uXZPK9tlwRKE3qHdXrHe++9pxEjRmj27Nl66KGHCr0ecDP0D+v0j986c+aMDhw4kON0EqCo0D+s0T/WrVuXI9xp27athg4dmuO0PRQOwQ8kSQ6HQ6NGjdKLL76o8PBw3XvvvVq1apX279+fbV5sbKyaNGminj17avr06QoICNDEiRNzbKGMi4vTnXfeqfvvv1/9+/dXeHi4jh8/ro0bN+qJJ55QTEyMV97HXXfdpZCQEA0cOFCjRo1ScnKy4uLiVKtWrRxznU6nHnvsMc2fP1+PPPJItm2bdrtds2bNUp8+fXTp0iXdd9998vf3188//6w1a9Zo5cqVCgoKyrOO7t27q3nz5mratKkCAwO1cuVK/fLLL4qOjs7zOWFhYZ7bnxbGli1b9K9//Us7d+6UJH3++eeqUqWKGjdu7DlfGigq9A5r9I4tW7aoX79+6tixo+666y59++23nrHatWurdu3ahVofyA39wxr9Y9asWUpMTFR0dLSqVq2qxMREzZkzRwEBAXr66acLtTaQF/qHNfpH69atcz0eFRWlNm3aFGptZMfFneExfPhwjR07VgsXLtR//dd/6fLly3r11VezzbHZbPr000/VuHFj9e/fX88//7yeffZZ3X333dnmNWjQQN9++62CgoL01FNP6b777tPEiRMVEBCg+vXre+09VKtWTR999JFOnTqlrl27au7cuVq4cGGer9mtWzdJv14w7bd69eqlTz75RP/4xz/Us2dP9ejRQwsWLFCzZs1ynBf7W3/84x+1Zs0aPfroo+ratat27typVatWqUWLFoV/kzcxceJE9ezZU9OmTZMkDR48WD179tSKFSu8/toom+gd2ZXG3rF582ZlZWVpw4YNuvvuu7P9euutt7z62ijb6B/Zlcb+0aRJE+3fv19DhgzRn//8Z02ZMkV33nmndu3aRWgMr6J/ZFca+weKj83ggiEow0aNGqUVK1bo559/lt1ODgrAHHoHgIKifwAoKPoHCopTvVAmHThwQPv27dMbb7yhiRMn0jgBmELvAFBQ9A8ABUX/QGGx4wcl2o2u5G632wvc9GJiYvTdd9/pgQce0LvvvnvT7Y8AShd6B4CCon8AKCj6B0oqgh+UWElJSdluPfhbffv21bJly4qvIAClAr0DQEHRPwAUFP0DJRmneqHEqlmz5g1vERgeHl6M1QAoLegdAAqK/gGgoOgfKMnY8QMAAAAAAGBRXBUKAAAA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llYfNwwMDNQzzzyjefPmNXozLYXjkgBMkR8ATJAdAEyRH0D7df/99+vqq6/WokWLGjXHp+JHks6dO6cdO3bo1KlT6tatm2655RZdeeWVjdpESyM8AZgiPwCYIDsAmCI/gPYrNTVVs2fPVnx8vOLj49W1a9da18TGxjY4x+fixwkITwCmyA8AJsgOAKbID6D9crlc9a57vV55PJ4G59i+x4/0wz19VqxYoZ07d+r48ePq1auXhg4dqtmzZ6tHjx6+jAIAAAAAAMAl7Nu3r0nm2D7x89lnnykhIUH+/v4aPXq0wsLCVFRUpC1btqiyslIffPCBhg0b1iSbam605gBMkR8ATJAdAEyRHwAay3bxM3jwYHXt2lXvv/++goKCql8/f/68xowZo+LiYmVlZTXbRpsS4QnAFPkBwATZAcAU+QG0X3l5eQ1eExER0eA1toufTp066c9//nOdjxJLTU3VPffcowsXLtgZ1eoITwCmyA8AJsgOAKbID6D9crlcDf79b9J7/ERHR+vEiRN1rh0/flzXXnut3VEAAAAAAACox/vvv1/jZ6/Xq8LCQqWlpSkzM1NLly61Ncf2iZ8dO3ZoypQpWrx4scaPH6+OHTuqvLxc7777rubPn69///d/5x4/AByP/ABgguwAYIr8AFCXRx55RMXFxdqwYUOD19oufkJDQ1VaWqqysjJJUufOnXX+/HlJktvtrnHfH+mHJ4C1VYQnAFPkBwATZAcAU+QHgLps27ZNd999t77//vsGr7X9Va9//dd/lWVZjdoYAAAAAAAAGsflcummm25SWVmZ3G53vdfaPvHjq+3bt+vGG2+sdRKoLaA1B2CK/ABgguwAYIr8APD9999r//79On78uHr16qXrr79eXbt2tf37zVL8VFVVKSAgQLt27VJMTExTj280whOAKfIDgAmyA4Ap8gNov7xer55++mmtWLGixlPUO3XqpEcffVTPPfec/Pz8GpzT8BWN2CAAAAAAAAB8t3DhQr3wwgt64oknlJOTo5MnTyo7O1tPPPGEXnjhBS1cuNDWnGY78dOhQwft3r2bEz8AHIX8AGCC7ABgivwA2q+IiAj9+te/1pNPPllrbcmSJXrppZeUl5fX4JxmO/EDAAAAAAAAM4WFhRoyZEida0OGDFFhYaGtORQ/AAAAAAAAbUz//v21cePGOtc2btyo/v3725pj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\n",
+      "text/plain": [
+       "<Figure size 1152x576 with 8 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "import seaborn as sns\n",
+    "# You also can use seaborn to check other combination of parameters\n",
+    "sns.set_context(\"paper\", rc={\"font.size\":15,\"axes.titlesize\":15,\"axes.labelsize\":15})   \n",
+    "g = sns.FacetGrid(tcomp.data, col=\"hidden_layers\",row=\"first_neuron\", margin_titles=True,height=4)\n",
+    "g.map(sns.boxplot,\"lr\",\"val_acc_pearson_r\", palette=sns.cubehelix_palette(8),saturation=.5);"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 17,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[0.4606610017592659,\n",
+       " 0.6346189441220046,\n",
+       " 0.7772777641816996,\n",
+       " 0.9285761702344065,\n",
+       " 0.9188610468308843]"
+      ]
+     },
+     "execution_count": 17,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# Model evaluation \n",
+    "# talos has a function to evaluate the model from Scan object \n",
+    "\n",
+    "from talos import Evaluate\n",
+    "\n",
+    "# create the evaluate object\n",
+    "e = Evaluate(tcomp)\n",
+    "\n",
+    "# perform the evaluation\n",
+    "e.evaluate(X_val, y_val,metric=\"val_acc_pearson_r\" ,mode=\"regression\")\n",
+    "# model regression uses the mean absolute error by default. Custom metrics are not allowing in evaluate\n",
+    "#Warning: note we use the same data than in scan validation, however, it should be used a fully different \n",
+    "# dataset (the validation set)!  "
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Finally, use Deploy() to save and transfer the results of your \"star\" model "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 18,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Deploy package the_real_word_experiment have been saved.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/plain": [
+       "<talos.commands.deploy.Deploy at 0x7f54a04cd198>"
+      ]
+     },
+     "execution_count": 18,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "from talos import Deploy\n",
+    "\n",
+    "Deploy(tcomp, 'the_real_word_experiment',metric='val_acc_pearson_r',asc=False)\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 19,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "N / class\n",
+      "Test  [92, 325, 62]\n",
+      "Train  [28, 82, 9]\n",
+      "All  [120, 407, 71]\n",
+      "120/120 [==============================] - 0s 303us/step\n",
+      "\n",
+      "MSE in prediction = 1.9539129734039307\n",
+      "\n",
+      "Probabilities matrix\n",
+      " [[4.98802185e-01 5.00344932e-01 8.50225741e-04 2.62647745e-06]\n",
+      " [1.26840040e-01 7.08234668e-01 1.64918616e-01 6.66051301e-06]\n",
+      " [5.18083246e-03 8.04375231e-01 1.90427586e-01 1.63530913e-05]\n",
+      " [4.72085958e-04 1.00223355e-01 8.99295986e-01 8.53616348e-06]]\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 2 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "# MLP example with multiclass target\n",
+    "\n",
+    "# Let us round class vector and make a few classes, all positive numbers\n",
+    "# just a trick to convert to classes\n",
+    "yi_train=[int(round(x-np.min(y_train))/2) for x in y_train]\n",
+    "yi_test=[int(round(x-np.min(y_test))/2) for x in y_test]\n",
+    "\n",
+    "# N obs / clas; this may result in some very rare classes so consider merging\n",
+    "print('N / class')\n",
+    "print('Test ',[yi_train.count(i) for i in range(max(yi_train+yi_test))])\n",
+    "print('Train ',[yi_test.count(i) for i in range(max(yi_train+yi_test))])\n",
+    "print('All ',[(yi_test+yi_train).count(i) for i in range(max(yi_train+yi_test))])\n",
+    "# WARNING: make sure all clases in test are in train!!\n",
+    "\n",
+    "# convert to classes, i need to make all classes equivalent\n",
+    "n_train=len(yi_train)\n",
+    "itemp = to_categorical(yi_train+yi_test)\n",
+    "i_train = itemp[:n_train,:]\n",
+    "i_test = itemp[n_train:,:]\n",
+    "\n",
+    "# no. of SNPs in data\n",
+    "nSNP=X_train.shape[1]\n",
+    "nClasses=i_train.shape[1]\n",
+    "\n",
+    "# Instantiate\n",
+    "model = Sequential()\n",
+    "\n",
+    "# Add first layer\n",
+    "model.add(Dense(64, input_dim=nSNP))\n",
+    "model.add(Activation('relu'))\n",
+    "# Add second layer\n",
+    "model.add(Dense(32))\n",
+    "model.add(Activation('softplus'))\n",
+    "# Last, output layer\n",
+    "model.add(Dense(nClasses, activation='softmax'))\n",
+    "\n",
+    "# Model Compiling \n",
+    "model.compile(loss='categorical_crossentropy', optimizer='adam')\n",
+    "\n",
+    "# training\n",
+    "model.fit(X_train, i_train, epochs=100, verbose=0)\n",
+    "\n",
+    "# cross-validation: get predicted target values\n",
+    "i_hat = model.predict(X_test, batch_size=128)\n",
+    "\n",
+    "mse_prediction = model.evaluate(X_test, i_test, batch_size=128)\n",
+    "print('\\nMSE in prediction =',mse_prediction)\n",
+    "\n",
+    "# do a heatplot, obs vs expected class distribution\n",
+    "# collect all results by class\n",
+    "# compute average prediction by class\n",
+    "heat = np.zeros([nClasses,nClasses])\n",
+    "for i in range(nClasses):\n",
+    "    iclass = np.nonzero(i_test[:,i]>0) # samples of i-th class\n",
+    "    for j in range(nClasses):\n",
+    "        heat[i,j] = np.mean(i_hat[iclass,j])\n",
+    "\n",
+    "# plot observed vs. predicted targets\n",
+    "print('\\nProbabilities matrix\\n',heat)\n",
+    "plot = sns.heatmap(heat, cmap=\"Blues\")\n",
+    "plot.set(xlabel='Observed class', ylabel='Predicted class')\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 20,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "_________________________________________________________________\n",
+      "Layer (type)                 Output Shape              Param #   \n",
+      "=================================================================\n",
+      "conv1d_1 (Conv1D)            (None, 46, 32)            128       \n",
+      "_________________________________________________________________\n",
+      "max_pooling1d_1 (MaxPooling1 (None, 23, 32)            0         \n",
+      "_________________________________________________________________\n",
+      "flatten_1 (Flatten)          (None, 736)               0         \n",
+      "_________________________________________________________________\n",
+      "dense_4 (Dense)              (None, 64)                47168     \n",
+      "_________________________________________________________________\n",
+      "activation_3 (Activation)    (None, 64)                0         \n",
+      "_________________________________________________________________\n",
+      "dense_5 (Dense)              (None, 32)                2080      \n",
+      "_________________________________________________________________\n",
+      "activation_4 (Activation)    (None, 32)                0         \n",
+      "_________________________________________________________________\n",
+      "dense_6 (Dense)              (None, 1)                 33        \n",
+      "=================================================================\n",
+      "Total params: 49,409\n",
+      "Trainable params: 49,409\n",
+      "Non-trainable params: 0\n",
+      "_________________________________________________________________\n",
+      "120/120 [==============================] - 0s 653us/step\n",
+      "\n",
+      "MSE in prediction = 0.9159015417098999\n",
+      "\n",
+      "Corr obs vs pred = 0.49947593575063537\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "#--> CNN example\n",
+    "\n",
+    "nSNP=X_train.shape[1] \n",
+    "nStride=3  # stride between convolutions\n",
+    "nFilter=32 # no. of convolutions\n",
+    "\n",
+    "# Instantiate\n",
+    "model_cnn = Sequential()\n",
+    "\n",
+    "#WARNING!!! I need this to match dimensions \n",
+    "#https://stackoverflow.com/questions/43396572/dimension-of-shape-in-conv1d\n",
+    "X2_train = np.expand_dims(X_train, axis=2) \n",
+    "X2_test = np.expand_dims(X_test, axis=2) \n",
+    "\n",
+    "# add convolutional layer\n",
+    "model_cnn.add(Conv1D(nFilter, kernel_size=3, strides=nStride, input_shape=(nSNP,1)))\n",
+    "# add pooling layer: takes maximum of two consecutive values\n",
+    "model_cnn.add(MaxPooling1D(pool_size=2))\n",
+    "# Solutions above are linearized to accommodate a standard layer\n",
+    "model_cnn.add(Flatten())\n",
+    "model_cnn.add(Dense(64))\n",
+    "model_cnn.add(Activation('relu'))\n",
+    "model_cnn.add(Dense(32))\n",
+    "model_cnn.add(Activation('softplus'))\n",
+    "model_cnn.add(Dense(1))\n",
+    "\n",
+    "# Model Compiling (https://keras.io/models/sequential/) \n",
+    "model_cnn.compile(loss='mean_squared_error', optimizer='sgd')\n",
+    "\n",
+    "# list some properties\n",
+    "model_cnn.summary()\n",
+    "\n",
+    "# training\n",
+    "model_cnn.fit(X2_train, y_train, epochs=200, verbose=0)\n",
+    "\n",
+    "# cross-validation\n",
+    "mse_prediction = model_cnn.evaluate(X2_test, y_test, batch_size=128)\n",
+    "print('\\nMSE in prediction =',mse_prediction)\n",
+    "\n",
+    "# get predicted target values\n",
+    "y_hat = model_cnn.predict(X2_test, batch_size=128)\n",
+    "\n",
+    "# correlation btw predicted and observed\n",
+    "corr = np.corrcoef(y_test,y_hat[:,0])[0,1]\n",
+    "print('\\nCorr obs vs pred =',corr)\n",
+    "\n",
+    "# plot observed vs. predicted targets\n",
+    "plt.title('MLP: Observed vs Predicted Y')\n",
+    "plt.ylabel('Predicted')\n",
+    "plt.xlabel('Observed')\n",
+    "plt.scatter(y_test, y_hat, marker='o')\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 21,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "(479, 140)\n"
+     ]
+    }
+   ],
+   "source": [
+    "print(X_train.shape)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "_________________________________________________________________\n",
+      "Layer (type)                 Output Shape              Param #   \n",
+      "=================================================================\n",
+      "lstm_1 (LSTM)                (None, None, 32)          4352      \n",
+      "_________________________________________________________________\n",
+      "dropout_1 (Dropout)          (None, None, 32)          0         \n",
+      "_________________________________________________________________\n",
+      "lstm_2 (LSTM)                (None, None, 64)          24832     \n",
+      "_________________________________________________________________\n",
+      "dropout_2 (Dropout)          (None, None, 64)          0         \n",
+      "_________________________________________________________________\n",
+      "lstm_3 (LSTM)                (None, 64)                33024     \n",
+      "_________________________________________________________________\n",
+      "dropout_3 (Dropout)          (None, 64)                0         \n",
+      "_________________________________________________________________\n",
+      "dense_7 (Dense)              (None, 1)                 65        \n",
+      "_________________________________________________________________\n",
+      "activation_5 (Activation)    (None, 1)                 0         \n",
+      "=================================================================\n",
+      "Total params: 62,273\n",
+      "Trainable params: 62,273\n",
+      "Non-trainable params: 0\n",
+      "_________________________________________________________________\n"
+     ]
+    }
+   ],
+   "source": [
+    "#--> RNN example\n",
+    "\n",
+    "nSNP=X_train.shape[1] \n",
+    "\n",
+    "#-->data shape\n",
+    "X2_train = np.expand_dims(X_train, axis=2) \n",
+    "X2_test = np.expand_dims(X_test, axis=2) \n",
+    "\n",
+    "# Instantiate\n",
+    "model_cnn = Sequential()\n",
+    "\n",
+    "# Instantiate\n",
+    "model = Sequential()\n",
+    "model.add(LSTM(32,return_sequences=True,input_shape=(None,1), activation=\"tanh\"))\n",
+    "model.add(Dropout(0.1))\n",
+    "model.add(LSTM(64, return_sequences=True, activation=\"tanh\"))\n",
+    "model.add(Dropout(0.1))\n",
+    "model.add(LSTM(64, activation=\"tanh\"))\n",
+    "model.add(Dropout(0.1))\n",
+    "model.add(Dense(units=1))\n",
+    "model.add(Activation(\"tanh\"))\n",
+    "model.compile(optimizer=\"adam\",loss=mean_squared_error, metrics=['mae'])\n",
+    "model.summary()\n",
+    "\n",
+    "model.fit(X2_train, y_train, epochs=200, verbose=0)\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# cross-validation\n",
+    "mse_prediction = model.evaluate(X2_test, y_test, batch_size=128)\n",
+    "print('\\nMSE in prediction =',mse_prediction)\n",
+    "\n",
+    "# get predicted target values\n",
+    "y_hat = model.predict(X2_test, batch_size=128)\n",
+    "\n",
+    "# correlation btw predicted and observed\n",
+    "corr = np.corrcoef(y_test,y_hat[:,0])[0,1]\n",
+    "print('\\nCorr obs vs pred =',corr)\n",
+    "\n",
+    "# plot observed vs. predicted targets\n",
+    "plt.title('MLP: Observed vs Predicted Y')\n",
+    "plt.ylabel('Predicted')\n",
+    "plt.xlabel('Observed')\n",
+    "plt.scatter(y_test, y_hat, marker='o')\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# save and reuse model\n",
+    "from keras.models import load_model\n",
+    "\n",
+    "# creates a HDF5 file 'my_model.h5'\n",
+    "model.save('my_model.h5')  \n",
+    "\n",
+    "# deletes the existing model\n",
+    "del model\n",
+    "\n",
+    "# loads a compiled model, identical to the previous one\n",
+    "model = load_model('my_model.h5')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.7.3"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}