diff --git a/1.TCGA-MLexample.ipynb b/1.TCGA-MLexample.ipynb index 0e48ffe..c35c38a 100644 --- a/1.TCGA-MLexample.ipynb +++ b/1.TCGA-MLexample.ipynb @@ -1,19 +1,15 @@ { "cells": [ { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "collapsed": true - }, - "outputs": [], + "cell_type": "markdown", + "metadata": {}, "source": [ - "%matplotlib inline" + "# Create a logistic regression model to predict TP53 mutation from gene expression data in TCGA" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": { "collapsed": false }, @@ -21,54 +17,64 @@ "source": [ "import os\n", "import urllib\n", - "import pandas as pd\n", "import random\n", - "from statsmodels.robust import scale\n", - "from sklearn import preprocessing\n", - "from sklearn.linear_model import SGDClassifier\n", - "from sklearn.cross_validation import StratifiedKFold, train_test_split\n", - "from sklearn.metrics import roc_auc_score, roc_curve\n", + "import warnings\n", + "\n", + "import pandas as pd\n", "import matplotlib.pyplot as plt\n", - "import seaborn as sns" + "import seaborn as sns\n", + "from sklearn import preprocessing, grid_search\n", + "from sklearn.linear_model import SGDClassifier\n", + "from sklearn.cross_validation import train_test_split\n", + "from sklearn.metrics import roc_auc_score, roc_curve" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ - "random.seed(123)" + "%matplotlib inline\n", + "plt.style.use('seaborn-notebook')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Specify model configuration" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ - "# We're going to be building a 'TP53' logistic regression classifier with\n", - "# an elastic net penalty\n", - "GENE = 'TP53'\n", - "CLASSIFIER = 'log'\n", - "PENALTY = 'elasticnet'" + "# We're going to be building a 'TP53' classifier \n", + "GENE = 'TP53'" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": { - "collapsed": true + "collapsed": false }, "outputs": [], "source": [ "# Parameter Sweep for Hyperparameters\n", - "alpha_params = [0.05, 0.1, 0.2, 0.3]\n", - "l1_params = [0.05, 0.1, 0.2, 0.3]" + "param_grid = {\n", + " 'loss': ['log'],\n", + " 'penalty': ['elasticnet'],\n", + " 'alpha': [10 ** x for x in range(-6, 1)],\n", + " 'l1_ratio': [0, 0.05, 0.1, 0.2, 0.5, 0.8, 0.9, 0.95, 1],\n", + "}" ] }, { @@ -84,12 +90,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Load Data" + "## Load Data" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": { "collapsed": false }, @@ -101,64 +107,80 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "# Download X Matrix\n", - "url = 'https://ndownloader.figshare.com/files/5514386'\n", - "if not os.path.exists('data/expression.tsv.bz2'):\n", - " urllib.request.urlretrieve(url, os.path.join('data', 'expression.tsv.bz2'))" - ] - }, - { - "cell_type": "code", - "execution_count": 8, + "execution_count": 6, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ - "X = pd.read_table(os.path.join('data', 'expression.tsv.bz2'), index_col=0)" + "url_to_path = {\n", + " # X matrix\n", + " 'https://ndownloader.figshare.com/files/5514386':\n", + " os.path.join('data', 'expression.tsv.bz2'),\n", + " # Y Matrix\n", + " 'https://ndownloader.figshare.com/files/5514389':\n", + " os.path.join('data', 'mutation-matrix.tsv.bz2'),\n", + "}\n", + "\n", + "for url, path in url_to_path.items():\n", + " if not os.path.exists(path):\n", + " urllib.request.urlretrieve(url, path)" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 7, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 1min 43s, sys: 1.13 s, total: 1min 45s\n", + "Wall time: 1min 45s\n" + ] + } + ], "source": [ - "# Download Y Matrix\n", - "url = \"https://ndownloader.figshare.com/files/5514389\"\n", - "if not os.path.exists('data/mutation-matrix.tsv.bz2'):\n", - " urllib.request.urlretrieve(url, os.path.join('data', 'mutation-matrix.tsv.bz2'))" + "%%time\n", + "path = os.path.join('data', 'expression.tsv.bz2')\n", + "X = pd.read_table(path, index_col=0)" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 8, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 1min 19s, sys: 984 ms, total: 1min 20s\n", + "Wall time: 1min 20s\n" + ] + } + ], "source": [ - "Y = pd.read_table(os.path.join('data', 'mutation-matrix.tsv.bz2'), index_col=0)" + "%%time\n", + "path = os.path.join('data', 'mutation-matrix.tsv.bz2')\n", + "Y = pd.read_table(path, index_col=0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "# Process Mutation Matrix" + "## Process Mutation Matrix" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 9, "metadata": { "collapsed": false }, @@ -169,7 +191,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 10, "metadata": { "collapsed": false }, @@ -187,7 +209,7 @@ "Name: TP53, dtype: int64" ] }, - "execution_count": 12, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -199,7 +221,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 11, "metadata": { "collapsed": false }, @@ -212,7 +234,7 @@ "Name: TP53, dtype: float64" ] }, - "execution_count": 13, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -226,135 +248,184 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Process X Matrix" + "## Set aside 10% of the data for testing" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 12, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "'Size: 7,706 features, 6,935 training samples, 771 testing samples'" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Subset X matrix to only 5,000 highest MAD (median absolute deviation) genes\n", - "all_mad_genes = scale.mad(X, c=1, axis=0)\n", - "all_mad_genes = pd.Series(all_mad_genes,\n", - " index=X.columns.values)\n", - "all_mad_genes = all_mad_genes.sort_values(ascending=False)" + "# Typically, this can only be done where the number of mutations is large enough\n", + "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1, random_state=0)\n", + "'Size: {:,} features, {:,} training samples, {:,} testing samples'.format(len(X.index), len(X_train), len(X_test))" ] }, { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "collapsed": false - }, - "outputs": [], + "cell_type": "markdown", + "metadata": {}, "source": [ - "X_sub = X[all_mad_genes.index[:5000]]" + "## Feature transformation: Standardization" ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 13, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ - "# Normalize X matrix by Z-scoring genes\n", - "X_matrix_scale = preprocessing.scale(X_sub)\n", - "X_matrix_sub = pd.DataFrame(X_matrix_scale, index=X_sub.index, columns=X_sub.columns)" + "def scale_df(df):\n", + " \"\"\"Standardize colummns by scaling to z-scores\"\"\"\n", + " scaled_matrix = preprocessing.scale(df)\n", + " return pd.DataFrame(scaled_matrix, index=df.index, columns=df.columns)\n", + "\n", + "# Standardize X separately for the holdout dataset\n", + "X_train, X_test = scale_df(X_train), scale_df(X_test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "# Hold Out 10% of the data" + "## Cross validation model fitting" ] }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 14, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ - "# Typically, this can only be done where the number of mutations is large enough\n", - "X_matrix, X_holdout, Y_matrix, Y_holdout = train_test_split(\n", - " X_matrix_sub, y, test_size=0.1, random_state=123)" + "# joblib is used to cross-validate in parallel by setting `n_jobs=-1` in GridSearchCV\n", + "# Supress joblib warning. See https://github.com/scikit-learn/scikit-learn/issues/6370\n", + "warnings.filterwarnings('ignore', message='Changing the shape of non-C contiguous array')" ] }, { - "cell_type": "markdown", - "metadata": {}, + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 7min 42s, sys: 17.6 s, total: 7min 59s\n", + "Wall time: 9min 57s\n" + ] + } + ], "source": [ - "# Cross Validation to select Hyperparameters" + "%%time\n", + "clf = SGDClassifier(random_state=0, class_weight='balanced')\n", + "clf_grid = grid_search.GridSearchCV(estimator=clf, param_grid=param_grid, n_jobs=-1, scoring='roc_auc')\n", + "# Fit the model (the computationally intensive part)\n", + "clf_grid.fit(X=X_train, y=y_train)\n", + "best_clf = clf_grid.best_estimator_" ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 16, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "{'alpha': 0.1, 'l1_ratio': 0.05, 'loss': 'log', 'penalty': 'elasticnet'}" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "clf_grid.best_params_" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "SGDClassifier(alpha=0.1, average=False, class_weight='balanced', epsilon=0.1,\n", + " eta0=0.0, fit_intercept=True, l1_ratio=0.05,\n", + " learning_rate='optimal', loss='log', n_iter=5, n_jobs=1,\n", + " penalty='elasticnet', power_t=0.5, random_state=0, shuffle=True,\n", + " verbose=0, warm_start=False)" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# 5 fold cross validation ensuring balanced status membership\n", - "cv_accuracy = []\n", - "skf = StratifiedKFold(Y_matrix, 5, random_state=123)\n", - "for train_idx, test_idx in skf:\n", - " X_train, X_test = X_matrix.ix[train_idx], X_matrix.ix[test_idx]\n", - " Y_train, Y_test = Y_matrix.ix[train_idx], Y_matrix.ix[test_idx]\n", - " for alpha_param in alpha_params:\n", - " for l1_param in l1_params:\n", - " \n", - " # Initialize logistic regression classifier\n", - " clf = SGDClassifier(loss=CLASSIFIER,\n", - " penalty=PENALTY,\n", - " alpha=alpha_param,\n", - " l1_ratio=l1_param,\n", - " class_weight='balanced',\n", - " random_state=123)\n", - " \n", - " # Fit the model\n", - " clf.fit(X_train, Y_train)\n", - " predict_y_train = clf.predict(X_train)\n", - " predict_y_test = clf.predict(X_test)\n", - " \n", - " # Get the train/test AUROC balanced by class\n", - " train_error = roc_auc_score(Y_train, predict_y_train, average='weighted')\n", - " test_error = roc_auc_score(Y_test, predict_y_test, average='weighted')\n", - " \n", - " # Obtain metrics for plotting\n", - " cv_accuracy.append(['train', train_error, alpha_param, l1_param])\n", - " cv_accuracy.append(['test', test_error, alpha_param, l1_param])" + "best_clf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "# Plot Performance to Select Hyperparameters" + "## Visualize hyperparameters performance" ] }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [], "source": [ - "plot_ready = pd.DataFrame(cv_accuracy, columns=['type', 'AUROC', 'alpha', 'l1'])" + "def grid_scores_to_df(grid_scores):\n", + " \"\"\"\n", + " Convert a sklearn.grid_search.GridSearchCV.grid_scores_ attribute to \n", + " a tidy pandas DataFrame where each row is a hyperparameter-fold combinatination.\n", + " \"\"\"\n", + " rows = list()\n", + " for grid_score in grid_scores:\n", + " for fold, score in enumerate(grid_score.cv_validation_scores):\n", + " row = grid_score.parameters.copy()\n", + " row['fold'] = fold\n", + " row['score'] = score\n", + " rows.append(row)\n", + " df = pd.DataFrame(rows)\n", + " return df" ] }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 19, "metadata": { "collapsed": false }, @@ -367,68 +438,76 @@ " \n", " \n", " \n", - " type\n", - " AUROC\n", " alpha\n", - " l1\n", + " fold\n", + " l1_ratio\n", + " loss\n", + " penalty\n", + " score\n", " \n", " \n", " \n", " \n", " 0\n", - " train\n", - " 0.903032\n", - " 0.05\n", - " 0.05\n", + " 0.000001\n", + " 0\n", + " 0.0\n", + " log\n", + " elasticnet\n", + " 0.895547\n", " \n", " \n", " 1\n", - " test\n", - " 0.860971\n", - " 0.05\n", - " 0.05\n", - " \n", - " \n", - " 2\n", - " train\n", - " 0.888364\n", - " 0.05\n", - " 0.10\n", - " \n", - " \n", - " 3\n", - " test\n", - " 0.858065\n", - " 0.05\n", - " 0.10\n", - " \n", - " \n", - " 4\n", - " train\n", - " 0.874179\n", - " 0.05\n", - " 0.20\n", + " 0.000001\n", + " 1\n", + " 0.0\n", + " log\n", + " elasticnet\n", + " 0.895994\n", " \n", " \n", "\n", "" ], "text/plain": [ - " type AUROC alpha l1\n", - "0 train 0.903032 0.05 0.05\n", - "1 test 0.860971 0.05 0.05\n", - "2 train 0.888364 0.05 0.10\n", - "3 test 0.858065 0.05 0.10\n", - "4 train 0.874179 0.05 0.20" + " alpha fold l1_ratio loss penalty score\n", + "0 0.000001 0 0.0 log elasticnet 0.895547\n", + "1 0.000001 1 0.0 log elasticnet 0.895994" ] }, - "execution_count": 20, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "plot_ready.head(5)" + "cv_score_df = grid_scores_to_df(clf_grid.grid_scores_)\n", + "cv_score_df.head(2)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nYc8ZyWtLOjqaOWuvtQP1TcatCxzuWtQlPU9XDpqnBz95Su+997ZtCfaGatK+OT59XLr9qNfxfbI7\n6dOdJdq1a2dM97YMBgP6fM1qZSZJ+5vJK69evVJnnHH2CcXp1q2HLr/8Kl166RXasmWTVq36TJ99\n9onWr1+r3aUhuVySN0vaf0Ay14a3bxg8eJCGDh2hYcNGqKCgMGYLCxreEzV/LbfmPVNVVbiSvLnX\nqlVHdC5orRUr3tWjjz4oSXL4cuUs6CJHbr4ScvPkSApXj4aqKuV5942jF7V0zpOzR3jhXMjvV6h0\np4I7dyi4o0SbNm3Qpk0bVFlZedT7opYEQ0E5EpxyON0KVVe02CUjwRNeYBmL96mhUEh+v1/ZqekK\nBJv+Xa8P1CklMfy3MrrN7InGDYaC8jjdqgvUN73wtXe9PAnh96ZWLpJsraVLixudC48//rgtCfbe\nvfsqNSU18t4hFgscWmv48FG6555fUvFloRUr3m10HXv99X/bkmB//vln9eKLz0a6Vdz1sx/rJz/+\nWUwWB36TmppqLV/+rtLTMzRy5GhbuyPs3LlDHo8npttDxYrL5VLRaWfoD3/4X6WlpmniRPu33YE1\nunfvqWuvvV4LF/5GSk+RAuFthH74w/+yZWFL9JaQTRXSASeiT59+uuOOe/TYYw/r3Y3b9cm2oMb3\nSNC4Hk7lpDqUkeRQpqfxe+dMT50ykjwqqwzp/S0BLd8UVHVdSHm5ebr2P64/4e531dXVkeR6Z5+U\nlCRt3bZTv/jFPbrpptuUmWlt1wjgZGT5HuxHOPIuxXxJf5RULmljE8834vWmyOVqeTW7aZp68cUX\n9fbbb0dauaSnpCrDm6Xq/QdU76/T4sX/0uLF/1Lfvn112mmnadasWTFt8xIINN022uUKyueL7c3o\n1sTNzk61PG5TNxQyM1Msi3v11Vdo5cqPtXXrVik5UaqulTLTpOx0adMOTZo0SXPmzIp5xY10+Pt8\nZLK5c+esGH+96erevek3aZWVlZH9iKw2btwoLVnyqpI9aar2N66QnjRpvC3n9JGsOqdbc42JNnr0\nUD34YOObWmV79igtNVXduuVacv5Jks+XLqfTeVSConv3rpb+PCSpZ8/u2rhx/VHnv9XXmX79DlWy\nOSUd2nbj4osvOqGYPl+6evdu+aZXdXW1VqxYoccff1wlJSXy+Xz60Y9+pEGDBln2822Ym9PpbLR3\n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\nfvWi/m9dsSYWjNCp3SYp25XZKPmV487UQX+Vnl+/RO9t/1Q1gfB+jpdcMl8jRkxocg7He41pSV1d\n+KZMUE1vFxAoDP+9i/XredPcKEnKSXXI43Ef9b4lJ6VOe0trtHHjdosqJNyaNetMzZp1ZqOjNTVS\nTY01f3NcrnDy2ZEo+WsPX9sciVKoNvy8FdfU2tpw5XJzCVi/P3RccXv1GqgbbrhVf/nLU9r9xSr5\n134p58Ahcg4cIkdD61Sns+mEc1Tr91B1lQJffa7gmpUK1VQrPSNTF15wsSZNmnlM85o1a65ee+01\n7fnweXU98+Zmu2SUvvd/CgUDOvvs82P2Om7ChClau3at1mx5r8m4ew7s0JZdX2rgwMFyOJJj9nOe\nMuUUffXVV3q7JNws8Mi/mXuq9+nT3V+oZ8/eSk/3fWNcK64xDUpL9zV5LuzcuU+BgPX7I2dnhztK\nORwOW16/wx7l5ft04MCBoxZpPffcS5o163TL4r722rJmu4KsWbNOXbrEtktmTU217rn7Dm3ZurnR\nvb5lS1/XI488oqefflpPP/20Zs6crSuv/G5MYzdYtmyJnnzyd5KkyqpKXf/96/Xjn9x9TN0ZrLzG\nROvZc4Ck43v/g7bt1FPnaOnSpXK5XMf8OuFE7NixJzLevr1U+fmcW22Vdfd97TFjxumaNGmmPvhg\nud54Y6m++uoLbdxbr6xkh2b3d6ouGNIb64J65fPwYlXDGKBp02Zq/PgJ8ngSdeCAX+E7w8dn/fq1\nuv/++1RZWSmjn9S7p/TaUo+Sk32qri6V0c8vc+0e3Xjjjbr++ps1YsSoGH3lwMmhpWuM1Qn21yTd\nJekJwzBGSioxTTOSMTMM4xWFq9irJM2V9OsTCvbaK5Kk+UPH6tSe/bS/tkYfHNx71ItfI6ezxhV2\n197qSt315qvatWunVq36TFOnzjiR8I002SKuvv4bPsuauHZo6oaCx2PtG+bc3DzdcMMtuvfenypY\n/IFCCicabr7pNktXLTfHzvZcdkpLS9fAgYO1Zs0qXXfmr+VwSL996VZ1797jhPcubA9mzz5df/zj\nExqRnKUyh0e7D5Rr+nTr99qbMmW6Fi9+WUMKHKoPOPTlrqCGDrW+SqJnz6Pb0Hu92TFboNScpKQk\nFRQUavvur+WslhITE2PeNvmb2L3fUHZ2djjBnpAgBYPq29ewPOaECZO1bNkSpfUYrvS+41XyyoMa\n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\nc7bq6vyaNGmqbTFhvW7duunAgYqjikuuucbahK/D4dC5516ov//9L+EFIw6HPImJlhYfTJs2Uz16\n9NITT/xWDz/ykP72zF8j9/rGj5+k+fOvtmShVkXFAW3btkWFhYVNtsRfteqTmMcE2proreTsrmD/\n8MMVqqur08SJU2yNi7alS5eulhc1NRRI1teFHwcCTRdwBgLhPdnDn2NdjuvgwQrV1NS02OEQaEss\nT7DbbcKEycrMzNIvf3mPHljxus7qN1ivrv8yUpFx+ZAx+u93l2hdWanGjZuo6677Ycxbe2dleeVy\nuY6q6LarsvrIuFbLyvIqMzNL+/eXNzoeq5s238Trzdadd95rSywp/PXm5RVo587DLSxdLpdtq/Dj\nwe12a+LEqSou/peqaw9q4sQpMV2UcrIbNmxkJMFuZ/Vt//4DIgl2wxhoS0yPx6OcnE46eLBULmc4\nCWzXuRDdotmqlrVtSXT1nh0Vyw3Gjp2gv/71T5Fxe0pyNCUx8XBC3ePxtPvOCG1dfn5Bkwn29ryo\nxuv16uabb9OWLZttu4EyZcp0meaXCqz9Uq6RYxUwv5DD4bAlAXHeeRdq1arPtGnTBk2ZMsPS5HqD\n1NQ0ff/7N+q2227U+u0rD1XU32D54leHw6EJEyarb19DJSVfq7CwS5u6UXDGGWfp7bfe0OINX2pK\nt17qmuHVS2vXaHvFfs2cWaTu3XvGPKbD4dBpp5+pJ5/8nVZvD+qmaU5V15Uq0SU98mZ4z/CiojNi\nHjfeRowYrbfffkM1myVPZ6lmc/j4yJGjLY07ZMgwLVu2RAk98uXIz1Foz36pqkZDJo625O97dnaO\nTjvtDJ122hlav36t/va3p1W6Z7cy8vI1b97FGj58pGWvKy644Nv66KMPVbr87+p+/p3yZPgUDNRp\nx7I/SKGgLr/8SksS3QMHDpbT6dSOso0a179I9YE6nT5mvt5a/bykw11DYq1fP0NJSclat3+LZnef\nrLpgQJcPPEcvbwwvRrW7I1BLBh2xkGTAAHvet0hSamqq5s27yLZ4sM8NN9yq+++/N1JcMn36TPXp\n08/yuHPnnq1PP/1I69aZUiikiy+6NObdXo7UvXtP3X33L/Xee+/ob3/7k/LzC/Wd73xPvXpZ13kr\nIyNTM2cW6e23Xz8qyeJwOHT22fMsiw20FfFsEf/QQ+HFyCTYYbWhQ4crOztH5rq96t1bcjmbLuCs\n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\nAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Cross-validated performance distribution\n", + "facet_grid = sns.factorplot(x='l1_ratio', y='score', col='alpha',\n", + " data=cv_score_df, kind='violin', size=4, aspect=1)\n", + "facet_grid.set_ylabels('AUROC');" ] }, { @@ -440,9 +519,9 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAuIAAAEUCAYAAABuwFOmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X98U+Xd//F3kja0TX/QagsKDBUdKKDrQOfGlN3asclk\n6JTKREBF8UedKM4pZaLbmAjuxingrU6mU9EOBwh462Qyne6WIfvyEASEaVF+bVrShpaGtmmb8/2j\nJPZX0iRNcprm9fzHnJxzkuvET8on17muz2UxDMMQAAAAgLiymt0AAAAAIBmRiAMAAAAmIBEHAAAA\nTEAiDgAAAJiARBwAAAAwAYk4AAAAYAIS8R7o/fff19VXX+3fXr16tQoLC7Vp06Zuve6yZct01VVX\n6aqrrtKyZcs6Pebll1/WpEmT9OMf/1i/+MUv/M+fffbZmjZtmqZOnapp06Zpw4YN3WoLej4z49Dt\ndmv27NkaO3Zst94LicnM2HvhhRd05ZVXavLkybr77rvV1NTUrfdE4jEz/h555BEVFxdrypQpmjVr\nlo4dO9at90TPRyLeQ1ksFknS2rVrtWvXLg0bNqxbr7d9+3Zt3LhRL774ol544QW99dZb+uCDD9oc\n88UXX+h//ud/9Mwzz+ill17SF198of/93/+VJOXn5+u5557T888/r+eee07jxo3rVnuQGMyIQ0kq\nLS3V6NGj/e+P5GNG7H388cd64YUXVFZWprKyMjU0NOjVV1/t1vsiMZkRfzt37tRnn32mlStXasWK\nFUpLS9Of/vSnbr0ver4UsxuA4IqKijRx4kRNnTo14DH33HOP/vOf/0iSDMOQxWLRj370I1122WX+\nY9555x1ddNFFstlsstlsuvjii/W3v/1NX/va1/zHvPfee/rGN76hzMxMSdL3v/99/e1vf9MPfvAD\nse5TcotnHErSgw8+qCNHjuipp56KzQUhYcQz9s444wytXr1aKSkt/zTm5ubqyJEjMboyJIJ4xt/w\n4cP16KOPSpIaGxvldDp18sknx+jK0FOQiPdwDoejy2MWLlzY5TEVFRUaPny4f/vEE0/s8Gu8oqJC\n+fn5/u38/HxVVFRIahkqcNddd+k///mPBg8erLvvvlt5eXmhXgYSXDzj0Pd+JECQ4h97GRkZkqQD\nBw7onXfe0a233hpGa9HbxDv+JGnx4sVas2aNLrnkEhUVFYXeWCQkhqYksa5u+/t+2UvST3/6U/3q\n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\nVVJax2sEgJ6upee2PuzE2miso+c2iMWLl7XZZiIi4u28887TM888o3/+85866aSTtH79eg0bNkyS\nlJOTowULFujgwYO66qqrZLPZ2kzW9D2+8MILNW/ePJ100kk655xz9Lvf/U6LFy+OSXuDJuJer1fW\ndslkY2OjUlNTQ3pxp9OpESNG+Ldzc3PldDr9iXhJSYmKioqUlpam8ePHa/DgwdqwYYPq6up0yy23\n6OjRoyopKdE3v/nNCC7NPMFWjUzrJDkP9dxYaH971mhulLyB/5Gp9zSqobnldq3h9coqEnEAQOda\nj39GC+YnxNbFF1+siy++2L99ww03SGqZrHnCCSf4h0H7vPHGG/7Hzz33nCTpzjvvjENLWwRMxA8e\nPKgbbrhBL7/8srKysiRJ27dv19y5c/WHP/xBeXnhLxzSumu/trZWTz75pDZs2KCMjAxNnz5de/bs\nkWEYOnLkiB5//HEdPHhQ06ZN01tvvRXBpSFUkdyelaSjH/2xzQqQrXk9zZIkq93WcV+7FSCZ0Aog\n3hwOhxqaLRENTXE4MmLUKiQD5iegtYCJ+IIFC3Tbbbf5k3BJOvvss3XLLbfooYce0qJFi7p88YKC\nAjmdTv92RUWF8vPzJUl79+7VoEGDlJOTI0kaPXq0du7cqfz8fBUWFspisWjQoEFyOByqqqoKmvjn\n5mYoJaVjwmeW7Ows1XkadE1OeD9WXqiuUnp2lvLzs7o+OEpstm70aFssslosOjGz43X6/r93tk+Z\n0gknnOC/zvR0e5t2+IbGZGd/uT+en0k4elrsJZq6umMyGusiGHdr+H/sRcJms/bYmAoVsdc93fnb\n1xvip7uIv8jZbNaI5ycQe5EbMGCAfv/735vdjA4CJuJOp1OXXnpph+fHjx+vFStWhPTiY8aM0dKl\nS1VcXKydO3eqX79+ysho6UkYMGCA9u7d65+dumPHDo0dO1YDBw5UaWmpbrzxRh05ckTHjh3rsvfd\n5er4y9FMzc2Rj/Vubvbq8OGjXR8YJd1pqyUlTbnZGXrood922Oe7rdbZPh/fdU6YMEkTJkwKem48\nPpNI/rj1tNhLNN4gw6BiKd7fs64Qe/GXSH+nY434iy9i70v8qAiSiDc1BS7xVVcX2u2RwsJCDR8+\nXJMnT5bNZtO8efO0Zs0aZWVlqaioSDNmzNDUqVOVkpKiwsJCjRo1SpL0ve99T8XFxbJYLJo3b16Y\n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\nQgdUKzNfVVWVhp/6w6i93s5P13V5zJYtW7Rv3z6VlZWpvLxcc+fOVVlZmSSpvr5er7/+ul566SVZ\nrVZNnz5dH3zwgb72ta9F3CYS8QTBH4IWJFGIpq5Kz0kdy88BSAzdKXSQbNXK6P3/0qZNm1RUVCRJ\nGjJkiGpqauR2u+VwOJSWlqZnnnlGklRXV6fa2lqdeOKJ3Xo/EnEktNaJFEkUuitY6TnER/sfR76F\nbHzDyvhOIx6SrVoZvf9fcjqdGjFihH87NzdXTqezzdDWp556Ss8//7ymT5+ugQMHduv9SMTRa5BE\nIVyUnuv5PMcnfDK/A+Gi0EFokq33P1yG0XH95ZkzZ+raa6/VDTfcoFGjRqmwsDDi1ycRR0IjkYoO\nykKip2j/nWbIGSLVnUIHyZTEJ1vvf1cKCgrkdDr92xUVFcrPz5ckVVdX6+OPP9bo0aNlt9t14YUX\nauvWrSTiAAAkAkpnxlekSXQiVCvrao4Lw7giM2bMGC1dulTFxcXauXOn+vXrp4yMllWnm5qadO+9\n92r9+vVKT0/X9u3bddlll3Xr/WKeiAcrAbNixQqtX79eNptNI0aM0Jw5cyRJixYt0tatW9Xc3KyZ\nM2fqu9/9bqybCSS1YGUhpa5LQzJsAOgapTPjrztJdKL1hEc6PLMn9/7n5eWFVOkknNfrSmFhoYYP\nH67JkyfLZrNp3rx5WrNmjbKyslRUVKTbbrtNU6dOVUpKioYNG6aLLrqoW22KaSIerARMbW2tli9f\nro0bN8pisWjGjBnavn276urqVF5errKyMh05ckSXX345iTgQY139Ix+sNGQylYV88MEH/L1Obrfb\nP365M3Z7nzY/UHJz85K21jYVGVpQ9Smx9PR4jdbQzJ7c+x9Kze9YmD17dpvtoUOH+h9fdtll3e4F\nby2miXiwEjB2u112u121tbVKT09XfX29cnJyNHLkSJ1zzjmSpOzsbNXV1ckwDFksllg2FUhqXSWI\nJAktXK4qVVZWqk9qhpqam+T1dpzE49PoaVJtc8sPmIbGY/FqYo9ERQagZ+tpPeHJJKaJeLASMHa7\nXSUlJSoqKlJaWprGjx+vwYMHS5LS0tIkSS+//LLGjh1LEg6gx+iTmqGvnxneP1qRTILtLajIAPR8\nfC/NE9fJmq1LwNTW1urJJ5/Uhg0b5HA4NG3aNO3Zs8ff/f/mm29q9erVWr58eTybCEBMAkL0UJEB\n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\nww8/1NVXX61//etfOnr0qJqamnTffffpq1/9qp566im9+eabslqtuuiiizRixAjNmjVLp5xyipYs\nWaL+/fubfQk9DrEXOuIvuoi90BF70Uf8hYbYS1AGwrJ582bj9ttvN5YsWWLMnj3bMAzDqKysNNas\nWWMYhmHs37/fuPzyyw3DMIxrrrnG+Pjjj40lS5YYt99+u2EYhvHOO+8Yt956qzmNjyPf5/T4448b\nL7/8smEYhvHJJ58Y1113nWEYhnH++ecbzc3NhmEYxksvvWQYRsvn9cknn5jT4ARA7IWO+IsuYi90\nxF70EX+hIfYSU0yXuO+tjOM3EUaOHClJys7O1ocffqg//vGPslqtqq6u7nDOqFGjJEn9+/dXbW1t\n/BprIsMwtHXrVrlcLq1du1aS5PF4JEnf//73NX36dE2YMEETJkxocw4CI/ZCR/xFF7EXOmIv+oi/\n0BB7iYdEvBtSU1MlSa+++qqqq6v10ksvyeVy6corr+xwrM1m8z9OpqC32+267777dM4557R5/v77\n79enn36q1157TVOnTtXLL79sUgsTE7EXGuIv+oi90BB7sUH8dY3YSyxM1gyT1WpVc3Nzm+dcLpcG\nDhwoqWXGcmNjoxlN61F8n9M555yjv/zlL5KkTz75RM8++6xqa2u1bNkynXrqqSopKVHfvn1VW1sr\nq9WqpqYmk1vecxF7oSP+oovYCx2xF33EX2iIvcREIh6m0047TR999FGb21zjxo3TX//6V1133XVy\nOBzq37+/li1bJovFYmJLzeX7nKqqqrR//35NmTJF9913n84991xlZmbK5XJp0qRJuvbaa3XOOeco\nJydH5557rmbNmqXy8nKzm98jEXuhI/6ii9gLHbEXfcRfaIi9xETVFAAAAMAE9IgDAAAAJiARBwAA\nAExAIg4AAACYgEQcAAAAMAGJOAAAAGACEnEAAADABCTivcC6devMbgKSFLEHsxB7MAuxh2giEU9w\nzc3NWrZsmdnNQBIi9mAWYg9mIfYQbSlmNwDdM3fuXP3nP//R9OnTddlll+nyyy+XJD3wwAMaOnSo\ntm/frj59+ujAgQNyOp26/PLLde2116qxsVG//OUvtX//frndbl166aW69tprzb0YJBRiD2Yh9mAW\nYg9RZyChHTx40Bg7dqyxZcsW45prrjEMwzCam5uNiy66yDh69Khx7733GrfccothGIZRU1NjnHfe\necaRI0eMp59+2liyZIn/+CuuuMLYs2ePadeBxEPswSzEHsxC7CHa6BHvJUaPHq0jR47o0KFD2r9/\nv0aPHq3MzExJ0pgxYyRJWVlZOvXUU7Vv3z5t3rxZX3zxhTZv3ixJ8ng82r9/v7761a+adg1ITMQe\nzELswSzEHqKFRLwXmTRpktauXavPP/9ckyZN8j9vGIb/sdfrlSTZ7XaVlJRo3LhxcW8neh9iD2Yh\n9mAWYg/RwGTNBGe1WtXU1CRJmjhxot58803961//0ujRo/3H+H6BV1dXa//+/TrttNM0atQovfba\na5Ja/lA89NBDqqmpif8FIGERezALsQezEHuINnrEE1xBQYFOOOEEXXHFFVqxYoW+8pWvaPjw4W2O\nyc7OVklJiQ4ePKjbb79dmZmZmjJlij755BNNnjxZXq9X3/nOd5SdnW3SVSAREXswC7EHsxB7iDaL\n0foeChJaTU2Nrr76aq1YsUI5OTmSpDlz5mjUqFG68sorTW4dejNiD2Yh9mAWYg/RwNCUXmLVqlW6\n5pprdMcdd/j/IADxQOzBLMQezELsIVroEQcAAABMQI84AAAAYAIScQAAAMAEJOIAAACACUjEAQAA\nABOQiAMAAAAmIBEHAAAATPD/AYTscgtBVLpkAAAAAElFTkSuQmCC\n", + "image/png": "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\nRp9005I0XZ5qKV+1DEf3Hwfg6IHjVK5RIVX77v07snbpFgDiYo1a3lq6uCLPXwMg6E4Izm6OlKtS\nimMHTgJw7MBJKlUvl8wmNiaOcf2mERYSkWx73NM8Fn6fHDbWtPNoya8bd6WblvuR/5Ard04Actrm\n5H7EffIUcOXq334AnDp6jvdqJs9jlaqX47TveWKiY4kMj2Kx18pUtLTgt027001LUqp/WIdj3x/C\nNo89964FAhBw5joFKxZ54diU6kIJxlaFx1GPsLLOSqVW1TjjcwJDgiGFo83D860Bx0+epl7d2gDU\nq1ObY38dT7b/z+MnaVi/LgBFChXinwcPePjwIVaWlgDY29nx4MEDvDdtofOH7mTJkgHHnur+xScD\nkGYwlVJ6oU10H4w2BVN/KeVUE86dDbAzfi+AVisFsDbluq+D35UAqtaqiE6nI38hN/LkcyFrVquX\n2hgMhsQHQVJ0eh16Cz0OTnZgMFCmYkmiH8cw3GsA7h6tzOF+Mm5cCaCKUUu+Qm7kye+MS16nxObD\nyPD72DvapWhbokxRgu+GEBVxH9CWf9Nb6LF/qqVSSaIfRTNsSn8+8Ghpdi3Pp4tbPhdck2oJi9L+\nz6lpCQxN1PK208X/yk2q1KpgTJc85Mnngoubc5J0idL+z0lILY/pjVrsHW0xAKUrCmIeRzPEsx9t\nu7Ywu5aDu47h7ObIim3zmLlyPN/OXY//1VtUq1cJgPdqViC3fe5kNi55nciWPSvjF/y/vfMOr6Lo\n4vB7ExIkBEhID71OKNKldxCQDiIqRbHx0QRFBKUECE0QQbrSu4AFQZHeq/QiZSiBEEhIp5NG7vfH\n3iT3plBCNiFh3ufJk7tldua3s7tnz5nZma+YuNCbitXLAVqITrvGHDAaoUzFUkQ+imLAqJ607dJc\ndy0J5Svhwb2Quzy6+5BQvyCKVy0FQNFKJbDLlzvZ/vkLudB2SGc6j/mAQq8X1bRYGTBYGcjtaA9G\n8PQqRExkNM36tKZyyzcyRIev7zX6DxrChz17c/DfI0RGRiaEdfM7OhIaajkrWGhYGI4ODgnLjg4O\nhIaFE2c0Ehsbq+1vMHDy9Bly5cqF95jxrFi1JkO0PCvx5z0tfy8DqRo1IURl0//GgC1wAjgJ2JnW\nPY1xwEkhxClgKzDMtH4J4PMihU6NI/tOcOHMZX5cOpaO3Vvjd+VGmuPwf63ezJTFPuzZepAuPd9m\n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\n+MuhaAAAAABJRU5ErkJggg==\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -450,15 +529,18 @@ } ], "source": [ - "sns.factorplot(x=\"type\", y=\"AUROC\", hue=\"alpha\",\n", - " col=\"l1\", data=plot_ready, kind=\"box\", size=4, aspect=0.6);" + "# Cross-validated performance heatmap\n", + "cv_score_mat = pd.pivot_table(cv_score_df, values='score', index='l1_ratio', columns='alpha')\n", + "ax = sns.heatmap(cv_score_mat, annot=True, fmt='.1%')\n", + "ax.set_xlabel('Regularization strength multiplier (alpha)')\n", + "ax.set_ylabel('Elastic net mixing parameter (l1_ratio)');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "# Use Optimal Hyperparameters to Output ROC Curve" + "## Use Optimal Hyperparameters to Output ROC Curve" ] }, { @@ -469,30 +551,18 @@ }, "outputs": [], "source": [ - "# Select optimal hyperparameters based on performance in test-set\n", - "optimal_alpha = 0.05\n", - "optimal_l1 = 0.1\n", + "y_pred_train = best_clf.decision_function(X_train)\n", + "y_pred_test = best_clf.decision_function(X_test)\n", "\n", - "# Initialize optimal classifier\n", - "clf = SGDClassifier(loss=CLASSIFIER,\n", - " penalty=PENALTY,\n", - " alpha=optimal_alpha,\n", - " l1_ratio=optimal_l1,\n", - " class_weight='balanced',\n", - " random_state=1234)\n", + "def get_threshold_metrics(y_true, y_pred):\n", + " roc_columns = ['fpr', 'tpr', 'threshold']\n", + " roc_items = zip(roc_columns, roc_curve(y_true, y_pred))\n", + " roc_df = pd.DataFrame.from_items(roc_items)\n", + " auroc = roc_auc_score(y_true, y_pred)\n", + " return {'auroc': auroc, 'roc_df': roc_df}\n", "\n", - "# Fit the classifier using the training data and predict the hold out set\n", - "clf.fit(X_sub, y)\n", - "y_score = clf.decision_function(X_sub)\n", - "y_score_hold = clf.decision_function(X_holdout)\n", - "\n", - "# Get True/False Positive Rates\n", - "fpr, tpr, _ = roc_curve(y, y_score)\n", - "fpr_hold, tpr_hold, _ = roc_curve(Y_holdout, y_score_hold)\n", - "\n", - "# Get AUROC\n", - "train_error = roc_auc_score(y, y_score, average='weighted')\n", - "holdout_error = roc_auc_score(Y_holdout, y_score_hold, average='weighted')" + "metrics_train = get_threshold_metrics(y_train, y_pred_train)\n", + "metrics_test = get_threshold_metrics(y_test, y_pred_test)" ] }, { @@ -504,19 +574,9 @@ "outputs": [ { "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfcAAAFvCAYAAABXQIIJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xd8VFX6x/FPCCW40pOAoAgCPtgFG6LiAoqi2Fcsu6Ig\nKKKia/npuqJrQVYEG6666tp7ARTsgq6uYgFRsfAoKqCI0gWUBFJ+f9w7YQjJZBIyk8zk+369eJGZ\n2545U557zj33nIzi4mJEREQkfdSr6QBERESkeim5i4iIpBkldxERkTSj5C4iIpJmlNxFRETSjJK7\niIhImqlf0wFI2cysCJgHFACZwCrgb+4+fQv3+3egk7sPMbM3gEvc/ZMY6w919/vCv18HLo21fiXi\nmAlsBTQEdgDmAhnAl+5+gpnNB4qBdQSvfx0wxt2fCrcvitoG4Ed3PzRcdg0wMFw2Gzjb3Vdvacxl\nvIZ9gd/d/fMK1tsRaO3u75jZscAAdx9aTTGMAEYBt7v7mOrYp1SNmZ0L5Lr71dW4zyOAi4BDge/Z\n+J3IIPhefAKc5+5LwvWbANcDhwOF4b/HgRvdvShqvxcBgwlyQH3gVeCKRHxPqouZ7QY8AvRw97ya\njqe2U3KvvYqBg919MYCZ9QSmmNmO7r68Og7g7ofEWm5mmcBNwH3h+odWx3HDfe0dHmN74Bt337nU\nKsXAqe4+I1yvCzDDzD5z96+A4jK2wcxOBvoCe7j7ejN7BrgCuLy6Yo8yGPgfEDO5A8cRfNfecffJ\nwORqjOF4gh/lB6pxn1IF7v6v6tyfmW0N3A30dPdiMyv9ncgAbgNuBv4SPn6J4KR3d3fPN7MWwFNA\nF2BIuN2NQC/gUHf/2cwaA7cDU4CDq/M1VCd3n2Nmk4AbCE54JAYl99org421Utz9PTObB+xvZnOA\n9wi+tN3cvbeZHQDcArQAlgJ/dvfvzSwLeAjYF5gPeGSfZvZ9uN57ZjYI+DtBUv0AGAa8DDQzsy+B\nI4A3gT8Di4AZwJhwvRbARe7+jJk1Iji73h/4gqDm3MbdB1exDCKv/xszm0aQuL+KXlbKF8A57r4+\nfPwWsNlJjJmdDgwA8oGDCMrlWuBGgpaEUe5+n5ldDWzr7sPC7a4GtgVmAoOAo8wsh+BH9o4wvgYE\nSX8I0B/4G5BvZs0JTgT+4u6Hhj+8dwN7ELTQPOzuY8PjFIX7vwhoDdzk7reWeg03EpRzVzPbLiyT\nduH+HgMmENTijmfj+zrC3deZ2ZvAK8AxQCfgGoL38S8Etb0j3X1BqeOV+96aWTvgLsDCY13o7q+E\nJ29lflbCfV4FnAo0IjjpucjdNxtZq6z1gO2AD4Hu7v6TmZ0KnAccAHwH3AmcFK73b3e/Kown3u9O\nW+BhoE143CfdfVSM50s+K+H7cS/QAVgfvn+PVFQepZwDTHP3H6Oei/5OFJvZVGB8+NQRQFuCSkFR\nuM5KM/sz8L2ZjQGWAecTnPz+HK6zLmx1KPPkvZzfhv2B+9y9S7jOwZHHYTm0A3YHnghf63aRSomZ\n3QKsc/crynv/zexE4CqC1on1wEh3f5vgM/21md3g7svKilcCuuaeWhoQJCOAbODj8Mdpa+AF4PLw\ny3Yb8HS43hAglyBhnQD0K73T8AfnJqCXu3cF/kDwAzAEKHD3nd19fqnNssNluwN/BUaHzw8j+NFr\nD5xFULutrmEQo18/ZvawmX1hZm+Z2f4QnN27+5xweTPgROD5cvbXD7ga6AzsBFwCHAgMJWjqjigd\nf7G7/5sgsfxfmHSPI0gqO4f72hs4yd2nApOA29z90lL7GwOsCMv8IGBE2EITsbO7dydIwDeENbMS\n7n5ZGMOl7n5t+HR/4HB3v50gsR0GdAN2AZoTvFcRB4WvdwgwFljo7jsRnDwNKaO8hlL+e/swwefR\nCJLMo+HJC5TzWTGz04A/hWXVKfx3TumDlreeuy8My/AmM9uK4ERmaNTJQY+whWhX4NywWTcSTzzf\nnQuB/7r7rsBuwA5m1jrG80SVxz3A9PC9HQDcbmbtY5VHGf5E8NkpU1jjHgK8Gz7VC3g1uvkdwN2X\nEnxOegE9gB/c/ZtS66x39xfLOEZ5vw3Rr5UyHvcH+rv7bcB0gjKIOBZ4uoL3/1/h9jsDI4CjwzhX\nEJxgHFVOsUhIyT1FmFl/ghpc5Itcn43NuwcRfGGnA4TXpTub2bbhsonuXhx+MaaWsft+wLvu/kv4\n+FSCmkwsmcCD4d8fE9SOIEgWz4bHWwhs9oNRFWbWPdx3ZH/3AGPdfReCH4IpZtY0av3HCFoYviGo\nbZblS3f/1t03hOu9FiaGOQQ1oLi5+0Rgb3cvClsNPiI4oYrlCILaJe6+EpjIpidfkbg/JqjZ5Jaz\nn+ik/0G4r8j+H3L3vPB1PVBq/1PCRDAHaAw8Gz5f3us/iDLe2zCx/hG4NXwt3wHvAEeG25X3WRkA\n3O/ua8M4/kNwAlparPUmEDQ5PwU87u5fRm33cBjP0jCeyIlTvN+dJcBhYc1+vbv/OfyOlPc8YXnU\nJ6gF3xXucyFBq1efCsqjRHhJrDvB5yjaY2b2pZl9DSwn+IxHTthaErQ8lOWXcHnL8O94VeW3ATb9\nHD5HcIIa+R6v96DfTlnv6/FR8Z5jZu3d/T13vyRq3x8StBxIDGqWr93eMrMCgpOw+QRnsr+bGUCh\nu68N12tO8IMU+WHLIOh0k0PwZf41ap8rga1LHSeboMMeEJzFA4THKU+hu6+L/E3wgwVBM+OKqPUW\nETRjV8VjZhbpUPczcKK7/xTGODwq3mfM7EqCH+9Xwuf+bGYNCWodjwEnl7H/NdGvB1gb9XelTnzN\nLBuYEP54FRGciN0aeytyCN6PiJXANlGPfwVw96Kw1p5JxaLLvqz9R58gRF5/YXicst7PaOW9t80I\nPnPvhZ+ZDIIa3rTI/srZd3PgEjM7i40dxJaUcdxy1wvL5h7g32ysUUZEx7oyjD8STzzfnZsJPgd3\nAtuY2Z3u/o8ynv+Xu18TdaxWYWzRn6/osi+vPKK1DI9RujxOdfcZZtaA4FLSlKh9LaP8k9LW4b6W\nUbnvY1V+G2DTsp8MjA+/j8ewsWUk1vt/NEHr2SwzWwj8NWyWJ1ynWyVeQ52k5F67lXSoq8BPBLXQ\nfUsvMLOVBD++ETllbL+MjbWaSI/bxpWMNWI1m548bFPeinEo6TwUzcz+ALRz96+jnq4PbDCz3sAv\n7v6lBx3q7gXeLr2PSij949uinPVGE1wb3MXdC8zs0Tj2/QtBIohcU21F5WpV8e4/Ykv3X957u4Sg\nz8BeUYkGKGnWLc9PwPPufmcFxy13vbDV4P8IOoSNJbhLIiI76u+WbJpwovdd5ncnNBYYa2adgVfM\n7B13n1bG8/+L2mYZUGxmzdw9cmJd2bIvr09JBoC7b7DgrpDxwF7hspeBx82sQdgaBUDYJ2Qf4HSC\n9zDXzPb0qLtewtaGfwDX+6Y90ZcRVUuO+m0o/b1oWd4L8eC6/4cEfV+OJejXATHeV3f/no0dAE8n\n6PFf1UpCnaRm+dqtvC946WUfENQg9gUwsx3M7OFw2QzgaDOrF9YujyhjXy8BPc2sfVhDvJvgi7UB\nyAyTabyxfQicYGYZYaei/jFeQ0X7Ku/57Qh6zncEMLN+BD+eHxA03UdqCRDUAD6LI4byjr0Y2DV8\nPaXLbwNB7QOCWtmcMLHvQXD9fesy1os2leDadaTmfzxlXzapqqkEvagbhz/eZ8bYf6zPWkSZ7627\nFxI00Y+AIOGa2X8s6GRX1r4jj58HTguvHWNmZ4XXYUuLtd61BJcTLiKogUe/PyeFsbYmeD8iJ3lx\nfXfM7G4zi3TG/J7gs1Bc3vORHYbl8QpwdrifTgTN/29UUB7RlhMk0LJOxiMeARpZ0OGNsGb7MfBQ\neNKDmbUM17vf3X8ITzZuAh4O44qcIN0D7Omb32L2EnBAGb8Ni8Nyyw4vIZwaI04ImuaHAQ0ifWIo\n530N9/laeCIBwXsU3Y8gh/IvP0hIyb32qqgTWvSPSR5Bx5QJZvYFwRcp0vR1L8HZ+rcEP4ITS+/D\n3RcRJJk3CW6jKSJoelxM0Ot7oQUd1opLb1uGu4E8gnv0JxD0lo37tcSxf9x9LnABMDVsTr0aODps\nah1L0FP6MzObC/Qm6AhWkfI6Bz0D/Ebweh5iY7lC0NnpRjMbB4wjuEb4BUGnoIuAoWZ2AsEtRsPN\n7OlSx7kSaGlmXxH06r/B3WdVEE9FcZdw92cJfpxnEZzgLCR4Tyqz/2ix3tsRwMHha5kJfBt+rso9\nlge3BU4BPg7fx6MI7rcu/TrKXM/Mdic4Ibo+7FMwEvhX1MnoFwQnJHMIOjTOLR1PBd+du4HR4TE/\nB94Lr82X93y0c4DeYXk8B5xZUXmUes2FBHcj7FPeeuF16quA6yy4kwGCy0+/AJ+E8f2XoMf9BVHb\nXUOQzF8I4/uI4LLX8ZRS3m+Du38L3E9wn/3bbDxxKc8kgj4YJd+f8t5XD3rBvwx8ZGafE9Taozt4\n7kdQaZEYMjSfuySSmY0FMt394pqORapXbX5vLeo2z5qOparM7DJgR3c/s6ZjqS0suJ30G4I7SVR7\nj0HX3KVamdlRBLWJAwhGnzuSoGYtKU7vbdLdBXxhZm0jHUmF8wnuilBir4Ca5aW6vUjQzPcVwfW/\nV8LmYUl9qfTepnyTpAdDwZ7Nxtvm6jQz25Xg0sHfajqWVKBmeRERkTSjmruIiEiaSalr7gUFhcUr\nV/5e02GktRYttkJlnHgq58RTGSeeyjg5cnKaxHOr6iZSquZev348A3TJllAZJ4fKOfFUxomnMq69\nUiq5i4iISMWU3EVERNKMkruIiEiaUXIXERFJM0ruIiIiaUbJXUREJM0ouYuIiKQZJXcREZE0k/AR\n6sLB/icTzAF8Z6llhwCjgQLgZXe/PtHxiIiIpLuE1tzNbCvgduCNcla5DTgOOBDoZ2ZdExmPiIhI\nXZDoZvk8oD+wuPQCM+sILHf3n9y9GHgJ6JvgeERERNJeQpO7uxe5e345i9sAS6MeLwG2SWQ8IiIi\ndUFtmhWu0rPeiEjtMnHeVGYvmVOpbX7L28D6DYUJiCYDKE7AfmUjlXEyPPWXmyu9TU0m95/YtKbe\nLnwuppycJgkLSAIq4+RIdjnfP+UL3v10UUKPsbbDTIrrryOjoHHc2xQWFQGQWS8RDYmqMySeyrg2\nSmZy3+QT4O4LzKyJmbUnSOoDgFMr2snSpWsSFJ5AkHBUxvF7evo8Ppq7pNLbZWZmUFiY3BrP8tV5\nALRqmlXpbdfnfE5h04pPDIrr55FRkEXjb/tVav/7dM1lYJ/OlY4rFn2WE09lXHslNLmbWXdgPLA9\nsMHMTgBeAL539+eBc4AnCdp1nnD3eYmMR9JTVRNsdSgrYcaXCJPfnLkV0LBBJllZDSq97e95KwFo\nmdWigjWz6Ja7G8cf1rPyAYpItckoLk6p6yXFOktMrGSciVd3Mo6nRhpvzbMqGjbI5A9RCXNFHIkw\ns14GhUUp9d0LknbnATUdRtxUq0w8lXFy5OQ0qfS1j9rUoU5SWGUSdmWah+NJyvHUSOOveW65llkt\nKkyE+lEUkURScpdKKyuRVyZht2qaVXKNtaLe1dWVlONJuCIi6ULJXcoUqyZeViKPTtgRsRL3HGDO\nexU3YSspi4hUnpJ7HRJP03mkF3esmnhZibwss5fMYVX+rzRv1KzcdZS8RUSqn5J7mqrOpvPyVNSk\nHkns1/X8W5xRi4hIdVByT2HV0XReWrwdvSbOm8q0hW8D5TepN2/UjG65u1W4LxERqV5K7imisjXx\neJvOK1Je7Txyrbxv+15qUhcRqWWU3Gu5SFKvak28qiJJvbwOb7pWLiJSeym510LRtfTopJ6oRF5a\n6SZ3JXERkdSi5F4LlG5yj07oyUzqEZFmeDW5i4ikJiX3GlRek3tNJPSIRz55jhV5K2mZ1UKJXUQk\nRSm515Cnp8/jlQ8XAjWbzGHTTnORa+zq5S4ikrqU3JOsdG398H3b10hSLyuht8xqQc5WLdk9e1fV\n2kVEUpiSexLVhtp6Wb3gozvNaUITEZHUp+SeBLWhtl5WUlcveBGR9KTkniA1fTsblN/0rqQuIpLe\nlNwToHTze00l9fKa3kVEJL0puVez6MSe7OZ3Nb2LiAgouVermkrsSuoiIhJNyb0aRa6xJzuxa6hY\nERGJpuReTZ6ePo/lq/No1TQr4Ym9rI5yGipWREQilNyrQXRz/D5dcxN+vNlL5rAq/1eaN2qm2rqI\niGxGyX0LJfM6e6TGHkns1/X8W8KOJSIiqateTQeQypLdgS46sWvsdxERKY9q7lsgkR3ooq+rR6jG\nLiIi8VDNvYoS3YEuUkuPphq7iIjEQzX3KorU2qu7A52uq4uIyJZSzX0LJKLWruvqIiKypVRzr4Lo\nJvlEUI1dRES2hGrulZTIe9onzptaMiiNiIhIVSm5V0Kib32L9I5Xc7yIiGwJNctXQnXe+lberW4t\ns1potDkREdkiSu5xqq5b38qawS1CnehERKQ6KLnHqbpufYv0hteY8CIikihK7nGozlr7iryVtMxq\nod7wIiKSMOpQF4fqqLVHz7uupncREUkkJfc4bWmtPdJ5TvOui4hIoim5J5F6wouISDIouVcgcr1d\nREQkVSi5V6C6rrdr5DkREUkWJfcYqquXvEaeExGRZFJyj6E6p3XV9XYREUkWJfdyVFetXUREJNmU\n3MtRnbV2ERGRZFJyj0G1dhERSUVK7gmmnvIiIpJsSu5lqK572zXkrIiI1ARNHFOGLb3eXnpaVw05\nKyIiyaTkXkp19JLXtK4iIlKTEp7czexmoAdQBFzo7jOjlp0L/BkoAGa6+0WJjqci1VFr17SuIiJS\nkxJ6zd3MegGd3b0nMBS4PWpZE+AS4AB37wXsYmb7JjKeeFW11q5r7CIiUhskukNdX2AygLvPBZqb\n2dbhsvVAPtDUzOoDjYEVCY4npi3tSKdpXUVEpDZIdLN8G2Bm1ONl4XPz3D3fzK4FvgN+B55093kJ\njiemqjTJRzrPASXX2ZXYRUSkJiX7VriMyB9hs/wVQGegI9DDzGq8LbuyTfKRznMAzRs1U3O8iIjU\nuETX3H8iqKlHtAUWh3/vBHzr7isBzOwdYC9gTqwd5uQ0SUCYgczMjEofI7NeBq0aN+dfR41OVFhJ\nl8gylo1UzomnMk48lXHtlOjk/hrwD+BeM+sOLHL338Jl84GdzKyRu+cDewMvVrTDpUvXJChUKCws\nrvQxCosqv01tlpPTJG1eS22mck48lXHiqYyToyonUAlN7u4+w8xmmdm7QCFwrpmdDqxy9+fN7Cbg\nLTPbALzn7u8mMh4REZG6IOH3ubv7FaWemhO17F7g3kTHkCjR97SLiIjUFhpbPlSV2+AiveTViU5E\nRGoTJfdQVUem061vIiJS2yi5Uz3jyYuIiNQWSu5s+XjyIiIitYlmhQtVVGuPHokuYlX+rzRv1CzR\noYmIiFSKau5xih6JLkIj0omISG2kmnslNG/UTNO4iohIrVfna+7x3AIXuZ9dREQkFdT55B5PZzrd\nzy4iIqmkzid3iG8mON3PLiIiqULJXUREJM3U6eRelSFnRUREars6ndw1eI2IiKSjOp3cIb7r7SIi\nIqmkzid3ERGRdKPkLiIikmaU3EVERNJMnU3u6ikvIiLpqs4md/WUFxGRdFVnkzuop7yIiKSnOp3c\n46FJY0REJNXUyeRemevtmjRGRERSTZ1M7pW93q5JY0REJJXUyeQOut4uIiLpq84mdxERkXSl5B6D\nOtOJiEgqUnKPQZ3pREQkFdW55F7ZkenUmU5ERFJNnUvuGplORETSXZ1L7qCe8iIikt7qZHIXERFJ\nZ0ruIiIiaSau5G5mrcxs7/DvOnFCoNvgREQkVVWYqM3sFOB94MHwqQlmdmYig6ppE+dNZdrCtwHd\nBiciIqknnlr4RcAewNLw8SXAWQmLqBaI3N/et30v3QYnIiIpJ57k/qu7/x554O7rgPWJC6l20P3t\nIiKSqurHsc4yMzsdaGxm3YGT2FiLTymRAWxaNc2q6VBEREQSJp6a+3BgH6AJcB/QGEjJa+4awEZE\nROqCeGruh7v7edFPmNlw4O7EhJRYGsBGRETSXbnJ3cy6Ad2BS8xsq6hFDYCrSNHkLiIiku5i1dzz\ngNZAc+CgqOeLgEsTGVQi6Hq7iIjUFeUmd3f/CvjKzKa7+/vRy8zshIRHVs10vV1EROqKeK65/2Rm\nY4Hs8HEjoA/wXMKiShBdbxcRkbognt7yjwArgP2BWUAOcFoigxIREZGqiye5F7j7P4Ff3P1fwNHA\nuYkNq+ZoTHkREUl18ST3xma2LVBkZjsAG4AOCY2qBkWGntWY8iIikqriSe5jgb7ATcAnwDLgvUQG\nVd0iPeXjpaFnRUQklVXYoc7dJ0f+NrOWQBN3T6l263h7ykea5FtmtUhGWCIiIglRbs3dzOqZ2dlm\nNiGc9hV3LwDyzexfSYuwmlTUU17TvIqISLqIVXOfALQEZgDDzSwb+AK4B5iUhNiSStO8iohIuoiV\n3Pd09wMAzOw/wAJgPnCSu8+K9wBmdjPQg2BkuwvdfWbUsm2BJwiGtP3Y3UdU+hVUI11rFxGRdBCr\nQ13JnO3u/hvgwH6VTOy9gM7u3hMYCtxeapXxwE3u3gMoDJN90un2NxERSSexkntxqcf57l5Yyf33\nBSYDuPtcoLmZbQ1gZhnAgcCUcPn57v5jJfdfLXT7m4iIpJNYzfJtzWxI1ONtoh+7+/1x7L8NMDPq\n8bLwuXkEI92tBW41s+7AO+5+RdyRVzM1yYuISLqIldxnsOlscO9HPS4G4knupWWU+rsdcAuwEHjR\nzPq7+8uxdpCT06RSB7x/yhcsX51HbovG5W6bWS+jSvtOVyqH5FA5J57KOPFUxrVTrFnhBlfD/n8i\nqKlHtAUWh38vA+a7+3wAM5sG7ALETO5Ll66pVABvfxy09HfvklPutoVFxVXadzrKyWmickgClXPi\nqYwTT2WcHFU5gYpnhLot8RrwJ4Cw6X1R2DmP8Pr9d2bWKVx3L4JOe9VOs8GJiEhdktDk7u4zgFlm\n9i5wK3CumZ1uZseEq/wVeNDM/gescvcp1Xn8yg47KyIikg7imc99i5TRSW5O1LJv2fS6frWKd9hZ\nERGRdFJhzd3M9jCzmWY2N3w8ysz2S3xo1UNN8iIiUtfE0yx/BzCEjR3hngJuTlhEIiIiskXiSe4b\n3P2zyAN3/xooSFxIIiIisiXiSe4FZtaRcMQ6M+vPpveri4iISC0ST4e6i4HnATOzXwkmjxmUyKBE\nRESk6uJJ7uvdfXczyyEYX351ooOqDpHb4Fo1zarpUERERJIqnmb5KWb2IXAK0CjB8VQb3QYnIiJ1\nVYXJ3d13BM4hGAf+PTObamYnJTyyaqDb4EREpC6Ka4Q6d5/l7pcRDDizAHgkoVGJiIhIlVV4zd3M\ntgFOAE4kmKb1SWDnBMclIiIiVRRPh7qZBAPXXOzuMytaWURERGpWucndzLZx98VAb8JBa8xsh8hy\nd/8u8eGJiIhIZcWquY8HTgVeJRjAJnrgmmJgh7I2qg10G5yIiNRl5SZ3dz81/PMId/8qepmZ7Z/Q\nqLaQboMTEZG6LFazfHOgFXC/mZ3Kxpp7A+AhYMfEh1d1ug1ORETqqljN8vsDfwX2BKZHPV9E0FQv\nIiIitVCsZvmXgZfNbLi7353EmERERGQLxGqWH+zuDwDtzOza0svd/aqERiYiIiJVEqtZvij8X3O3\ni4iIpJBYzfIPhf9fY2ZN3H2NmbUm6Ej3brICrCzdBiciInVdhWPLm9kEYKCZtQTeA84D7kp0YFWl\n2+BERKSui2fimG7u/h9gIPCgu58E1Op7zHQbnIiI1GXxJPfI/e0DgCnh3ykzr3tFJs6byoq8lTUd\nhoiISLWJJ7l/bWZfAk3c/RMzGwSsSHBcSTN7yRwAuuXuVsORiIiIVI94ZoUbCuwGfBk+/gJ4IWER\n1YCWWS04vvOAmg5DRESkWsRTc28MHAU8a2bPA/2A/IRGJSIiIlUWT3K/F2gK/Dv8u3X4v4iIiNRC\n8TTLt3b3U6IeTzWztxIUj4iIiGyheGrufzCzrSIPzOwPgEaIERERqaXiqbn/G5hrZjPDx3sBoxIX\nkoiIiGyJCpO7u99vZq8D3YFi4Hx3X5TwyERERKRKYiZ3MzsC6Ar8z92fT05IVVfZceUjA9i0zGqR\n4MhERESSp9xr7mb2D+DvQFvgXjP7c7KCqqrKjiuvAWxERCQdxepQdxhwsLtfAvQCBicnpC1T2XHl\nNYCNiIikm1jJPc/dCwDc/VcgMzkhiYiIyJaIldyLK3ic0jRhjIiIpKtYHep2NrOHy3vs7oMSF1bi\n6Xq7iIikq1jJ/bJSj6clMpCaoOvtIiKSjspN7u7+UDID2VKVvQ1OREQkXcUz/GxKqOxtcCIiIukq\nbZI7VP42OBERkXQUV3I3s1Zmtnf4d1qdEIiIiKSbChO1mZ0CvA88GD41wczOTGRQIiIiUnXx1MIv\nAvYAloaPLwHOSlhEIiIiskXiSe6/uvvvkQfuvg5Yn7iQKi/SU15ERETim899mZmdDjQ2s+7ASWys\nxdcK6ikvIiKyUTw19+HAPkAT4D6gMTA0kUFVRWV6ymvoWRERSWcV1tzdfRVwXhJiSRoNPSsiIums\nwuRuZj9QxqQx7t4+IREliYaeFRGRdBXPNfcDo/5uCPQlaJqPi5ndDPQAioAL3X1mGeuMAXq4e+94\n9ysiIiJli6dZfkGpp74xs1eBWyra1sx6AZ3dvaeZdQXuB3qWWmcn4CBqWQ98ERGRVBVPs3yfUk9t\nB3SKc/99gckA7j7XzJqb2dbuvjZqnfHAFcA/4tyniIiIxBBPs/yoqL+LgdUEPejj0QaIboZfFj43\nDyC8xe5NoHTrgIiIiFRRPMn9Ynf/uJqOlxH5w8xaAIMJavfbRS8TERGRqosnuY8DSjfNx+sngpp6\nRFtgcfh3HyAbeAfIAnYws/HufnGsHebkNNnk8f1TvmD56jxyWzTebFlZHvnkOVbkrSRnq5ZxrV8X\nqVySQ+VEmgStAAAf7UlEQVSceCrjxFMZ107xJPeFZvYWweQxJZ3e3P2qOLZ9jeBa+r3h6HaL3P23\ncPvngOcAzGx74IGKEjvA0qVrNnn89sc/AtC9S85my8ry7oJZAOyevWtc69c1OTlNVC5JoHJOPJVx\n4qmMk6MqJ1DxJPfvw3+V5u4zzGyWmb0LFALnhtfZV7n781XZZ1kqO4+77nEXEZF0Vm5yN7M/u/tj\n7n7NlhzA3a8o9dScMtZZQNWb/uMWGXa2ZVaLRB9KRESkxsQaWz7t5mzXsLMiIlIXxDNxTFpRk7yI\niKS7WNfce5rZwjKezwCKU31seRERkXQVK7nPBk5OViAiIiJSPWIl97wyxpVPWepMJyIidUWsa+4f\nJi2KJFBnOhERqSvKTe7uflkyA0kGdaYTEZG6oM71lhcREUl3dSK5R663i4iI1AV1IrnreruIiNQl\nKZ3cn54+j+Wr8+JaV9fbRUSkrkjp5P7R3CUA7NM1t4YjERERqT1SOrlD5WeEExERSXcpn9xFRERk\nU0ruIiIiaUbJXUREJM0ouYuIiKSZWBPHpLyJ86Yye8kcVuX/SvNGzWo6HBERkaRI65p7dGLXADYi\nIlJXpHXNHaB5o2Zc1/NvNR2GiIhI0qR1zV1ERKQuUnIXERFJM0ruIiIiaSZtk7umeRURkboqbZO7\npnkVEZG6KmWTezzTvWqaVxERqYtSNrlrulcREZGypWxyB033KiIiUpaUTu7lUWc6ERGpy9Iyuasz\nnYiI1GVpmdxBnelERKTuStvkLiIiUlcpuYuIiKQZJXcREZE0o+QuIiKSZtIuues2OBERqevSKrlP\nnDeVaQvfBnQbnIiI1F1pldwj97f3bd9Lt8GJiEidlVbJHXR/u4iISEom93hmhBMREamrUjK5a0Y4\nERGR8qVkcgfNCCciIlKelE3uIiIiUjYldxERkTSj5C4iIpJmlNxFRETSjJK7iIhImlFyFxERSTMp\nl9w1gI2IiEhsKZfcNYCNiIhIbPUTfQAzuxnoARQBF7r7zKhlvYEbgALA3X1oPPssPYDNxHlTmb1k\nDqvyf6V5o2bVGr+IiEiqSWjN3cx6AZ3dvScwFLi91Cp3A8e7+0FAUzM7vCrHiU7smupVRETqukQ3\ny/cFJgO4+1yguZltHbV8L3dfHP69FGhV1QM1b9SM63r+TTPCiYhInZfo5N6GIGlHLAufA8Dd1wKY\n2TbAocBLCY5HREQk7SX8mnspGaWfMLNc4AXgHHdfWdEOMjODXeTkNNn4XL3Nn5OqUzkmh8o58VTG\niacyrp0Sndx/IqqmDrQFIs3wmFkTgtr639x9Wjw7LCwsBmDp0jUbnyva/DmpmpycJirHJFA5J57K\nOPFUxslRlROoRDfLvwb8CcDMugOL3P23qOU3Aze7++sJjkNERKTOSGjN3d1nmNksM3sXKATONbPT\ngVUEif8vQCczGwYUA4+7+32VOcbEeVNZkbeSllktqjt8ERGRlJTwa+7ufkWpp+ZE/d14S/c/e0mw\nO90CJyIiEki5EerK0jKrhW6BExERCaVFchcREZGNlNxFRETSjJK7iIhImlFyFxERSTNK7iIiImlG\nyV1ERCTNKLmLiIikGSV3ERGRNKPkLiIikmaU3EVERNKMkruIiEiaUXIXERFJM0ruIiIiaUbJXURE\nJM2kdHKfOG8qK/JW1nQYIiIitUpKJ/fZS+YA0C13txqOREREpPZI6eQO0DKrBcd3HlDTYYiIiNQa\nKZ/cRUREZFNK7iIiImmmfk0HUBn3T/mC5avzaNU0q6ZDERFJqDvuuBX3r1ixYjnr1q1j2223o2nT\nplx//dgKt3355alsvfXWHHTQH8tcPmHCzZx44im0abNNleN7//33+PTTjzj77AsAeP31Vxg9+h+8\n8MKrNG3aDIAbbriG3r37sv/+B5Zsd+KJR/PII0/z1VdfMGrU5eywQyeKi4vJz89nv/3258wzzwZg\n1apV3HrrTfzww0Lq1cugffsOXHDBJTRt2hSAr776grvumsCGDevZsKGAAw44iMGDh1X6dXz++WdM\nmHALDRo0YPfd9+Sss0bw88+LGTToZLp23Yni4mJatGjJtdeOqXC7X39dxZVXXkZBQQFXXnkN7dpt\nS2FhIRdddD433ngzWVlZPPfc0xQWFjJw4ClVKvd4pVRyf/fTRQDs0zW3pKd8y6wWNRyViEj1O++8\nC4EgUX///beMGHFB3Nv27x+7H9L551+0RbFt2LCBu+6awMSJz7JmzQYA3njjVbbddjvefHMaxxxz\nfIytM0r+6tZtL6677p8ljy+4YASfffYJu+++J9dddxWHHdaffv36A/DWW9O44opLuOOOe/j999+4\n9tpRjBkzng4dOlJYWMhVV13O1KmTGTDg2Eq9lnHj/sm1195A+/YduPHG6/n88zlkZ2ez/fbbc/vt\nd1diu8/45puvOfro48jNbcOUKZMZPvw8pkyZRL9+h5OVFVRKTzhhIGefPZg+fQ4lOzu7UrFWRkol\nd4BWTbMY2Kczo957BlBPeRGpW2bPnsUTTzxKXt46zjvvQj7+eCZvvTWd4uJi9t//AM44Yyj3338P\nzZo1Z4cdOvHcc0+TkZHBwoXz6d37EM44Yyjnn382F110GW+++QZr165h4cIFLF78EyNHXsx+++3P\no48+yLRpr9G2bTsKCgo45ZTT2HPP7iUxvPnmG+y99z5kZWWxZs0GVq9ezdy5X3L55Vfx2GMPVZDc\ny9e16078+OMPNG/enLVr15QkdoA//rEvkyY9h/tcvvrqC3r16k2HDh0ByMzM5Morry1JoBEPP3w/\nH330ARkZGRQXF5ORkcHFF1/O9tt3KFlnxYrltG8fPN5nnx589NH79O8/gOLi2LGW3u7DD9+nQYMG\nbL99B1q1asWaNav5/fffeeedtxk//vZNtj3qqGOZNOkZhg07p0rlFI+US+7R1FNeRJLh6enz+Gju\nkmrd5z5dcxnYp3OVtv3++2954omJ1K9fn9mzZ3HXXf8hIyODE088hoEDTwUgIyOoIc+d+yWPP/4c\nhYWFnHji0ZxxxtBN9rV06VLGjbudDz6YwfPPT2SnnXZh4sRneOqpyaxdu4aTTz6OU045bZNtZs36\niAMO6FXy+M0336Bnz17st9/+jB07mmXLlsVVKy2OyqC///47H344g0MPPZwFC+bTpcuOm63fuXMX\nFiyYz8KF89l55103Wda4cePN1h80aAiDBg2JGcM227Tl008/YY899uSjjz6gfv0gLa5YsZxRoy5n\n2bKlHHfcifTrd3iF2+266278+OMP5Ofn0aZNWx577CEGDjyF224bT15eHqeffiZt2rRhjz268eKL\nL1RYPlsipZO7iEhd1Llzl5Ik1KhRI849dxiZmZmsXr2K1atXb7Lujjt2pWHDhuXua/fd9wQgJyeX\n335by6JFP9C5cxcaNGhAixYtN0uiAMuWLSM3N7fk8euvv8LgwcOoV68eBx/ch+nTXys5ydhcMeF5\nB5988jEjRw6nsLCQH39cyPDh59O5cxd+/vknCguLytw2MzOTjIwMiorKWl55l18+iltvHUdmZiZd\nuuzIb7/9RrNmzRk27Bz69evP2rVrGDbsdPbeex9atmwVc7uDD+7DddeNYsOGDZx55nCefPJROnTo\nSJcuO7Lnnt15+OH/8H//93dyc3NZurR6TxZLU3IXEanAwD6dq1zLToT69RsA8PPPP/Pkk4/z0EOP\n06hRFoMGnbTZupmZmTH3Fb18Y006o+yVNxGss3TpEr788gvuuOMWAPLz89l66yYMHHgqzZs3Z82a\ntZtsVVhYSKNGQfN59DX34cOH0KlTUMbt23fg/vvv2eyI33zzNUceeTRr167hyy8/36TZ/tdfV7Fu\nXR5t2rQpeS6eZvmOHXfgttvuBOD55yeydu0aGjduXNJvoVmz5nTtujMLFszfJLmXtV1WVhajR98E\nwI03jubMM89m+vTX2XXX3cnNbc3ixT/FUa7VIyVvhdOwsyIiQUJr2bIljRpl4T6XX375mQ0b1m/R\nPtu02Ybvv/+OwsJCVq5cydy5X222TnZ2NkuX/gIEtfYTThjIAw88zgMPPM7jjz/H6tWr+emnRey1\n17688carFBYWlqy72257lHnc8867kPHjbwSgffvtyc7O4YUXJpUsf+utaWRmZrLDDp3p168/M2a8\ny9y5XwJBB7+bbhrDrFkfbrLPQYOGMGHCv7n99rtL/o9O7ABjxlzLt9/Oo7CwkFdffYmePQ/i449n\nMmFCcLKybt065s37mu22277C7SK++cb5wx/+wLbbbkfLli35+efFLFnyCzk5QWvH0qVLS/5OlJSs\nuWvYWRER6NJlR7KyGjNixFB2331PjjnmeG6++caSpvbyRK7HR/6P1qJFSw45pB/Dhp1Ohw4d2Xnn\nXalXb9N6YPfue/Ppp59w/PFHMW3a61x55TWbLO/f/0imTXuN004bzPz533HuucNo2LAhLVu24qKL\n/q/MmHbddXfatduWKVMmc9RRx3LNNWO45ZaxTJ78HJmZ9Wjbdluuuup6ILi+Pm7c7YwdO5r169dT\nr149+vXrz5FHHh132UUMGHAMo0f/g4yMDPr1O5yOHXegffvteeWVFxk+fAhFRUWcdtpgsrOz+eCD\nGSxe/BPHHntCmdtFPProg1xyyRUA9OrVh7///VJeeGESF154KRBcjujefe9Kx1oZGcUVdQmsRc68\n/rXiwsJisvb8LwDX9fxbDUeUfnJymrB06ZqaDiPtqZwTT2VcdS+/PJVDDz2czMxMBg06iVtu+RfZ\n2Tkly9evX89ZZ53Bc889U3IrnMRv+PAhXHfdP+OuvefkNInnOskmUrJZXkREEmf58mWcddbpnHPO\nmRx22BGbJHaAhg0bcs455zNu3LgaijB1TZz4DH36HJLwZvmUq7mvazmHglbzaJnVQjX3BFBtJzlU\nzomnMk48lXFy1Imae2HTYJQ6XW8XEREpW0ol97zsORQ3WKfBa0RERGJIqeResHVwj6Bq7SIiIuVL\nqeQOkLGhsWrtIiIiMaTkfe4iIuluS6Z8jfj558X8+uuvmHXl1lvHceqpp5Gb27rKMb377jvMmvUh\nI0deDMDkyZO58sormTLldbbeemsArrtuFIcddiT77tujZLvjjz+Sp56azKefzuaaa66kY8cdSqZ5\n3X//A0qmal25cgW33noTixYtIiMDOnTYgQsuuKRk31988Tl33z2BgoINrF+/gYMOOnizsfLj8emn\nn3DnnbfRoEEDunXbizPPPJuioiLGj/9nyQA+xx57wmaz640YMZSCggIaNWpERkYGI0deTKtW2Ywa\ndRlFRUVceeU1JZPtXHzx+YwdeyuNGjXi6aefIDMzkxNOGFilcq8KJXcRkVpoS6Z8jZg58wMKCgox\n68qFF16yRfHk5+dzzz13cs89D5Y89+KLL9Ku3ba89dY0Bgw4Jq797LXXPvzjH6MBKCoqYuTI4ey7\n7/7sssuuXHPNlQwYcAyHHHIYANOmvc4VV1zC7bffzW+/reX666/ixhtvoX377SkoKGDUqMt4+eWp\nFU5xW9r48WMYM2Y87dptyw03XMPcuV+Sl5dH48Zbceed9/H7779z0knHbrbfjIwMRo26lu22a1/y\n3LPPPsnxxw+kefPmvPjiCwwbdg7PP/8c/fsPoFGjRgAMHHgKw4adTp8+h9CiRctKxVpVSu4iIinm\nrrsm8MUXcygqKuLEE0+md+9DmDHjXe6//x4aNWpEdnYO5557AQ8++B8aNmxI69ateeSRB7n88lG8\n+upL5OWtY8GC+Sxe/BMXXngp++yzHw8/fD9vvvkG7dpty/r16znttMGbDBU7ffrr7Ldfj5KEtWrV\nKr766isuueQKnn76ibiTe7R69erRtevO/PjjQho3bkx+fn5JYgfo2/dQJk16hnnzvuHTT2fTu/ch\ntG8fDANbv359rrrq+s2meX3wwfuYNeujTcaTv/TSKzZJyKtWraJdu20B2Gef/fjww/cZNGhIybS2\n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\n", "text/plain": [ - "" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfcAAAFvCAYAAABXQIIJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4VNW+xvHvZCYVUiGF3iIgAaRYDlgohirHDqIeOIjY\nsOBFpSoWQBTFAh6xl6MIBwUsCKKiiAVQioJBUGpCTSGBJKTNzL5/TDImpEwSMkkmeT/Pc6/ZM3v2\n/GaRk3fW2muvbTIMw0BERETqDK+aLkBERESqlsJdRESkjlG4i4iI1DEKdxERkTpG4S4iIlLHKNxF\nRETqGEtNFyB1R8eOHWnVqhVmsxmbzUZQUBATJ06kV69eZ3XchQsXEh8fz5w5cxgzZgyTJ0/m3HPP\nLXX/Dz/8kOHDhwNwyy23MGnSpDL3L69rr72W7Oxs8vLySEhIoG3bthiGQXR0NAsWLKB///4A+Pn5\nYbPZ8PPz44477mDo0KGAo30KXgMQFRXF22+/DcD8+fNZvXo1hmHQqVMnnnjiCRo2bFjk/X/++WdG\njx7NI488ws0331zkuYEDBxIVFcV///vfMj/D9u3b8fPzo3379mXut3//flJSUjj//PP5+uuv+fbb\nb5k9e3b5G6sMQ4cO5f333ycsLKzcr3HX79bevXt5/vnn2b17N15eXoSGhnLnnXfSt2/fszpuVfr5\n558ZO3YsLVu2xGazkZeXR+/evbn33nuJjIx0+fpVq1bRp08fGjRoUA3VSq1hiFSRjh07GsePH3du\nb9myxbjwwguNEydOnNVxX375ZWPKlCnl2tdqtRrnn3/+Wb2fK4cOHTJiYmKKPd6vXz9j69atzu39\n+/cbF154obFnzx7DMBztU5KVK1caI0eONHJycgzDMIx7773XeOaZZ4rtt2nTJqNv377GyJEjizy+\nfft2o2/fvsaoUaNc1j5jxgzjk08+cbnfq6++arz88ssu96su7vjdOnbsmNGrVy9j6dKlzse2bdtm\n9OrVy/jxxx/Pqt6qtGnTJmPgwIHO7ZycHGPBggVG3759y/X5Bw8ebBw7dsydJUotpGF5qTKGYTh7\npQA9evSgZcuW/Prrrxw+fJhLL72UOXPmMGrUKAC2bNnC9ddfz8CBAxk5ciQJCQkA5OTkcP/999O/\nf39GjRrF0aNHncfs378/W7duBeDjjz9m0KBBDB48mMmTJ5Obm8vYsWNJT09n6NChHDp0yLn/4cOH\nueSSS3jvvff45z//SZ8+fVi9ejUAubm5TJgwgT59+nDrrbcyb948pk6dWuk2KNC6dWt69erFhg0b\nij1XWHR0NI899hg+Pj4AXHTRRezfv7/EfZs3b87Jkyc5cuSI87FVq1ZxySWXOLdfeuklHn744WLb\nS5Ys4ZNPPuHZZ5/lnXfewTAMHn/8cQYPHkxsbCyTJ0/GZrPx7bff8tprr/Hee+/x9NNPs2LFCm65\n5RYATp48yf3338/gwYMZNmwYr7/+uvN9OnbsyCeffMI111zDpZdeyjvvvFPiZ+jYsSPHjx/n559/\nZuTIkTz33HMMHTqU2NhYNm/eXGq7lva7BY7RmqFDhzJo0KAivzMrVqxgwoQJTJ8+nUGDBjFs2DD2\n7t0LwLvvvkvv3r2dozwA3bp14+WXX6Zt27YArF27ln/+858MHjyY6667jl27dgGUWXtOTg6TJ0/m\n8ssv54orruDTTz8FHL9ns2bNYtCgQVx++eW8+uqrzvft378///nPfxgyZAjHjh0rsQ0K+Pj4cM89\n93DBBRc423jfvn3cdNNNzjZYtWoVANOmTWP//v2MHj2arVu3kpKSwrhx4xgyZAixsbGl/huJ51O4\ni1tZrVZnaKWmptKpUyfee+89MjMzGT9+PA888ABffvklo0eP5v777wfgo48+IiUlhbVr17JgwQJ+\n/PHHYsc9fPgwc+fOZdGiRXzxxRdkZWXx/vvv8+STT2KxWFi1ahXNmzcv8pq0tDTMZjOfffYZU6dO\n5YUXXgBg6dKlJCcns27dOmbOnMny5cvd8vkBJk2axBVXXMGoUaPYtm0bAB06dKBDhw4ApKen88UX\nX3D55ZeXeszBgwezcuVK5/batWvp169fkX1MJlOx7ZEjR9KlSxceeughxowZw1dffcXWrVtZtWoV\nq1at4vfff2fVqlX069ePAQMGMHr0aCZPnlzkePPmzSM4OJgvvviCRYsWsXjxYueXLXAMc69YsYKX\nX36Z559/vsQvNIVr27lzJ927d2fVqlXceOONLFy4sOwGLaSgbU+cOMGsWbN45513WLNmDS1atODl\nl1927rd+/Xr+9a9/sWbNGi688ELeffddAH755ZcSh9+7detGVFQUNpuNadOmMXv2bL744gv69+/P\n3LlzXdb+5ptvYrVaWbt2LW+99RazZs0iKSmJ119/nX379vH555/z+eefs2bNGr777jvn8Y4fP87q\n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\nscceY8iQIZjNZu644w46d+5c4ucvrT1c/Z5U9DXDhg3j888/Z9CgQTRv3pz777+f8ePH8/TTT5d5\nPX+jRo1YvHgxTz/9NAMGDMDX15fw8HDmz59P9+7dyc3NZfHixcTGxhIVFcW0adPYvn079913X5kj\nK2PGjOGJJ56gX79++Pv7M2XKFKKiorj55ps5fPgwV1xxBQCdO3d2zhNx1SZHjx5l6NCh2O12MjMz\n6d27N4sWLXKeBhk3bhxXX301jRs35q677iI2NpY77riDzz//nMGDBzNy5EhmzZrFhAkTuPvuuwkN\nDeWGG27ghhtu4OGHH+aDDz6gRYsWZdYgnsVk6ISLSBFz587FbrczZcqUmi5FRKRSNCwv9d4333zD\nddddR25uLpmZmXz33Xd069atpssSEak0DctLvde3b1/n5Utms5l+/foxePDgmi5LRKTSNCwvIiJS\nx2hYXkREpI7xqGF5q9VGaqou23Cn0NAAtXE1UDu7n9rY/dTG1SM8PND1TmfwqJ67xWKu6RLqPLVx\n9VA7u5/a2P3UxrWXR4W7iIiIuKZwFxERqWMU7iIiInWMwl1ERKSOUbiLiIjUMQp3ERGROkbhLiIi\nUsco3EVEROoYt4f7n3/+yYABA1i0aFGx53766SeGDx/OyJEjefnll91dioiISL3g1nDPyspi1qxZ\n9OrVq8TnZ8+ezUsvvcTixYv58ccf2bt3rzvLERERqRfcGu6+vr688cYbREREFHsuISGBkJAQIiMj\nMZlM9OnTh40bN7qzHBERkXrBrTeO8fLywsfHp8TnkpOTCQsLc26HhYWRkJDgznJEROoMwzAwAAyw\n59+52zAgMzuPnFwb+U859y3+eorsU/jBoo8V36/geOm5dlJTM4sc7++XGYX2L6n+4vuV9F6UsF+x\n9yrj82XlWEnPysPb7JlTzLwtXgypxI1jas1d4XRbeZH6zWqzk5tnI89mYLXaScvIISvXit0OdruB\n3TCw2w1s+T/HH0/H39cCRvEQMwwICPAh83TO3yFi5AdEwf7524X/9JS6T8HPhsHuhDTCQ/wd++YH\nrGEYf2/nv7bwc44AdhzEbjiOdfB4OgG+jj/BBkCTnRghR89ItjOVEL5S5w259PkKv6bGwj0iIoKk\npCTn9vHjx0scvj9TZW59JxVT39r4vV+XsTFha43WYLUbUKgnVvDH22qzY8r/2fkHPf95u92O3aD4\n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\n8sUXX3DixAmGDh3K559/Xh21VUrhmfIFDMPgUFKmhuRFRKRecBnu1113HUOHDmXy5Ml06dLF1e41\nrqSZ8lab49K99NN5NVKTiIhIdSo13BMTE4mIiOC///2vc9GahIQE5/MtWrRwf3WVdOZM+VyrY9nZ\nmDZhNVWSiIhItSk13J9++mnmzZvHrbfeislkKrJwjclkYu3atdVSYEWUNCQP8NmPBwDHeXcREZG6\nrtRwnzdvHgCvv/467dq1K/Lctm3b3FtVJZU0JA/w16E0AC7t2rTaaxIREalupU4fP3XqFPHx8Uyb\nNo2EhATn/+3bt48pU6ZUZ43lUtKSswX2H00H4MJOETVRmoiISLUqtee+bds23n33Xf744w/+/e9/\nOx/38vLikksuqZbiKqK0XvupzL8X3jF76VI4ERGp+0oN9z59+tCnTx8WL17MjTfeWJ01VVpJvfbk\nk9kANAryrYmSREREql2p4b5s2TKuu+46jh8/zosvvljs+QkTJri1sKry654kAPr1aF7DlYiIiFSP\nUsPdK38I2xPu3V6Wn3cmAhCtW72KiEg9UWpyX3PNNQDcc889ZGRk0LBhQ5KTkzlw4AA9evSotgLP\nxolT2SSm5d/qtZnuBiciIvWDyxlmM2fOZPXq1aSlpTFy5Ejef/99HnvssWoo7ez9mX8JXNd2jTSZ\nTkRE6g2Xibdz506GDx/O6tWrueaaa3jhhRc4ePBgddR21grW3TmnuYbkRUSk/nAZ7gUr061bt47+\n/fsDeMx93a1Wx4p0IQ01U15EROoPl+Hepk0bhg4dSmZmJueeey4ff/wxwcGe0RM+cMyxeI2Xl6mG\nKxEREak+LqfCz5o1iz///NO5BG10dDRz5851e2FVwd/X8fEa+Hn2jH8REZGKcJl62dnZfPPNN7z4\n4ouYTCa6detGdHR0ddR21vLyh+WDG2hYXkRE6g+Xw/KPPPIIGRkZjBw5khEjRpCcnMzDDz9cHbWd\nta82O25Ra7FopryIiNQfLnvuycnJPPfcc87tfv36MWrUKLcWVdWahAXUdAkiIiLVxmWXNisri6ys\nLOf26dOnycnJcWtRVSE13VGjr7dZE+pERKRecdlzv+GGGxgyZAidO3cGIC4uziPWld+827HsbNum\nWplORETqF5fhfv3113PxxRcTFxeHyWTikUceITIysjpqOyt/xjtWp+sVE1XDlYiIiFSvMsP9u+++\n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\nMeN4663XCA4OoW3bdixbthSTyUR8/AH69YtlzJhxzh7ct99+TUZGOvHxBzl69Aj33fcAF13Ui/ff\nf4e1a7+kadNmWK1WbrxxFN269Si1pqCgIBo1akxKSjKbNm3gssv6OYMd4I477uamm65j3Lg7WbZs\nKbfcchsBAQ0ACA0N5c03/0uDBg2LHPOvv3Yzb97TeHl50blzV8aPv89Zd5s2bVm2bCknT6bRvXtP\nZ3v06HE+AGPGjAPgvvvu5P77HyQhIYElS97HYrHQsWMn7r676Bel7dt/JSysEeHhEYwfP47Zs58h\nNDSUm2++nttvH0+fPv155pknGThwCGlpacWOtXr1Svbt28vdd0/ghReeIS5uB61btyU+/iCPPz4H\ngH379jBp0v9x+HAC9933AGlpqcTF/c5DD03ghRde5tNPV/DVV19gNpsZMmQQV1xxHUlJiTzyyBR8\nfHxo167k0Lbb7axb9w2PPz6HWbMe5Y477q7gb5RDp04xJCTEc/r0aTZu/ImlSz9xPtely3nExHTh\nhx++w8/Pn9atWzuDHWD8+PucozIFVq78hDVrVmEymTAMA5PJxJgx45z/RgDbtm1l0qTpAFx88WUs\nWfJ+kXA/dCieTp1iAGjWrDnHjx/DMEq/d+m11w7nww8/4JFHZlaqDcrDo8L9vV+XgU8W5Phh0XXu\nIsUs/WYPv+xKrNJjXtAxghH9o13vWIL9+/eyePFyLBYL27ZtYeHCNzGZTAwffhUjRtwE/N3L27Vr\nJx98sAybzcbw4Vc6g69AUlISzz47n02bNvDJJ8s599wYli//kP/972MyMtIZOfIabrxxVJn1xMcf\nIDU1lfDwCOLjDxAT06XI835+foSGhpGcnER8/AHOOad9kefPDHZw9AYnTZpO27btmD37MY4dO1Zs\nn4LPWNAeJ06kMH36JMaMGcepU6dITT1BkybNmDXrMV577R0sFgszZkzl99+307lzV+dxtm7dTLdu\n3QHo3r0ncXE7iInpQuPG4fz++w769OnPn3/uzv+CcWexYzlqcQT4jh3befPN99i3bw9jx/7L+R4n\nT55k7tzn+fnnjXz88TKefPIZ3njjFebNm09SUiLr1q1l4cI3Abj33tu44IJL+Oij/xEbO5Drrx/J\nokXvsnfvX8XaYPPmn2ndug3nndeNkJBg4uJ+Jyamc5n/XvD3qVgAq9XK99+v55prruPw4UO0atWm\n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\ncRdCCCFMzP8DursSJwpFgP8AAAAASUVORK5CYII=\n", - "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -526,46 +586,67 @@ "source": [ "# Plot ROC\n", "plt.figure()\n", - "plt.plot(fpr, tpr, label='Training ROC curve (weighted AUROC = {0:0.2f})'.format(train_error))\n", - "plt.plot(fpr_hold, tpr_hold, label='Holdout ROC curve (weighted AUROC = {0:0.2f})'.format(holdout_error))\n", + "for label, metrics in ('Training', metrics_train), ('Testing', metrics_test):\n", + " roc_df = metrics['roc_df']\n", + " plt.plot(roc_df.fpr, roc_df.tpr,\n", + " label='{} (AUROC = {:.1%})'.format(label, metrics['auroc']))\n", "plt.xlim([0.0, 1.0])\n", "plt.ylim([0.0, 1.05])\n", "plt.xlabel('False Positive Rate')\n", "plt.ylabel('True Positive Rate')\n", - "plt.title('Predicting TP53 Mutation in PanCancer Data')\n", - "plt.legend(loc='lower right')" + "plt.title('Predicting TP53 mutation from gene expression (ROC curves)')\n", + "plt.legend(loc='lower right');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "It looks like the holdout set actually performed BETTER by chance" + "## What are the classifier coefficients?" ] }, { - "cell_type": "markdown", - "metadata": {}, + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ - "# What is the classifier?" + "coef_df = pd.DataFrame(best_clf.coef_.transpose(), index=X.columns, columns=['weight'])\n", + "coef_df['abs'] = coef_df['weight'].abs()\n", + "coef_df = coef_df.sort_values('abs', ascending=False)" ] }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 25, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "'96.3% zero coefficients; 270 negative and 482 positive coefficients'" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "classifier = pd.DataFrame(clf.coef_.T, index=X_matrix.columns, columns=['weight'])\n", - "classifier['abs'] = classifier['weight'].abs()\n", - "classifier = classifier.sort_values('abs', ascending=False)" + "'{:.1%} zero coefficients; {:,} negative and {:,} positive coefficients'.format(\n", + " (coef_df.weight == 0).mean(),\n", + " (coef_df.weight < 0).sum(),\n", + " (coef_df.weight > 0).sum()\n", + ")" ] }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 26, "metadata": { "collapsed": false }, @@ -584,80 +665,80 @@ " \n", " \n", " \n", - " EDA2R\n", - " -1.599357\n", - " 1.599357\n", + " MDM2\n", + " -0.187769\n", + " 0.187769\n", " \n", " \n", - " SPATA18\n", - " -1.160264\n", - " 1.160264\n", + " EDA2R\n", + " -0.144938\n", + " 0.144938\n", " \n", " \n", - " C6orf138\n", - " -1.120526\n", - " 1.120526\n", + " PHLDA3\n", + " -0.130180\n", + " 0.130180\n", " \n", " \n", - " GDF15\n", - " -0.687113\n", - " 0.687113\n", + " AEN\n", + " -0.127819\n", + " 0.127819\n", " \n", " \n", - " CDKN2A\n", - " 0.647423\n", - " 0.647423\n", + " RPS27L\n", + " -0.116172\n", + " 0.116172\n", " \n", " \n", - " TNFRSF10C\n", - " -0.612451\n", - " 0.612451\n", + " DDB2\n", + " -0.114379\n", + " 0.114379\n", " \n", " \n", - " HSPA4L\n", - " -0.423845\n", - " 0.423845\n", + " SPATA18\n", + " -0.100797\n", + " 0.100797\n", " \n", " \n", - " PANX2\n", - " 0.414740\n", - " 0.414740\n", + " POLH\n", + " -0.097972\n", + " 0.097972\n", " \n", " \n", - " GPR172B\n", - " -0.401407\n", - " 0.401407\n", + " CDKN1A\n", + " -0.094824\n", + " 0.094824\n", " \n", " \n", - " HES2\n", - " -0.400926\n", - " 0.400926\n", + " CDKN2A\n", + " 0.087242\n", + " 0.087242\n", " \n", " \n", "\n", "" ], "text/plain": [ - " weight abs\n", - "EDA2R -1.599357 1.599357\n", - "SPATA18 -1.160264 1.160264\n", - "C6orf138 -1.120526 1.120526\n", - "GDF15 -0.687113 0.687113\n", - "CDKN2A 0.647423 0.647423\n", - "TNFRSF10C -0.612451 0.612451\n", - "HSPA4L -0.423845 0.423845\n", - "PANX2 0.414740 0.414740\n", - "GPR172B -0.401407 0.401407\n", - "HES2 -0.400926 0.400926" + " weight abs\n", + "MDM2 -0.187769 0.187769\n", + "EDA2R -0.144938 0.144938\n", + "PHLDA3 -0.130180 0.130180\n", + "AEN -0.127819 0.127819\n", + "RPS27L -0.116172 0.116172\n", + "DDB2 -0.114379 0.114379\n", + "SPATA18 -0.100797 0.100797\n", + "POLH -0.097972 0.097972\n", + "CDKN1A -0.094824 0.094824\n", + "CDKN2A 0.087242 0.087242" ] }, - "execution_count": 25, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "classifier.head(10)" + "coef_df.head(10)" ] }, { @@ -671,6 +752,245 @@ "3. C6orf138 (or [PTCHD4](http://www.genecards.org/cgi-bin/carddisp.pl?gene=PTCHD4)) is also a transcriptional target for TP53 and was only recently discovered in [2014 to repress hedgehog signalling](http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4239647/).\n", "4. The list goes on and includes several other TP53 targets..." ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Investigate the predictions" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "predict_df = pd.DataFrame.from_items([\n", + " ('sample_id', X.index),\n", + " ('testing', X.index.isin(X_test.index).astype(int)),\n", + " ('status', y),\n", + " ('decision_function', best_clf.decision_function(X)),\n", + " ('probability', best_clf.predict_proba(X)[:, 1]),\n", + "])\n", + "predict_df['probability_str'] = predict_df['probability'].apply('{:.1%}'.format)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
sample_idtestingstatusdecision_functionprobabilityprobability_str
sample_id
TCGA-L5-A8NR-01TCGA-L5-A8NR-01009.0223580.999879100.0%
TCGA-E2-A1LI-01TCGA-E2-A1LI-01108.2912290.999749100.0%
TCGA-L5-A4OH-01TCGA-L5-A4OH-01008.2780390.999746100.0%
TCGA-CQ-A4CI-01TCGA-CQ-A4CI-01008.2475780.999738100.0%
TCGA-18-3412-01TCGA-18-3412-01107.9827750.999659100.0%
TCGA-CD-8527-01TCGA-CD-8527-01007.8396960.999606100.0%
TCGA-EI-6513-01TCGA-EI-6513-01007.7233170.999558100.0%
TCGA-13-1506-01TCGA-13-1506-01007.6524250.999525100.0%
TCGA-20-1684-01TCGA-20-1684-01007.6080530.999504100.0%
TCGA-E2-A574-01TCGA-E2-A574-01007.6067330.999503100.0%
\n", + "
" + ], + "text/plain": [ + " sample_id testing status decision_function \\\n", + "sample_id \n", + "TCGA-L5-A8NR-01 TCGA-L5-A8NR-01 0 0 9.022358 \n", + "TCGA-E2-A1LI-01 TCGA-E2-A1LI-01 1 0 8.291229 \n", + "TCGA-L5-A4OH-01 TCGA-L5-A4OH-01 0 0 8.278039 \n", + "TCGA-CQ-A4CI-01 TCGA-CQ-A4CI-01 0 0 8.247578 \n", + "TCGA-18-3412-01 TCGA-18-3412-01 1 0 7.982775 \n", + "TCGA-CD-8527-01 TCGA-CD-8527-01 0 0 7.839696 \n", + "TCGA-EI-6513-01 TCGA-EI-6513-01 0 0 7.723317 \n", + "TCGA-13-1506-01 TCGA-13-1506-01 0 0 7.652425 \n", + "TCGA-20-1684-01 TCGA-20-1684-01 0 0 7.608053 \n", + "TCGA-E2-A574-01 TCGA-E2-A574-01 0 0 7.606733 \n", + "\n", + " probability probability_str \n", + "sample_id \n", + "TCGA-L5-A8NR-01 0.999879 100.0% \n", + "TCGA-E2-A1LI-01 0.999749 100.0% \n", + "TCGA-L5-A4OH-01 0.999746 100.0% \n", + "TCGA-CQ-A4CI-01 0.999738 100.0% \n", + "TCGA-18-3412-01 0.999659 100.0% \n", + "TCGA-CD-8527-01 0.999606 100.0% \n", + "TCGA-EI-6513-01 0.999558 100.0% \n", + "TCGA-13-1506-01 0.999525 100.0% \n", + "TCGA-20-1684-01 0.999504 100.0% \n", + "TCGA-E2-A574-01 0.999503 100.0% " + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Top predictions amongst negatives (potential hidden responders)\n", + "predict_df.sort_values('decision_function', ascending=False).query(\"status == 0\").head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nQ6YAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Ignore numpy warning caused by seaborn\n", + "warnings.filterwarnings('ignore', 'using a non-integer number instead of an integer')\n", + "\n", + "ax = sns.distplot(predict_df.query(\"status == 0\").decision_function, hist=False, label='Negatives')\n", + "ax = sns.distplot(predict_df.query(\"status == 1\").decision_function, hist=False, label='Positives')" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ax = sns.distplot(predict_df.query(\"status == 0\").probability, hist=False, label='Negatives')\n", + "ax = sns.distplot(predict_df.query(\"status == 1\").probability, hist=False, label='Positives')" + ] } ], "metadata": { @@ -689,7 +1009,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.1" + "version": "3.5.2" } }, "nbformat": 4, diff --git a/scripts/1.TCGA-MLexample.py b/scripts/1.TCGA-MLexample.py index 12daaeb..35d840a 100644 --- a/scripts/1.TCGA-MLexample.py +++ b/scripts/1.TCGA-MLexample.py @@ -1,247 +1,250 @@ # coding: utf-8 -# In[1]: - -get_ipython().magic('matplotlib inline') +# # Create a logistic regression model to predict TP53 mutation from gene expression data in TCGA - -# In[2]: +# In[1]: import os import urllib -import pandas as pd import random -from statsmodels.robust import scale -from sklearn import preprocessing -from sklearn.linear_model import SGDClassifier -from sklearn.cross_validation import StratifiedKFold, train_test_split -from sklearn.metrics import roc_auc_score, roc_curve +import warnings + +import pandas as pd import matplotlib.pyplot as plt import seaborn as sns +from sklearn import preprocessing, grid_search +from sklearn.linear_model import SGDClassifier +from sklearn.cross_validation import train_test_split +from sklearn.metrics import roc_auc_score, roc_curve -# In[3]: +# In[2]: -random.seed(123) +get_ipython().magic('matplotlib inline') +plt.style.use('seaborn-notebook') -# In[4]: +# ## Specify model configuration -# We're going to be building a 'TP53' logistic regression classifier with -# an elastic net penalty +# In[3]: + +# We're going to be building a 'TP53' classifier GENE = 'TP53' -CLASSIFIER = 'log' -PENALTY = 'elasticnet' -# In[5]: +# In[4]: # Parameter Sweep for Hyperparameters -alpha_params = [0.05, 0.1, 0.2, 0.3] -l1_params = [0.05, 0.1, 0.2, 0.3] +param_grid = { + 'loss': ['log'], + 'penalty': ['elasticnet'], + 'alpha': [10 ** x for x in range(-6, 1)], + 'l1_ratio': [0, 0.05, 0.1, 0.2, 0.5, 0.8, 0.9, 0.95, 1], +} # *Here is some [documentation](http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.SGDClassifier.html) regarding the classifier and hyperparameters* # # *Here is some [information](https://ghr.nlm.nih.gov/gene/TP53) about TP53* -# # Load Data +# ## Load Data -# In[6]: +# In[5]: if not os.path.exists('data'): os.makedirs('data') +# In[6]: + +url_to_path = { + # X matrix + 'https://ndownloader.figshare.com/files/5514386': + os.path.join('data', 'expression.tsv.bz2'), + # Y Matrix + 'https://ndownloader.figshare.com/files/5514389': + os.path.join('data', 'mutation-matrix.tsv.bz2'), +} + +for url, path in url_to_path.items(): + if not os.path.exists(path): + urllib.request.urlretrieve(url, path) + + # In[7]: -# Download X Matrix -url = 'https://ndownloader.figshare.com/files/5514386' -if not os.path.exists('data/expression.tsv.bz2'): - urllib.request.urlretrieve(url, os.path.join('data', 'expression.tsv.bz2')) +get_ipython().run_cell_magic('time', '', "path = os.path.join('data', 'expression.tsv.bz2')\nX = pd.read_table(path, index_col=0)") # In[8]: -X = pd.read_table(os.path.join('data', 'expression.tsv.bz2'), index_col=0) +get_ipython().run_cell_magic('time', '', "path = os.path.join('data', 'mutation-matrix.tsv.bz2')\nY = pd.read_table(path, index_col=0)") +# ## Process Mutation Matrix + # In[9]: -# Download Y Matrix -url = "https://ndownloader.figshare.com/files/5514389" -if not os.path.exists('data/mutation-matrix.tsv.bz2'): - urllib.request.urlretrieve(url, os.path.join('data', 'mutation-matrix.tsv.bz2')) +y = Y[GENE] # In[10]: -Y = pd.read_table(os.path.join('data', 'mutation-matrix.tsv.bz2'), index_col=0) - +# The Series now holds TP53 Mutation Status for each Sample +y.head(6) -# # Process Mutation Matrix # In[11]: -y = Y[GENE] +# Here are the percentage of tumors with NF1 +y.value_counts(True) + +# ## Set aside 10% of the data for testing # In[12]: -# The Series now holds TP53 Mutation Status for each Sample -y.head(6) +# Typically, this can only be done where the number of mutations is large enough +X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1, random_state=0) +'Size: {:,} features, {:,} training samples, {:,} testing samples'.format(len(X.index), len(X_train), len(X_test)) + +# ## Feature transformation: Standardization # In[13]: -# Here are the percentage of tumors with NF1 -y.value_counts(True) +def scale_df(df): + """Standardize colummns by scaling to z-scores""" + scaled_matrix = preprocessing.scale(df) + return pd.DataFrame(scaled_matrix, index=df.index, columns=df.columns) +# Standardize X separately for the holdout dataset +X_train, X_test = scale_df(X_train), scale_df(X_test) -# # Process X Matrix + +# ## Cross validation model fitting # In[14]: -# Subset X matrix to only 5,000 highest MAD (median absolute deviation) genes -all_mad_genes = scale.mad(X, c=1, axis=0) -all_mad_genes = pd.Series(all_mad_genes, - index=X.columns.values) -all_mad_genes = all_mad_genes.sort_values(ascending=False) +# joblib is used to cross-validate in parallel by setting `n_jobs=-1` in GridSearchCV +# Supress joblib warning. See https://github.com/scikit-learn/scikit-learn/issues/6370 +warnings.filterwarnings('ignore', message='Changing the shape of non-C contiguous array') # In[15]: -X_sub = X[all_mad_genes.index[:5000]] +get_ipython().run_cell_magic('time', '', "clf = SGDClassifier(random_state=0, class_weight='balanced')\nclf_grid = grid_search.GridSearchCV(estimator=clf, param_grid=param_grid, n_jobs=-1, scoring='roc_auc')\n# Fit the model (the computationally intensive part)\nclf_grid.fit(X=X_train, y=y_train)\nbest_clf = clf_grid.best_estimator_") # In[16]: -# Normalize X matrix by Z-scoring genes -X_matrix_scale = preprocessing.scale(X_sub) -X_matrix_sub = pd.DataFrame(X_matrix_scale, index=X_sub.index, columns=X_sub.columns) - +clf_grid.best_params_ -# # Hold Out 10% of the data # In[17]: -# Typically, this can only be done where the number of mutations is large enough -X_matrix, X_holdout, Y_matrix, Y_holdout = train_test_split( - X_matrix_sub, y, test_size=0.1, random_state=123) +best_clf -# # Cross Validation to select Hyperparameters +# ## Visualize hyperparameters performance # In[18]: -# 5 fold cross validation ensuring balanced status membership -cv_accuracy = [] -skf = StratifiedKFold(Y_matrix, 5, random_state=123) -for train_idx, test_idx in skf: - X_train, X_test = X_matrix.ix[train_idx], X_matrix.ix[test_idx] - Y_train, Y_test = Y_matrix.ix[train_idx], Y_matrix.ix[test_idx] - for alpha_param in alpha_params: - for l1_param in l1_params: - - # Initialize logistic regression classifier - clf = SGDClassifier(loss=CLASSIFIER, - penalty=PENALTY, - alpha=alpha_param, - l1_ratio=l1_param, - class_weight='balanced', - random_state=123) - - # Fit the model - clf.fit(X_train, Y_train) - predict_y_train = clf.predict(X_train) - predict_y_test = clf.predict(X_test) - - # Get the train/test AUROC balanced by class - train_error = roc_auc_score(Y_train, predict_y_train, average='weighted') - test_error = roc_auc_score(Y_test, predict_y_test, average='weighted') - - # Obtain metrics for plotting - cv_accuracy.append(['train', train_error, alpha_param, l1_param]) - cv_accuracy.append(['test', test_error, alpha_param, l1_param]) - - -# # Plot Performance to Select Hyperparameters +def grid_scores_to_df(grid_scores): + """ + Convert a sklearn.grid_search.GridSearchCV.grid_scores_ attribute to + a tidy pandas DataFrame where each row is a hyperparameter-fold combinatination. + """ + rows = list() + for grid_score in grid_scores: + for fold, score in enumerate(grid_score.cv_validation_scores): + row = grid_score.parameters.copy() + row['fold'] = fold + row['score'] = score + rows.append(row) + df = pd.DataFrame(rows) + return df + # In[19]: -plot_ready = pd.DataFrame(cv_accuracy, columns=['type', 'AUROC', 'alpha', 'l1']) +cv_score_df = grid_scores_to_df(clf_grid.grid_scores_) +cv_score_df.head(2) # In[20]: -plot_ready.head(5) +# Cross-validated performance distribution +facet_grid = sns.factorplot(x='l1_ratio', y='score', col='alpha', + data=cv_score_df, kind='violin', size=4, aspect=1) +facet_grid.set_ylabels('AUROC'); # In[21]: -sns.factorplot(x="type", y="AUROC", hue="alpha", - col="l1", data=plot_ready, kind="box", size=4, aspect=0.6); +# Cross-validated performance heatmap +cv_score_mat = pd.pivot_table(cv_score_df, values='score', index='l1_ratio', columns='alpha') +ax = sns.heatmap(cv_score_mat, annot=True, fmt='.1%') +ax.set_xlabel('Regularization strength multiplier (alpha)') +ax.set_ylabel('Elastic net mixing parameter (l1_ratio)'); -# # Use Optimal Hyperparameters to Output ROC Curve +# ## Use Optimal Hyperparameters to Output ROC Curve # In[22]: -# Select optimal hyperparameters based on performance in test-set -optimal_alpha = 0.05 -optimal_l1 = 0.1 +y_pred_train = best_clf.decision_function(X_train) +y_pred_test = best_clf.decision_function(X_test) -# Initialize optimal classifier -clf = SGDClassifier(loss=CLASSIFIER, - penalty=PENALTY, - alpha=optimal_alpha, - l1_ratio=optimal_l1, - class_weight='balanced', - random_state=1234) +def get_threshold_metrics(y_true, y_pred): + roc_columns = ['fpr', 'tpr', 'threshold'] + roc_items = zip(roc_columns, roc_curve(y_true, y_pred)) + roc_df = pd.DataFrame.from_items(roc_items) + auroc = roc_auc_score(y_true, y_pred) + return {'auroc': auroc, 'roc_df': roc_df} -# Fit the classifier using the training data and predict the hold out set -clf.fit(X_sub, y) -y_score = clf.decision_function(X_sub) -y_score_hold = clf.decision_function(X_holdout) - -# Get True/False Positive Rates -fpr, tpr, _ = roc_curve(y, y_score) -fpr_hold, tpr_hold, _ = roc_curve(Y_holdout, y_score_hold) - -# Get AUROC -train_error = roc_auc_score(y, y_score, average='weighted') -holdout_error = roc_auc_score(Y_holdout, y_score_hold, average='weighted') +metrics_train = get_threshold_metrics(y_train, y_pred_train) +metrics_test = get_threshold_metrics(y_test, y_pred_test) # In[23]: # Plot ROC plt.figure() -plt.plot(fpr, tpr, label='Training ROC curve (weighted AUROC = {0:0.2f})'.format(train_error)) -plt.plot(fpr_hold, tpr_hold, label='Holdout ROC curve (weighted AUROC = {0:0.2f})'.format(holdout_error)) +for label, metrics in ('Training', metrics_train), ('Testing', metrics_test): + roc_df = metrics['roc_df'] + plt.plot(roc_df.fpr, roc_df.tpr, + label='{} (AUROC = {:.1%})'.format(label, metrics['auroc'])) plt.xlim([0.0, 1.0]) plt.ylim([0.0, 1.05]) plt.xlabel('False Positive Rate') plt.ylabel('True Positive Rate') -plt.title('Predicting TP53 Mutation in PanCancer Data') -plt.legend(loc='lower right') +plt.title('Predicting TP53 mutation from gene expression (ROC curves)') +plt.legend(loc='lower right'); -# It looks like the holdout set actually performed BETTER by chance - -# # What is the classifier? +# ## What are the classifier coefficients? # In[24]: -classifier = pd.DataFrame(clf.coef_.T, index=X_matrix.columns, columns=['weight']) -classifier['abs'] = classifier['weight'].abs() -classifier = classifier.sort_values('abs', ascending=False) +coef_df = pd.DataFrame(best_clf.coef_.transpose(), index=X.columns, columns=['weight']) +coef_df['abs'] = coef_df['weight'].abs() +coef_df = coef_df.sort_values('abs', ascending=False) # In[25]: -classifier.head(10) +'{:.1%} zero coefficients; {:,} negative and {:,} positive coefficients'.format( + (coef_df.weight == 0).mean(), + (coef_df.weight < 0).sum(), + (coef_df.weight > 0).sum() +) + + +# In[26]: + +coef_df.head(10) # The results are not surprising. TP53 is a transcription modulator and when it mutated in a tumor, the cell goes haywire. This makes finding a transcriptional signature fairly easy. Also, the genes that the classifier uses is interesting, but not necessarily novel. @@ -250,3 +253,38 @@ # 2. SPATA18 is a gene associated with spermatogenesis and is a transcription factor for TP53. It's association with TP53 was [recently discovered](http://www.ncbi.nlm.nih.gov/pubmed/21300779) in 2011. # 3. C6orf138 (or [PTCHD4](http://www.genecards.org/cgi-bin/carddisp.pl?gene=PTCHD4)) is also a transcriptional target for TP53 and was only recently discovered in [2014 to repress hedgehog signalling](http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4239647/). # 4. The list goes on and includes several other TP53 targets... + +# ## Investigate the predictions + +# In[27]: + +predict_df = pd.DataFrame.from_items([ + ('sample_id', X.index), + ('testing', X.index.isin(X_test.index).astype(int)), + ('status', y), + ('decision_function', best_clf.decision_function(X)), + ('probability', best_clf.predict_proba(X)[:, 1]), +]) +predict_df['probability_str'] = predict_df['probability'].apply('{:.1%}'.format) + + +# In[28]: + +# Top predictions amongst negatives (potential hidden responders) +predict_df.sort_values('decision_function', ascending=False).query("status == 0").head(10) + + +# In[29]: + +# Ignore numpy warning caused by seaborn +warnings.filterwarnings('ignore', 'using a non-integer number instead of an integer') + +ax = sns.distplot(predict_df.query("status == 0").decision_function, hist=False, label='Negatives') +ax = sns.distplot(predict_df.query("status == 1").decision_function, hist=False, label='Positives') + + +# In[30]: + +ax = sns.distplot(predict_df.query("status == 0").probability, hist=False, label='Negatives') +ax = sns.distplot(predict_df.query("status == 1").probability, hist=False, label='Positives') +