From 84931a72b086ce50cea6e86a7267ea907b2a50f5 Mon Sep 17 00:00:00 2001 From: Ryan Velazquez Date: Mon, 28 Aug 2017 22:09:44 -0400 Subject: [PATCH 1/3] Add explore-number-of-pca-components notebook --- .../number_of_pca_components.ipynb | 2581 +++++++++++++++++ .../number_of_pca_components.py | 394 +++ 2 files changed, 2975 insertions(+) create mode 100644 explore/number-of-components/number_of_pca_components.ipynb create mode 100644 explore/number-of-components/number_of_pca_components.py diff --git a/explore/number-of-components/number_of_pca_components.ipynb b/explore/number-of-components/number_of_pca_components.ipynb new file mode 100644 index 0000000..1590d24 --- /dev/null +++ b/explore/number-of-components/number_of_pca_components.ipynb @@ -0,0 +1,2581 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Explore how many PCA Components to Keep and Hyperparameter Tuning" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "__Purpose__\n", + "\n", + "As described in issue #106 (https://github.com/cognoma/machine-learning/issues/106), searching over a large range of n_components (number of PCA components) causes issues with both speed and memory and may also cause issues with overfitting. This notebook is an attempt to explore the relationship between the number of components returned by PCA, the other hyperparameters and classifier performance (AUROC). Ideally, we will be able to automatically select a range of n_components to search across based on the specifics of the query. The assumption is that for the lower number of positive samples (and/or the less total samples)... the less n-components to include (i.e. a query with only 40 positive samples would use a classifer that does GridSearchCV with n_components = [30, 40, 50] whereas a query with 1,000 positive samples would use a classifier that does GridSearchCV with n_components = [100, 200, 300] _just random numbers for purpose of illustration_). This notebook attempts to provide some basis for selecting the range of n_components.\n", + "\n", + "\n", + "__Assumptions/Notes:__\n", + "\n", + "This notebook differs from the current classifier in a number of ways including:\n", + "1. In this notebook, PCA is performed on the entire training set prior to cross-validation rather than performed on each individual cross-validation split. This is done for simplicity and to save time and memory.\n", + "2. In this notebook, the covariates data is not used (for now at least).\n", + "\n", + "\n", + "__To Do:__\n", + "\n", + "1. Evaluate queries that only use a subset of diseases or a single disease.\n", + "2. Try to include the covariates data and see how that affects things.\n", + "3. Some additional evaluation and... select a final setup." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Outline:\n", + "1. Imports, constants and load the data\n", + "2. Test Train split and perform PCA\n", + "3. Build the querry set\n", + "4. Evaluate queries with all samples (i.e. all diseases) and varying number of positives\n", + " - a. Define some helper functions\n", + " - b. See how the parameters are related using the current setup\n", + " - c. Evaluate how changing some of the parameters effects performance\n", + "5. TO DO: Evaluate queries that only use a subset of diseases or a single disease\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. Imports, constants and load the data" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import os\n", + "import time\n", + "\n", + "from sklearn.decomposition import PCA\n", + "from sklearn.linear_model import SGDClassifier\n", + "from sklearn.metrics import roc_auc_score, roc_curve\n", + "from sklearn.model_selection import train_test_split, StratifiedKFold\n", + "from dask_searchcv import GridSearchCV\n", + "from sklearn.pipeline import Pipeline, FeatureUnion\n", + "from sklearn.preprocessing import StandardScaler, FunctionTransformer\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import pandas as pd\n", + "import seaborn as sns\n", + "from sklearn.feature_selection import SelectKBest\n", + "from IPython.display import display" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "RANDOMSEED = 0" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Wall time: 5.19 s\n" + ] + } + ], + "source": [ + "%%time\n", + "# Load the data\n", + "try: \n", + " path = os.path.join('download', 'expression-matrix.pkl')\n", + " X = pd.read_pickle(path)\n", + "except:\n", + " path = os.path.join('download', 'expression-matrix.tsv.bz2')\n", + " X = pd.read_table(path, index_col=0)\n", + "\n", + "try:\n", + " path = os.path.join('download', 'mutation-matrix.pkl')\n", + " y = pd.read_pickle(path)\n", + "except:\n", + " path = os.path.join('download', 'mutation-matrix.tsv.bz2')\n", + " y = pd.read_table(path, index_col=0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Test Train split and perform PCA" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# Test Train split\n", + "X_train, X_test, y_train_allgenes, y_test_allgenes = train_test_split(X, y, test_size=0.2, random_state=RANDOMSEED)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Wall time: 55.5 s\n" + ] + } + ], + "source": [ + "%%time\n", + "scaler = StandardScaler()\n", + "pca = PCA(n_components = 1000, random_state = RANDOMSEED)\n", + "scaler.fit(X_train)\n", + "X_train_scaled = scaler.transform(X_train)\n", + "pca.fit(X_train_scaled)\n", + "X_train = pca.transform(X_train_scaled)\n", + "\n", + "X_test_scaled = scaler.transform(X_test)\n", + "X_test = pca.transform(X_test_scaled)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Build the query set" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# List of genes to iterate over (from brankaj's notebook: \n", + "# https://github.com/cognoma/machine-learning/blob/master/explore/Classifier_results-different_genes.ipynb)\n", + "genes_LungCancer = {\n", + " '207': 'AKT1', \n", + " '238': 'ALK', \n", + " '673': 'BRAF', \n", + " '4921':'DDR2',\n", + " '1956':'EGFR',\n", + " '2064':'ERBB2',\n", + " '3845':'KRAS',\n", + " '5604':'MAP2K1',\n", + " '4893':'NRAS',\n", + " '5290':'PIK3CA',\n", + " '5728':'PTEN',\n", + " '5979':'RET',\n", + " # '6016':'RIT1', (removed because too few positives)\n", + " '6098':'ROS1',\n", + "}\n", + "\n", + "genes_TumorSuppressors = {\n", + " '324': 'APC', \n", + " '672': 'BRCA1', \n", + " '675': 'BRCA2',\n", + " '1029':'CDKN2A',\n", + " '1630':'DCC',\n", + " '4089':'SMAD4',\n", + " '4087':'SMAD2',\n", + " '4221':'MEN1',\n", + " '4763':'NF1',\n", + " '4771':'NF2',\n", + " '7157':'TP53', \n", + " '5728':'PTEN', \n", + " '5925':'RB1',\n", + " '7428':'VHL',\n", + " '7486':'WRN',\n", + " '7490':'WT1',\n", + "}\n", + "\n", + "genes_Oncogenes = {\n", + " #'5155':'PDGFB', #growth factor (removed because too few positives)\n", + " '5159':'PDGFRB', #growth factor \n", + " '3791':'KDR', #receptor tyrosine kinases\n", + " '25':'ABL1', #Cytoplasmic tyrosine kinases\n", + " '6714':'SRC', #Cytoplasmic tyrosine kinases\n", + " '5894':'RAF1',#cytoplasmic serine kinases\n", + " '3265':'HRAS',#regulatory GTPases\n", + " '4609':'MYC',#Transcription factors\n", + " #'2353':'FOS',#Transcription factors (removed because too few positives)\n", + " \n", + "}\n", + "\n", + "list_of_genes = (list(genes_LungCancer.keys()) + list(genes_TumorSuppressors.keys()) + \n", + " list(genes_Oncogenes.keys()))" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "list_of_genes_positives = []\n", + "for gene in list_of_genes:\n", + " y_temp = y_train_allgenes[gene]\n", + " list_of_genes_positives.append(y_temp.value_counts(True)[1]*len(y_train_allgenes))\n", + "list_of_genes = [gene for _,gene in sorted(zip(list_of_genes_positives, list_of_genes))]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4. Evaluate queries with all samples (i.e. all diseases) and varying number of positives" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.a. Define some helper functions" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def variance_scorer(x, y):\n", + " \"\"\" \n", + " Get the variance for each column of X.\n", + " \n", + " Because principal components have decreasing variance\n", + " (i.e. PC4 has less variance than PC3 which has less variance\n", + " than PC2 etc.), we can use this function in SelectKBest to select\n", + " only the top X number of principal components.\n", + " \n", + " \"\"\"\n", + " scores = [np.var(column) for column in x.T]\n", + " return scores, np.array([np.NaN]*len(scores))" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def evaluate_classifier(X_train, X_test,\n", + " y, y_train_allgenes, y_test_allgenes,\n", + " list_of_genes,\n", + " set_k_range, k_function,\n", + " alpha_range, \n", + " l1_ratio):\n", + " \n", + " ''' Run a classifier setup on a set of queries.\n", + " \n", + " Loop through each query; train and test the classifier using the\n", + " hyperparameters input as parameters; populate the metrics dictionary\n", + " with some metrics of which parameters were selected and how well\n", + " the classifier did for that query.\n", + " '''\n", + " \n", + " # A dictionary to hold the performance metrics.\n", + " metrics_dict = {}\n", + " \n", + " # Loop through each query; train and test the classifer; populate the metrics dictionary.\n", + " for gene in list_of_genes:\n", + " \n", + " # Train and test the classifier.\n", + " \n", + " y_gene = y[gene]\n", + " y_train = y_train_allgenes[gene]\n", + " y_test = y_test_allgenes[gene]\n", + " num_positives = int(y_gene.value_counts(True)[1]*len(y_gene))\n", + " if set_k_range:\n", + " k_range = set_k_range\n", + " else:\n", + " k_range = k_function(num_positives) \n", + " # Parameter Sweep for Hyperparameters\n", + " param_grid = {\n", + " 'select__k': k_range,\n", + " 'classify__loss': ['log'],\n", + " 'classify__penalty': ['elasticnet'],\n", + " 'classify__alpha': alpha_range,\n", + " 'classify__l1_ratio': l1_ratio,\n", + " }\n", + " pipeline = Pipeline(steps=[\n", + " ('select', SelectKBest(variance_scorer)),\n", + " ('classify', SGDClassifier(random_state=RANDOMSEED, class_weight='balanced'))\n", + " ])\n", + " cv_pipeline = GridSearchCV(estimator=pipeline, \n", + " param_grid=param_grid,\n", + " n_jobs=1, \n", + " scoring='roc_auc')\n", + " cv_pipeline.fit(X=X_train, y=y_train)\n", + " y_pred_train = cv_pipeline.decision_function(X_train)\n", + " y_pred_test = cv_pipeline.decision_function(X_test)\n", + " # Get ROC info.\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", + " metrics_train = get_threshold_metrics(y_train, y_pred_train)\n", + " metrics_test = get_threshold_metrics(y_test, y_pred_test)\n", + "\n", + " # Populate the metrics dictionary.\n", + "\n", + " # Get metrics for the classifier.\n", + " overfit = metrics_train['auroc'] - metrics_test['auroc']\n", + " # Understand how the parameter grid worked... any params at the edge?\n", + " if cv_pipeline.best_params_['select__k'] == min(param_grid['select__k']):\n", + " n_comp_status = 'min'\n", + " elif cv_pipeline.best_params_['select__k'] == max(param_grid['select__k']):\n", + " n_comp_status = 'max'\n", + " else:\n", + " n_comp_status = 'OK'\n", + " if cv_pipeline.best_params_['classify__alpha'] == min(param_grid['classify__alpha']):\n", + " alpha_status = 'min'\n", + " elif cv_pipeline.best_params_['classify__alpha'] == max(param_grid['classify__alpha']):\n", + " alpha_status = 'max'\n", + " else:\n", + " alpha_status = 'OK'\n", + " metrics = {'num_positive': num_positives,\n", + " 'train_auroc': metrics_train['auroc'], \n", + " 'test_auroc': metrics_test['auroc'],\n", + " 'n_components': cv_pipeline.best_params_['select__k'], \n", + " 'alpha': cv_pipeline.best_params_['classify__alpha'],\n", + " 'overfit': overfit,\n", + " 'n_comp_status': n_comp_status,\n", + " 'alpha_status': alpha_status\n", + " }\n", + " # Add the metrics to the dictonary.\n", + " metrics_dict[gene] = metrics\n", + " # Change the metrics dict into a formatted pandas dataframe.\n", + " metrics_df = pd.DataFrame(metrics_dict)\n", + " metrics_df = metrics_df.T\n", + " metrics_df.sort_values(by='num_positive', ascending=True, inplace=True)\n", + " metrics_df = metrics_df[['num_positive', 'n_components','n_comp_status', 'alpha', 'alpha_status','train_auroc', 'test_auroc', 'overfit']]\n", + " \n", + " return(metrics_df)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def display_stats(metrics_df, metrics_df_tocompare = None, verbose = True):\n", + " if verbose:\n", + " display(metrics_df)\n", + " # Summary for metrics_df \n", + " metrics_df.loc['mean'] = metrics_df.mean()\n", + " metrics_df.loc['median'] = metrics_df.median()\n", + " metrics_df_summary = metrics_df.loc[['mean', 'median']]\n", + " metrics_df_summary = metrics_df_summary[['num_positive', 'n_components', 'alpha', 'train_auroc', 'test_auroc','overfit']]\n", + " display(metrics_df_summary)\n", + " if metrics_df_tocompare is not None:\n", + " # Summary for metrics_df_tocompare\n", + " metrics_df_tocompare.loc['mean'] = metrics_df_tocompare.mean()\n", + " metrics_df_tocompare.loc['median'] = metrics_df_tocompare.median()\n", + " metrics_df_to_compare_summary = metrics_df_tocompare.loc[['mean', 'median']]\n", + " # Evaluate the improvement\n", + " mean_testing_auroc_improvement = metrics_df_summary['test_auroc']['mean'] - metrics_df_to_compare_summary['test_auroc']['mean']\n", + " median_testing_auroc_improvement = metrics_df_summary['test_auroc']['median'] - metrics_df_to_compare_summary['test_auroc']['median']\n", + " mean_overfit_reduction = metrics_df_summary['overfit']['mean'] - metrics_df_to_compare_summary['overfit']['mean']\n", + " median_overfit_reduction = metrics_df_summary['overfit']['median'] - metrics_df_to_compare_summary['overfit']['median']\n", + " print('Mean testing Auroc improved by {:.2f}%'.format(mean_testing_auroc_improvement*100))\n", + " print('Median testing Auroc improved by {:.2f}%'.format(median_testing_auroc_improvement*100))\n", + " print('Mean overfitting reduced by {:.1f}%'.format(mean_overfit_reduction*100))\n", + " print('Median overfitting reduced by {:.1f}%'.format(median_overfit_reduction*100))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.b. See how the parameters are related using the current setup" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "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", + " \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", + " \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", + " \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", + "
num_positiven_componentsn_comp_statusalphaalpha_statustrain_auroctest_aurocoverfit
67143450min0.01OK0.6895020.5641290.125373
46093750min0.01OK0.7444210.4431820.301239
2073850min0.01OK0.6280190.3958910.232128
58944250min1max0.758810.6729840.0858264
408748100max0.01OK0.7566820.7324390.0242434
560455100max0.1OK0.9071560.5084060.39875
42215750min0.01OK0.7265850.6060660.12052
74905850min0.01OK0.7298180.5650930.164725
477179100max0.01OK0.8717290.7672710.104459
2580100max0.001min0.7299040.540430.189474
492185100max1max0.6508320.4876450.163187
515991100max0.1OK0.7671250.6284150.138711
748610450min0.1OK0.6558990.5610930.0948058
3265112100max1max0.7962640.869321-0.0730568
5979117100max0.001min0.6995260.5484480.151078
4893117100max0.1OK0.8432350.7827020.0605324
7428135100max0.001min0.9881890.989289-0.00110031
672136100max1max0.6139240.62016-0.00623589
23813850min0.001min0.6589070.5407390.118167
2064153100max0.1OK0.8278670.7309690.0968989
379116950min1max0.7007550.626160.0745953
4089185100max1max0.8538770.892832-0.0389552
6098188100max1max0.7747830.7423510.0324319
195623150min1max0.8205510.7604290.0601219
1630235100max1max0.7344920.6732220.0612695
675237100max1max0.6204360.645226-0.0247902
592526350min1max0.8207830.7600050.0607777
102927450min1max0.8138530.825692-0.0118388
5728279100max0.1OK0.7752710.7571540.018117
4763316100max0.001min0.7143450.715576-0.0012313
32442350min1max0.8519760.841820.0101554
673500100max1max0.9170880.927095-0.0100076
3845527100max0.1OK0.8855540.8477710.0377832
5290853100max1max0.8021650.7991110.00305423
71572587100max1max0.8939140.880260.0136536
\n", + "
" + ], + "text/plain": [ + " num_positive n_components n_comp_status alpha alpha_status train_auroc \\\n", + "6714 34 50 min 0.01 OK 0.689502 \n", + "4609 37 50 min 0.01 OK 0.744421 \n", + "207 38 50 min 0.01 OK 0.628019 \n", + "5894 42 50 min 1 max 0.75881 \n", + "4087 48 100 max 0.01 OK 0.756682 \n", + "5604 55 100 max 0.1 OK 0.907156 \n", + "4221 57 50 min 0.01 OK 0.726585 \n", + "7490 58 50 min 0.01 OK 0.729818 \n", + "4771 79 100 max 0.01 OK 0.871729 \n", + "25 80 100 max 0.001 min 0.729904 \n", + "4921 85 100 max 1 max 0.650832 \n", + "5159 91 100 max 0.1 OK 0.767125 \n", + "7486 104 50 min 0.1 OK 0.655899 \n", + "3265 112 100 max 1 max 0.796264 \n", + "5979 117 100 max 0.001 min 0.699526 \n", + "4893 117 100 max 0.1 OK 0.843235 \n", + "7428 135 100 max 0.001 min 0.988189 \n", + "672 136 100 max 1 max 0.613924 \n", + "238 138 50 min 0.001 min 0.658907 \n", + "2064 153 100 max 0.1 OK 0.827867 \n", + "3791 169 50 min 1 max 0.700755 \n", + "4089 185 100 max 1 max 0.853877 \n", + "6098 188 100 max 1 max 0.774783 \n", + "1956 231 50 min 1 max 0.820551 \n", + "1630 235 100 max 1 max 0.734492 \n", + "675 237 100 max 1 max 0.620436 \n", + "5925 263 50 min 1 max 0.820783 \n", + "1029 274 50 min 1 max 0.813853 \n", + "5728 279 100 max 0.1 OK 0.775271 \n", + "4763 316 100 max 0.001 min 0.714345 \n", + "324 423 50 min 1 max 0.851976 \n", + "673 500 100 max 1 max 0.917088 \n", + "3845 527 100 max 0.1 OK 0.885554 \n", + "5290 853 100 max 1 max 0.802165 \n", + "7157 2587 100 max 1 max 0.893914 \n", + "\n", + " test_auroc overfit \n", + "6714 0.564129 0.125373 \n", + "4609 0.443182 0.301239 \n", + "207 0.395891 0.232128 \n", + "5894 0.672984 0.0858264 \n", + "4087 0.732439 0.0242434 \n", + "5604 0.508406 0.39875 \n", + "4221 0.606066 0.12052 \n", + "7490 0.565093 0.164725 \n", + "4771 0.767271 0.104459 \n", + "25 0.54043 0.189474 \n", + "4921 0.487645 0.163187 \n", + "5159 0.628415 0.138711 \n", + "7486 0.561093 0.0948058 \n", + "3265 0.869321 -0.0730568 \n", + "5979 0.548448 0.151078 \n", + "4893 0.782702 0.0605324 \n", + "7428 0.989289 -0.00110031 \n", + "672 0.62016 -0.00623589 \n", + "238 0.540739 0.118167 \n", + "2064 0.730969 0.0968989 \n", + "3791 0.62616 0.0745953 \n", + "4089 0.892832 -0.0389552 \n", + "6098 0.742351 0.0324319 \n", + "1956 0.760429 0.0601219 \n", + "1630 0.673222 0.0612695 \n", + "675 0.645226 -0.0247902 \n", + "5925 0.760005 0.0607777 \n", + "1029 0.825692 -0.0118388 \n", + "5728 0.757154 0.018117 \n", + "4763 0.715576 -0.0012313 \n", + "324 0.84182 0.0101554 \n", + "673 0.927095 -0.0100076 \n", + "3845 0.847771 0.0377832 \n", + "5290 0.799111 0.00305423 \n", + "7157 0.88026 0.0136536 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "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", + "
num_positiven_componentsalphatrain_auroctest_aurocoverfit
mean256.65781.42860.4792860.7721210.6928390.0792817
median1371000.10.7696230.7042080.0610236
\n", + "
" + ], + "text/plain": [ + " num_positive n_components alpha train_auroc test_auroc overfit\n", + "mean 256.657 81.4286 0.479286 0.772121 0.692839 0.0792817\n", + "median 137 100 0.1 0.769623 0.704208 0.0610236" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Wall time: 1min 13s\n" + ] + } + ], + "source": [ + "%%time\n", + "metrics_df_current_setup = evaluate_classifier(X_train = X_train,\n", + " X_test = X_test,\n", + " y = y,\n", + " y_train_allgenes = y_train_allgenes,\n", + " y_test_allgenes = y_test_allgenes,\n", + " list_of_genes = list_of_genes,\n", + " set_k_range = [50, 100],\n", + " k_function = None,\n", + " alpha_range = [10** x for x in range(-3, 1)],\n", + " l1_ratio = [0.15])\n", + "display_stats(metrics_df_current_setup, metrics_df_tocompare = None)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAApMAAAKaCAYAAABiGdI1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd0VNXax/HvTHpIQoBAEjrSAoJIEUFBitICSJOEjoJ4\nEcFX0StNQy8qCIgoYkHh0gKIIl2KNBERBGmCQCiCkAQCIYEwKfP+EZ0YgzgZncxM8vusNWvdM7MP\n59n7xsmTZ5+9j8FsNpsREREREbGB0dEBiIiIiIjrUjIpIiIiIjZTMikiIiIiNlMyKSIiIiI2UzIp\nIiIiIjZzd3QAIiIiIq5moKG8o0NgjvmMo0MAVJkUERERkX9AyaSIiIiI2EzJpIiIiIjYTPdMioiI\niOSSm8HRETgPVSZFRERExGaqTIqIiIjkkptBpcnfqTIpIiIiIjZTMikiIiIiNtM0t4iIiEguaQFO\nFlUmRURERMRmqkyKiIiI5JIW4GRRZVJEREREbKZkUkRERERspmluERERkVzSApwsqkyKiIiIiM2U\nTIoUMCaTiQ8//JCOHTtSu3ZtHnroIQYOHMihQ4fyPJZZs2bRokULq9v/+uuvrFmzxnLcu3dvRo0a\nZY/QRETuys1gcPjLWWiaW6QAuXXrFn369CEhIYHnn3+eWrVqkZyczPz58+nZsydz586lQYMGjg7z\nL40cOZLg4GDatm0LZCaj7u76GhMRcSR9C4sUIDNmzODMmTOsXr2a4OBgy/tTpkzhypUrjB8/ntWr\nV2Nwor94/8hsNmc7DgwMdFAkIiLyO01zixQQJpOJzz77jCeeeCJbIvm7qKgopk2bhsFg4OLFi7z4\n4os0aNCA2rVrM2jQIM6fP29p27x5c15//XVatWpFgwYNOHLkyB3fM5lMTJkyhUaNGlGnTh169erF\ngQMH/jLGPXv20KtXL2rXrk2NGjXo0KED27dvB2D48OHs3r2blStXUrVqVSDnNPf3339vOf+hhx5i\nwoQJ3Lp1C4BffvmFqlWrsmHDBjp16kSNGjVo1aoVmzZtspx/4MABunXrxv3338+DDz7If//7X65d\nu/bPBl5E8iU3g+NfzkLJpEgBcf78eRITE6lVq9YdPy9TpgxhYWEkJSXRvXt3rl+/zkcffcSCBQu4\nceMGvXr14saNG5b2ixcvZvz48bz//vtUq1btju+98sor7N27lxkzZrBixQoaNGhA7969iYmJyXH9\n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\n2bNnqVOnDt9//z1lypRh2LBheRGfiIiIiNMx7V7h6BDwbNjF0SEAVk5z79271/IM7r59+xIREWH1\nBVI2fmRbZGIV75b9uZWS4ugw8jUfb28GGso7Oox8bY75DACma7GODSSf8wwswc1lbzg6jHzNt+sr\nPLv8oKPDyNfee6KWo0MAwKBpbgurprnT0tLIyMgAwGw2WxbhiIiIiEjBZlVlMjw8nO7du1OrVi1+\n/PFHwsPD7R2XiIiIiLgAq5LJfv360ahRI06fPk2XLl2oWrWqveMSERERcV7aZ9LCqpGIjo5m5cqV\ntG7dmtdff53PP//c3nGJiIiIiAuwqjK5ePFili1bBsD7779Pr1696Nixo10DExEREXFWWoCTxarK\npNFoxN09M+/08PDQAhwRERERAaysTD766KP06NGD++67jyNHjtC8eXN7xyUiIiIiLsCqZHLQoEE0\na9aMmJgYOnbsSFhYGAAHDx6kVi3n2O9JREREJM9omtvC6qVI1apVIzw83JJIQuaTcURERESk4LKq\nMvlXrHgSo4iIiEj+o62BLP7RSGghjoiIiEjBprRaRERERGymaW4RERGRXDK4aQHO76xKJj///HPe\nf/99TCYTZrMZg8HA5s2bad++vb3jExEREREnZlUy+cEHHzBnzhxCQ0OzvR8REWGXoEREREScmrYG\nsrAqmSxTpgzlypWzdywiIiIi4mKsSia9vb15+umnqVatmmUF99ChQ+0amIiIiIg4P6uSySZNmtg7\nDhERERHXoWluC6uSyU6dOtk7DhERERFxQf9oayARERGRgsigJ+BYaCRERERExGZKJkVERETEZprm\nFhEREcktLcCxUGVSRERERGymyqSIiIhIbhlUj/udRkJEREREbKZkUkRERERspmluERERkdzSNLeF\nRkJEREREbKZkUkRERERspmluERERkVwya5rbQiMhIiIiIjZTZVJEREQkt1SZtNBIiIiIiIjNlEyK\niIiIiM00zS0iIiKSWwaDoyNwGqpMioiIiIjNVJkUERERyS2j6nG/00iIiIiIiM0KTGVy++FTvP3l\ndkxpaVQpWYIxPVrj5+OVrc3ibfuJ3vkDBoOBMkGBRHVvRTH/Qty4dZsxi9YRc/kqZrOZ9vVr0K/F\ngw7qifPZvn07s95+G5PJROUqVRgzZgx+fn5Wt0tPT2fq1Kns/uYb0tPT6dOnD10jIjh16hQjRoyw\n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\nrkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Show how some of these metrics/parameters might be related\n", + "metrics_df_for_correlations = metrics_df_current_setup[['num_positive', 'n_components', 'alpha', 'train_auroc', 'test_auroc', 'overfit']]\n", + "plt.figure(figsize=(12,12))\n", + "plt.title('Correlations', y=1.05, size=15)\n", + "sns.heatmap(metrics_df_for_correlations.astype(float).corr(),linewidths=0.1,vmax=1.0, square=True, annot=True)\n", + "sns.plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.c. Evaluate how changing some of the parameters effects performance\n", + "\n", + "The three things I'd like to evaluate are n_components, alpha and l1_ratio\n", + "\n", + "My thoughts, going from easiest to most difficult to evaluate...\n", + " - alpha: just make the range larger if a lot of queries are at max or min (i.e. at the edge of the gridsearch space\n", + " - l1_ratio: the two values that we've discussed are 0 and 0.15... just try both for different setups\n", + " - n_components: try lists of varying size, try functions to auto select" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Try all combos of:\n", + "#### k_range = [10, 20, 40, 80, 160, 320, 640]\n", + "#### alpha_range = [10** x for x in range(-10,10)]\n", + "#### and l1_ratio = 0" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "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", + "
num_positiven_componentsalphatrain_auroctest_aurocoverfit
mean256.657278.2860.3224290.8011220.7071240.0939983
median1371600.10.8108670.7208940.0690108
\n", + "
" + ], + "text/plain": [ + " num_positive n_components alpha train_auroc test_auroc overfit\n", + "mean 256.657 278.286 0.322429 0.801122 0.707124 0.0939983\n", + "median 137 160 0.1 0.810867 0.720894 0.0690108" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean testing Auroc improved by 1.40%\n", + "Median testing Auroc improved by 1.67%\n", + "Mean overfitting reduced by 1.5%\n", + "Median overfitting reduced by 0.8%\n", + "Wall time: 5min 33s\n" + ] + } + ], + "source": [ + "%%time\n", + "# k_range\n", + "metrics_df = evaluate_classifier(X_train = X_train,\n", + " X_test = X_test,\n", + " y = y,\n", + " y_train_allgenes = y_train_allgenes,\n", + " y_test_allgenes = y_test_allgenes,\n", + " list_of_genes = list_of_genes,\n", + " set_k_range = [10, 20, 40, 80, 160, 320, 640],\n", + " k_function = None,\n", + " alpha_range = [10** x for x in range(-3, 1)],\n", + " l1_ratio = [0.15])\n", + "display_stats(metrics_df, metrics_df_current_setup, verbose = False)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "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", + "
num_positiven_componentsalphatrain_auroctest_aurocoverfit
mean256.65787.14290.5790570.7777930.690640.087153
median13710010.773780.671310.0556202
\n", + "
" + ], + "text/plain": [ + " num_positive n_components alpha train_auroc test_auroc overfit\n", + "mean 256.657 87.1429 0.579057 0.777793 0.69064 0.087153\n", + "median 137 100 1 0.77378 0.67131 0.0556202" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean testing Auroc improved by -0.25%\n", + "Median testing Auroc improved by -3.29%\n", + "Mean overfitting reduced by 0.8%\n", + "Median overfitting reduced by -0.5%\n", + "Wall time: 1min 5s\n" + ] + } + ], + "source": [ + "%%time\n", + "# l1_ratio\n", + "metrics_df = evaluate_classifier(X_train = X_train,\n", + " X_test = X_test,\n", + " y = y,\n", + " y_train_allgenes = y_train_allgenes,\n", + " y_test_allgenes = y_test_allgenes,\n", + " list_of_genes = list_of_genes,\n", + " set_k_range = [50, 100],\n", + " k_function = None,\n", + " alpha_range = [10** x for x in range(-3, 1)],\n", + " l1_ratio = [0])\n", + "display_stats(metrics_df, metrics_df_current_setup, verbose = False)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "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", + "
num_positiven_componentsalphatrain_auroctest_aurocoverfit
mean256.657802.63780.7782270.7018720.0763544
median13710010.7767490.6992880.0584197
\n", + "
" + ], + "text/plain": [ + " num_positive n_components alpha train_auroc test_auroc overfit\n", + "mean 256.657 80 2.6378 0.778227 0.701872 0.0763544\n", + "median 137 100 1 0.776749 0.699288 0.0584197" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean testing Auroc improved by 0.87%\n", + "Median testing Auroc improved by -0.49%\n", + "Mean overfitting reduced by -0.2%\n", + "Median overfitting reduced by -0.3%\n", + "Wall time: 3min 4s\n" + ] + } + ], + "source": [ + "%%time\n", + "# alpha_range\n", + "metrics_df = evaluate_classifier(X_train = X_train,\n", + " X_test = X_test,\n", + " y = y,\n", + " y_train_allgenes = y_train_allgenes,\n", + " y_test_allgenes = y_test_allgenes,\n", + " list_of_genes = list_of_genes,\n", + " set_k_range = [50, 100],\n", + " k_function = None,\n", + " alpha_range = [10** x for x in range(-10, 10)],\n", + " l1_ratio = [0.15])\n", + "display_stats(metrics_df, metrics_df_current_setup, verbose = False)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "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", + "
num_positiven_componentsalphatrain_auroctest_aurocoverfit
mean256.65794.28573461410.8297570.7637790.0659776
median137100550.8308140.756850.0418654
\n", + "
" + ], + "text/plain": [ + " num_positive n_components alpha train_auroc test_auroc overfit\n", + "mean 256.657 94.2857 346141 0.829757 0.763779 0.0659776\n", + "median 137 100 55 0.830814 0.75685 0.0418654" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean testing Auroc improved by 7.06%\n", + "Median testing Auroc improved by 5.26%\n", + "Mean overfitting reduced by -1.3%\n", + "Median overfitting reduced by -1.9%\n", + "Wall time: 2min 47s\n" + ] + } + ], + "source": [ + "%%time\n", + "# alpha_range and l1_ratio\n", + "metrics_df = evaluate_classifier(X_train = X_train,\n", + " X_test = X_test,\n", + " y = y,\n", + " y_train_allgenes = y_train_allgenes,\n", + " y_test_allgenes = y_test_allgenes,\n", + " list_of_genes = list_of_genes,\n", + " set_k_range = [50, 100],\n", + " k_function = None,\n", + " alpha_range = [10** x for x in range(-10, 10)],\n", + " l1_ratio = [0])\n", + "display_stats(metrics_df, metrics_df_current_setup, verbose = False)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "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", + "
num_positiven_componentsalphatrain_auroctest_aurocoverfit
mean256.657250.2861.650010.7840820.6936470.0904347
median1371600.10.774420.6673380.0688078
\n", + "
" + ], + "text/plain": [ + " num_positive n_components alpha train_auroc test_auroc overfit\n", + "mean 256.657 250.286 1.65001 0.784082 0.693647 0.0904347\n", + "median 137 160 0.1 0.77442 0.667338 0.0688078" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean testing Auroc improved by 0.05%\n", + "Median testing Auroc improved by -3.69%\n", + "Mean overfitting reduced by 1.2%\n", + "Median overfitting reduced by 0.8%\n", + "Wall time: 20min 46s\n" + ] + } + ], + "source": [ + "%%time\n", + "# alpha_range and k_range\n", + "metrics_df = evaluate_classifier(X_train = X_train,\n", + " X_test = X_test,\n", + " y = y,\n", + " y_train_allgenes = y_train_allgenes,\n", + " y_test_allgenes = y_test_allgenes,\n", + " list_of_genes = list_of_genes,\n", + " set_k_range = [10, 20, 40, 80, 160, 320, 640],\n", + " k_function = None,\n", + " alpha_range = [10** x for x in range(-10, 10)],\n", + " l1_ratio = [0.15])\n", + "display_stats(metrics_df, metrics_df_current_setup, verbose = False)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "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", + "
num_positiven_componentsalphatrain_auroctest_aurocoverfit
mean256.657339.7140.53560.8197260.7075620.112164
median1373200.76780.8433220.7068240.105766
\n", + "
" + ], + "text/plain": [ + " num_positive n_components alpha train_auroc test_auroc overfit\n", + "mean 256.657 339.714 0.5356 0.819726 0.707562 0.112164\n", + "median 137 320 0.7678 0.843322 0.706824 0.105766" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean testing Auroc improved by 1.44%\n", + "Median testing Auroc improved by 0.26%\n", + "Mean overfitting reduced by 3.3%\n", + "Median overfitting reduced by 4.5%\n", + "Wall time: 4min 51s\n" + ] + } + ], + "source": [ + "%%time\n", + "# k_range and l1_ratio\n", + "metrics_df = evaluate_classifier(X_train = X_train,\n", + " X_test = X_test,\n", + " y = y,\n", + " y_train_allgenes = y_train_allgenes,\n", + " y_test_allgenes = y_test_allgenes,\n", + " list_of_genes = list_of_genes,\n", + " set_k_range = [10, 20, 40, 80, 160, 320, 640],\n", + " k_function = None,\n", + " alpha_range = [10** x for x in range(-3, 1)],\n", + " l1_ratio = [0])\n", + "display_stats(metrics_df, metrics_df_current_setup, verbose = False)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "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", + "
num_positiven_componentsalphatrain_auroctest_aurocoverfit
mean256.657382.2863.14305e+060.8517950.774830.0769651
median137320100.8688350.7587370.0592118
\n", + "
" + ], + "text/plain": [ + " num_positive n_components alpha train_auroc test_auroc \\\n", + "mean 256.657 382.286 3.14305e+06 0.851795 0.77483 \n", + "median 137 320 10 0.868835 0.758737 \n", + "\n", + " overfit \n", + "mean 0.0769651 \n", + "median 0.0592118 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean testing Auroc improved by 8.17%\n", + "Median testing Auroc improved by 5.45%\n", + "Mean overfitting reduced by -0.2%\n", + "Median overfitting reduced by -0.2%\n", + "Wall time: 18min 11s\n" + ] + } + ], + "source": [ + "%%time\n", + "# All three: k_range, alpha_range and l1_ratio\n", + "metrics_df = evaluate_classifier(X_train = X_train,\n", + " X_test = X_test,\n", + " y = y,\n", + " y_train_allgenes = y_train_allgenes,\n", + " y_test_allgenes = y_test_allgenes,\n", + " list_of_genes = list_of_genes,\n", + " set_k_range = [10, 20, 40, 80, 160, 320, 640],\n", + " k_function = None,\n", + " alpha_range = [10** x for x in range(-10, 10)],\n", + " l1_ratio = [0])\n", + "display_stats(metrics_df, metrics_df_current_setup, verbose = False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Use a function to automatically select the parameter space to search" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# k_range function\n", + "def k_func(num_positives):\n", + " if num_positives < 50:\n", + " k_range = [6, 8, 10, 14, 20, 28]\n", + " elif num_positives < 100:\n", + " k_range = [10, 15, 20, 30, 50, 80]\n", + " elif num_positives < 200:\n", + " k_range = [15, 25, 50, 75, 100, 175]\n", + " elif num_positives < 500:\n", + " k_range = [60, 100, 150, 250, 400] # Tried 30, 60, 100, 150\n", + " else:\n", + " k_range = [100, 200, 400, 800]\n", + " return(k_range)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "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", + "
num_positiven_componentsalphatrain_auroctest_aurocoverfit
mean256.657148.0290.4877710.7519920.6944640.0575281
median137900.10.7545460.6906070.0582396
\n", + "
" + ], + "text/plain": [ + " num_positive n_components alpha train_auroc test_auroc overfit\n", + "mean 256.657 148.029 0.487771 0.751992 0.694464 0.0575281\n", + "median 137 90 0.1 0.754546 0.690607 0.0582396" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean testing Auroc improved by 0.13%\n", + "Median testing Auroc improved by -1.36%\n", + "Mean overfitting reduced by -2.1%\n", + "Median overfitting reduced by -0.3%\n", + "Wall time: 3min 25s\n" + ] + } + ], + "source": [ + "%%time\n", + "# k_range func\n", + "metrics_df = evaluate_classifier(X_train = X_train,\n", + " X_test = X_test,\n", + " y = y,\n", + " y_train_allgenes = y_train_allgenes,\n", + " y_test_allgenes = y_test_allgenes,\n", + " list_of_genes = list_of_genes,\n", + " set_k_range = None,\n", + " k_function = k_func,\n", + " alpha_range = [10** x for x in range(-3, 1)],\n", + " l1_ratio = [0.15])\n", + "display_stats(metrics_df, metrics_df_current_setup, verbose = False)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "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", + "
num_positiven_componentsalphatrain_auroctest_aurocoverfit
mean256.657147.0291.478580.7633010.7071110.0561901
median137800.10.7602010.705150.0470075
\n", + "
" + ], + "text/plain": [ + " num_positive n_components alpha train_auroc test_auroc overfit\n", + "mean 256.657 147.029 1.47858 0.763301 0.707111 0.0561901\n", + "median 137 80 0.1 0.760201 0.70515 0.0470075" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean testing Auroc improved by 1.40%\n", + "Median testing Auroc improved by 0.09%\n", + "Mean overfitting reduced by -2.3%\n", + "Median overfitting reduced by -1.4%\n", + "Wall time: 13min\n" + ] + } + ], + "source": [ + "%%time\n", + "# k_range func with larger alpha range\n", + "metrics_df = evaluate_classifier(X_train = X_train,\n", + " X_test = X_test,\n", + " y = y,\n", + " y_train_allgenes = y_train_allgenes,\n", + " y_test_allgenes = y_test_allgenes,\n", + " list_of_genes = list_of_genes,\n", + " set_k_range = None,\n", + " k_function = k_func,\n", + " alpha_range = [10** x for x in range(-10, 10)],\n", + " l1_ratio = [0.15])\n", + "display_stats(metrics_df, metrics_df_current_setup, verbose = False)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "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", + " \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", + " \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", + " \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", + "
num_positiven_componentsn_comp_statusalphaalpha_statustrain_auroctest_aurocoverfit
67143428max1000OK0.7710980.5740740.197024
46093720OK1000OK0.8162410.5824380.233803
2073828max100OK0.7747280.749570.0251575
58944214OK1000OK0.7410090.7028190.0381898
40874814OK1000OK0.7684370.7429460.0254908
56045580max10OK0.9263280.7031140.223214
42215730OK1000OK0.7222050.5876250.13458
74905820OK1000OK0.7158190.718188-0.00236926
47717980max100OK0.8574190.8188070.0386118
258080max1000000000max0.7041290.706623-0.00249354
49218580max1000OK0.7287360.761327-0.0325916
51599150OK10OK0.8237550.670470.153284
7486104100OK10000000OK0.707260.6593440.0479152
3265112175max10OK0.9605690.9576380.00293089
5979117175max10OK0.8697150.6933560.176359
4893117175max10OK0.8984870.8129420.0855446
7428135175max1e-05OK0.9917250.9833790.00834692
672136175max100OK0.7898820.7259190.0639631
238138175max100OK0.7929410.7164170.0765236
2064153175max100OK0.8251440.7663630.058781
3791169175max100OK0.7876890.739860.047829
4089185175max100OK0.8764710.906917-0.030446
6098188175max1000OK0.7623450.7477480.0145974
1956231250OK10OK0.911480.8531690.0583107
1630235400max100OK0.7900460.7322530.0577937
675237400max10OK0.8378640.703860.134004
5925263400max10OK0.9286830.8720110.0566725
1029274400max10OK0.9250130.8743140.0506987
5728279400max10OK0.9047080.8383170.0663911
4763316250OK10OK0.8136830.7880810.0256023
324423150OK10OK0.9145170.8774110.0371053
673500800max10OK0.961020.9520720.00894727
3845527400OK10OK0.9602360.9468460.0133901
5290853800max10OK0.8770660.8629980.0140685
71572587800max1OK0.9544740.9277140.0267597
\n", + "
" + ], + "text/plain": [ + " num_positive n_components n_comp_status alpha alpha_status \\\n", + "6714 34 28 max 1000 OK \n", + "4609 37 20 OK 1000 OK \n", + "207 38 28 max 100 OK \n", + "5894 42 14 OK 1000 OK \n", + "4087 48 14 OK 1000 OK \n", + "5604 55 80 max 10 OK \n", + "4221 57 30 OK 1000 OK \n", + "7490 58 20 OK 1000 OK \n", + "4771 79 80 max 100 OK \n", + "25 80 80 max 1000000000 max \n", + "4921 85 80 max 1000 OK \n", + "5159 91 50 OK 10 OK \n", + "7486 104 100 OK 10000000 OK \n", + "3265 112 175 max 10 OK \n", + "5979 117 175 max 10 OK \n", + "4893 117 175 max 10 OK \n", + "7428 135 175 max 1e-05 OK \n", + "672 136 175 max 100 OK \n", + "238 138 175 max 100 OK \n", + "2064 153 175 max 100 OK \n", + "3791 169 175 max 100 OK \n", + "4089 185 175 max 100 OK \n", + "6098 188 175 max 1000 OK \n", + "1956 231 250 OK 10 OK \n", + "1630 235 400 max 100 OK \n", + "675 237 400 max 10 OK \n", + "5925 263 400 max 10 OK \n", + "1029 274 400 max 10 OK \n", + "5728 279 400 max 10 OK \n", + "4763 316 250 OK 10 OK \n", + "324 423 150 OK 10 OK \n", + "673 500 800 max 10 OK \n", + "3845 527 400 OK 10 OK \n", + "5290 853 800 max 10 OK \n", + "7157 2587 800 max 1 OK \n", + "\n", + " train_auroc test_auroc overfit \n", + "6714 0.771098 0.574074 0.197024 \n", + "4609 0.816241 0.582438 0.233803 \n", + "207 0.774728 0.74957 0.0251575 \n", + "5894 0.741009 0.702819 0.0381898 \n", + "4087 0.768437 0.742946 0.0254908 \n", + "5604 0.926328 0.703114 0.223214 \n", + "4221 0.722205 0.587625 0.13458 \n", + "7490 0.715819 0.718188 -0.00236926 \n", + "4771 0.857419 0.818807 0.0386118 \n", + "25 0.704129 0.706623 -0.00249354 \n", + "4921 0.728736 0.761327 -0.0325916 \n", + "5159 0.823755 0.67047 0.153284 \n", + "7486 0.70726 0.659344 0.0479152 \n", + "3265 0.960569 0.957638 0.00293089 \n", + "5979 0.869715 0.693356 0.176359 \n", + "4893 0.898487 0.812942 0.0855446 \n", + "7428 0.991725 0.983379 0.00834692 \n", + "672 0.789882 0.725919 0.0639631 \n", + "238 0.792941 0.716417 0.0765236 \n", + "2064 0.825144 0.766363 0.058781 \n", + "3791 0.787689 0.73986 0.047829 \n", + "4089 0.876471 0.906917 -0.030446 \n", + "6098 0.762345 0.747748 0.0145974 \n", + "1956 0.91148 0.853169 0.0583107 \n", + "1630 0.790046 0.732253 0.0577937 \n", + "675 0.837864 0.70386 0.134004 \n", + "5925 0.928683 0.872011 0.0566725 \n", + "1029 0.925013 0.874314 0.0506987 \n", + "5728 0.904708 0.838317 0.0663911 \n", + "4763 0.813683 0.788081 0.0256023 \n", + "324 0.914517 0.877411 0.0371053 \n", + "673 0.96102 0.952072 0.00894727 \n", + "3845 0.960236 0.946846 0.0133901 \n", + "5290 0.877066 0.862998 0.0140685 \n", + "7157 0.954474 0.927714 0.0267597 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "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", + "
num_positiven_componentsalphatrain_auroctest_aurocoverfit
mean256.657223.5432.88574e+070.8397410.7787690.0609711
median1371751000.8315040.7554490.0478721
\n", + "
" + ], + "text/plain": [ + " num_positive n_components alpha train_auroc test_auroc \\\n", + "mean 256.657 223.543 2.88574e+07 0.839741 0.778769 \n", + "median 137 175 100 0.831504 0.755449 \n", + "\n", + " overfit \n", + "mean 0.0609711 \n", + "median 0.0478721 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean testing Auroc improved by 8.56%\n", + "Median testing Auroc improved by 5.12%\n", + "Mean overfitting reduced by -1.8%\n", + "Median overfitting reduced by -1.3%\n", + "Wall time: 10min 36s\n" + ] + } + ], + "source": [ + "%%time\n", + "# k_range func with larger alpha range and l1_ratio = 0\n", + "metrics_df = evaluate_classifier(X_train = X_train,\n", + " X_test = X_test,\n", + " y = y,\n", + " y_train_allgenes = y_train_allgenes,\n", + " y_test_allgenes = y_test_allgenes,\n", + " list_of_genes = list_of_genes,\n", + " set_k_range = None,\n", + " k_function = k_func,\n", + " alpha_range = [10** x for x in range(-10, 10)],\n", + " l1_ratio = [0])\n", + "display_stats(metrics_df, metrics_df_current_setup)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## TO DO: Evaluate queries that only use a subset of diseases or a single disease" + ] + } + ], + "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.5.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/explore/number-of-components/number_of_pca_components.py b/explore/number-of-components/number_of_pca_components.py new file mode 100644 index 0000000..fb200c2 --- /dev/null +++ b/explore/number-of-components/number_of_pca_components.py @@ -0,0 +1,394 @@ + +# coding: utf-8 + +# # Explore how many PCA Components to Keep and Hyperparameter Tuning + +# __Purpose__ +# +# As described in issue #106 (https://github.com/cognoma/machine-learning/issues/106), searching over a large range of n_components (number of PCA components) causes issues with both speed and memory and may also cause issues with overfitting. This notebook is an attempt to explore the relationship between the number of components returned by PCA, the other hyperparameters and classifier performance (AUROC). Ideally, we will be able to automatically select a range of n_components to search across based on the specifics of the query. The assumption is that for the lower number of positive samples (and/or the less total samples)... the less n-components to include (i.e. a query with only 40 positive samples would use a classifer that does GridSearchCV with n_components = [30, 40, 50] whereas a query with 1,000 positive samples would use a classifier that does GridSearchCV with n_components = [100, 200, 300] _just random numbers for purpose of illustration_). This notebook attempts to provide some basis for selecting the range of n_components. +# +# +# __Assumptions/Notes:__ +# +# This notebook differs from the current classifier in a number of ways including: +# 1. In this notebook, PCA is performed on the entire training set prior to cross-validation rather than performed on each individual cross-validation split. This is done for simplicity and to save time and memory. +# 2. In this notebook, the covariates data is not used (for now at least). +# +# +# __To Do:__ +# +# 1. Evaluate queries that only use a subset of diseases or a single disease. +# 2. Try to include the covariates data and see how that affects things. +# 3. Some additional evaluation and... select a final setup. + +# ## Outline: +# 1. Imports, constants and load the data +# 2. Test Train split and perform PCA +# 3. Build the querry set +# 4. Evaluate queries with all samples (i.e. all diseases) and varying number of positives +# - a. Define some helper functions +# - b. See how the parameters are related using the current setup +# - c. Evaluate how changing some of the parameters effects performance +# 5. TO DO: Evaluate queries that only use a subset of diseases or a single disease +# + +# ## 1. Imports, constants and load the data + +# In[1]: + +import os +import time + +from sklearn.decomposition import PCA +from sklearn.linear_model import SGDClassifier +from sklearn.metrics import roc_auc_score, roc_curve +from sklearn.model_selection import train_test_split, StratifiedKFold +from dask_searchcv import GridSearchCV +from sklearn.pipeline import Pipeline, FeatureUnion +from sklearn.preprocessing import StandardScaler, FunctionTransformer +import matplotlib.pyplot as plt +import numpy as np +import pandas as pd +import seaborn as sns +from sklearn.feature_selection import SelectKBest +from IPython.display import display + + +# In[2]: + +RANDOMSEED = 0 + + +# In[3]: + +get_ipython().run_cell_magic('time', '', "# Load the data\ntry: \n path = os.path.join('download', 'expression-matrix.pkl')\n X = pd.read_pickle(path)\nexcept:\n path = os.path.join('download', 'expression-matrix.tsv.bz2')\n X = pd.read_table(path, index_col=0)\n\ntry:\n path = os.path.join('download', 'mutation-matrix.pkl')\n y = pd.read_pickle(path)\nexcept:\n path = os.path.join('download', 'mutation-matrix.tsv.bz2')\n y = pd.read_table(path, index_col=0)") + + +# ## 2. Test Train split and perform PCA + +# In[4]: + +# Test Train split +X_train, X_test, y_train_allgenes, y_test_allgenes = train_test_split(X, y, test_size=0.2, random_state=RANDOMSEED) + + +# In[5]: + +get_ipython().run_cell_magic('time', '', 'scaler = StandardScaler()\npca = PCA(n_components = 1000, random_state = RANDOMSEED)\nscaler.fit(X_train)\nX_train_scaled = scaler.transform(X_train)\npca.fit(X_train_scaled)\nX_train = pca.transform(X_train_scaled)\n\nX_test_scaled = scaler.transform(X_test)\nX_test = pca.transform(X_test_scaled)') + + +# ## 3. Build the query set + +# In[6]: + +# List of genes to iterate over (from brankaj's notebook: +# https://github.com/cognoma/machine-learning/blob/master/explore/Classifier_results-different_genes.ipynb) +genes_LungCancer = { + '207': 'AKT1', + '238': 'ALK', + '673': 'BRAF', + '4921':'DDR2', + '1956':'EGFR', + '2064':'ERBB2', + '3845':'KRAS', + '5604':'MAP2K1', + '4893':'NRAS', + '5290':'PIK3CA', + '5728':'PTEN', + '5979':'RET', + # '6016':'RIT1', (removed because too few positives) + '6098':'ROS1', +} + +genes_TumorSuppressors = { + '324': 'APC', + '672': 'BRCA1', + '675': 'BRCA2', + '1029':'CDKN2A', + '1630':'DCC', + '4089':'SMAD4', + '4087':'SMAD2', + '4221':'MEN1', + '4763':'NF1', + '4771':'NF2', + '7157':'TP53', + '5728':'PTEN', + '5925':'RB1', + '7428':'VHL', + '7486':'WRN', + '7490':'WT1', +} + +genes_Oncogenes = { + #'5155':'PDGFB', #growth factor (removed because too few positives) + '5159':'PDGFRB', #growth factor + '3791':'KDR', #receptor tyrosine kinases + '25':'ABL1', #Cytoplasmic tyrosine kinases + '6714':'SRC', #Cytoplasmic tyrosine kinases + '5894':'RAF1',#cytoplasmic serine kinases + '3265':'HRAS',#regulatory GTPases + '4609':'MYC',#Transcription factors + #'2353':'FOS',#Transcription factors (removed because too few positives) + +} + +list_of_genes = (list(genes_LungCancer.keys()) + list(genes_TumorSuppressors.keys()) + + list(genes_Oncogenes.keys())) + + +# In[7]: + +list_of_genes_positives = [] +for gene in list_of_genes: + y_temp = y_train_allgenes[gene] + list_of_genes_positives.append(y_temp.value_counts(True)[1]*len(y_train_allgenes)) +list_of_genes = [gene for _,gene in sorted(zip(list_of_genes_positives, list_of_genes))] + + +# ## 4. Evaluate queries with all samples (i.e. all diseases) and varying number of positives + +# ### 4.a. Define some helper functions + +# In[8]: + +def variance_scorer(x, y): + """ + Get the variance for each column of X. + + Because principal components have decreasing variance + (i.e. PC4 has less variance than PC3 which has less variance + than PC2 etc.), we can use this function in SelectKBest to select + only the top X number of principal components. + + """ + scores = [np.var(column) for column in x.T] + return scores, np.array([np.NaN]*len(scores)) + + +# In[9]: + +def evaluate_classifier(X_train, X_test, + y, y_train_allgenes, y_test_allgenes, + list_of_genes, + set_k_range, k_function, + alpha_range, + l1_ratio): + + ''' Run a classifier setup on a set of queries. + + Loop through each query; train and test the classifier using the + hyperparameters input as parameters; populate the metrics dictionary + with some metrics of which parameters were selected and how well + the classifier did for that query. + ''' + + # A dictionary to hold the performance metrics. + metrics_dict = {} + + # Loop through each query; train and test the classifer; populate the metrics dictionary. + for gene in list_of_genes: + + # Train and test the classifier. + + y_gene = y[gene] + y_train = y_train_allgenes[gene] + y_test = y_test_allgenes[gene] + num_positives = int(y_gene.value_counts(True)[1]*len(y_gene)) + if set_k_range: + k_range = set_k_range + else: + k_range = k_function(num_positives) + # Parameter Sweep for Hyperparameters + param_grid = { + 'select__k': k_range, + 'classify__loss': ['log'], + 'classify__penalty': ['elasticnet'], + 'classify__alpha': alpha_range, + 'classify__l1_ratio': l1_ratio, + } + pipeline = Pipeline(steps=[ + ('select', SelectKBest(variance_scorer)), + ('classify', SGDClassifier(random_state=RANDOMSEED, class_weight='balanced')) + ]) + cv_pipeline = GridSearchCV(estimator=pipeline, + param_grid=param_grid, + n_jobs=1, + scoring='roc_auc') + cv_pipeline.fit(X=X_train, y=y_train) + y_pred_train = cv_pipeline.decision_function(X_train) + y_pred_test = cv_pipeline.decision_function(X_test) + # Get ROC info. + 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} + metrics_train = get_threshold_metrics(y_train, y_pred_train) + metrics_test = get_threshold_metrics(y_test, y_pred_test) + + # Populate the metrics dictionary. + + # Get metrics for the classifier. + overfit = metrics_train['auroc'] - metrics_test['auroc'] + # Understand how the parameter grid worked... any params at the edge? + if cv_pipeline.best_params_['select__k'] == min(param_grid['select__k']): + n_comp_status = 'min' + elif cv_pipeline.best_params_['select__k'] == max(param_grid['select__k']): + n_comp_status = 'max' + else: + n_comp_status = 'OK' + if cv_pipeline.best_params_['classify__alpha'] == min(param_grid['classify__alpha']): + alpha_status = 'min' + elif cv_pipeline.best_params_['classify__alpha'] == max(param_grid['classify__alpha']): + alpha_status = 'max' + else: + alpha_status = 'OK' + metrics = {'num_positive': num_positives, + 'train_auroc': metrics_train['auroc'], + 'test_auroc': metrics_test['auroc'], + 'n_components': cv_pipeline.best_params_['select__k'], + 'alpha': cv_pipeline.best_params_['classify__alpha'], + 'overfit': overfit, + 'n_comp_status': n_comp_status, + 'alpha_status': alpha_status + } + # Add the metrics to the dictonary. + metrics_dict[gene] = metrics + # Change the metrics dict into a formatted pandas dataframe. + metrics_df = pd.DataFrame(metrics_dict) + metrics_df = metrics_df.T + metrics_df.sort_values(by='num_positive', ascending=True, inplace=True) + metrics_df = metrics_df[['num_positive', 'n_components','n_comp_status', 'alpha', 'alpha_status','train_auroc', 'test_auroc', 'overfit']] + + return(metrics_df) + + +# In[10]: + +def display_stats(metrics_df, metrics_df_tocompare = None, verbose = True): + if verbose: + display(metrics_df) + # Summary for metrics_df + metrics_df.loc['mean'] = metrics_df.mean() + metrics_df.loc['median'] = metrics_df.median() + metrics_df_summary = metrics_df.loc[['mean', 'median']] + metrics_df_summary = metrics_df_summary[['num_positive', 'n_components', 'alpha', 'train_auroc', 'test_auroc','overfit']] + display(metrics_df_summary) + if metrics_df_tocompare is not None: + # Summary for metrics_df_tocompare + metrics_df_tocompare.loc['mean'] = metrics_df_tocompare.mean() + metrics_df_tocompare.loc['median'] = metrics_df_tocompare.median() + metrics_df_to_compare_summary = metrics_df_tocompare.loc[['mean', 'median']] + # Evaluate the improvement + mean_testing_auroc_improvement = metrics_df_summary['test_auroc']['mean'] - metrics_df_to_compare_summary['test_auroc']['mean'] + median_testing_auroc_improvement = metrics_df_summary['test_auroc']['median'] - metrics_df_to_compare_summary['test_auroc']['median'] + mean_overfit_reduction = metrics_df_summary['overfit']['mean'] - metrics_df_to_compare_summary['overfit']['mean'] + median_overfit_reduction = metrics_df_summary['overfit']['median'] - metrics_df_to_compare_summary['overfit']['median'] + print('Mean testing Auroc improved by {:.2f}%'.format(mean_testing_auroc_improvement*100)) + print('Median testing Auroc improved by {:.2f}%'.format(median_testing_auroc_improvement*100)) + print('Mean overfitting reduced by {:.1f}%'.format(mean_overfit_reduction*100)) + print('Median overfitting reduced by {:.1f}%'.format(median_overfit_reduction*100)) + + +# ### 4.b. See how the parameters are related using the current setup + +# In[11]: + +get_ipython().run_cell_magic('time', '', 'metrics_df_current_setup = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = [50, 100],\n k_function = None,\n alpha_range = [10** x for x in range(-3, 1)],\n l1_ratio = [0.15])\ndisplay_stats(metrics_df_current_setup, metrics_df_tocompare = None)') + + +# In[12]: + +# Show how some of these metrics/parameters might be related +metrics_df_for_correlations = metrics_df_current_setup[['num_positive', 'n_components', 'alpha', 'train_auroc', 'test_auroc', 'overfit']] +plt.figure(figsize=(12,12)) +plt.title('Correlations', y=1.05, size=15) +sns.heatmap(metrics_df_for_correlations.astype(float).corr(),linewidths=0.1,vmax=1.0, square=True, annot=True) +sns.plt.show() + + +# ### 4.c. Evaluate how changing some of the parameters effects performance +# +# The three things I'd like to evaluate are n_components, alpha and l1_ratio +# +# My thoughts, going from easiest to most difficult to evaluate... +# - alpha: just make the range larger if a lot of queries are at max or min (i.e. at the edge of the gridsearch space +# - l1_ratio: the two values that we've discussed are 0 and 0.15... just try both for different setups +# - n_components: try lists of varying size, try functions to auto select + +# #### Try all combos of: +# #### k_range = [10, 20, 40, 80, 160, 320, 640] +# #### alpha_range = [10** x for x in range(-10,10)] +# #### and l1_ratio = 0 + +# In[13]: + +get_ipython().run_cell_magic('time', '', '# k_range\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = [10, 20, 40, 80, 160, 320, 640],\n k_function = None,\n alpha_range = [10** x for x in range(-3, 1)],\n l1_ratio = [0.15])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') + + +# In[14]: + +get_ipython().run_cell_magic('time', '', '# l1_ratio\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = [50, 100],\n k_function = None,\n alpha_range = [10** x for x in range(-3, 1)],\n l1_ratio = [0])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') + + +# In[15]: + +get_ipython().run_cell_magic('time', '', '# alpha_range\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = [50, 100],\n k_function = None,\n alpha_range = [10** x for x in range(-10, 10)],\n l1_ratio = [0.15])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') + + +# In[16]: + +get_ipython().run_cell_magic('time', '', '# alpha_range and l1_ratio\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = [50, 100],\n k_function = None,\n alpha_range = [10** x for x in range(-10, 10)],\n l1_ratio = [0])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') + + +# In[17]: + +get_ipython().run_cell_magic('time', '', '# alpha_range and k_range\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = [10, 20, 40, 80, 160, 320, 640],\n k_function = None,\n alpha_range = [10** x for x in range(-10, 10)],\n l1_ratio = [0.15])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') + + +# In[18]: + +get_ipython().run_cell_magic('time', '', '# k_range and l1_ratio\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = [10, 20, 40, 80, 160, 320, 640],\n k_function = None,\n alpha_range = [10** x for x in range(-3, 1)],\n l1_ratio = [0])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') + + +# In[19]: + +get_ipython().run_cell_magic('time', '', '# All three: k_range, alpha_range and l1_ratio\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = [10, 20, 40, 80, 160, 320, 640],\n k_function = None,\n alpha_range = [10** x for x in range(-10, 10)],\n l1_ratio = [0])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') + + +# ### Use a function to automatically select the parameter space to search + +# In[20]: + +# k_range function +def k_func(num_positives): + if num_positives < 50: + k_range = [6, 8, 10, 14, 20, 28] + elif num_positives < 100: + k_range = [10, 15, 20, 30, 50, 80] + elif num_positives < 200: + k_range = [15, 25, 50, 75, 100, 175] + elif num_positives < 500: + k_range = [60, 100, 150, 250, 400] # Tried 30, 60, 100, 150 + else: + k_range = [100, 200, 400, 800] + return(k_range) + + +# In[21]: + +get_ipython().run_cell_magic('time', '', '# k_range func\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = None,\n k_function = k_func,\n alpha_range = [10** x for x in range(-3, 1)],\n l1_ratio = [0.15])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') + + +# In[22]: + +get_ipython().run_cell_magic('time', '', '# k_range func with larger alpha range\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = None,\n k_function = k_func,\n alpha_range = [10** x for x in range(-10, 10)],\n l1_ratio = [0.15])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') + + +# In[23]: + +get_ipython().run_cell_magic('time', '', '# k_range func with larger alpha range and l1_ratio = 0\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = None,\n k_function = k_func,\n alpha_range = [10** x for x in range(-10, 10)],\n l1_ratio = [0])\ndisplay_stats(metrics_df, metrics_df_current_setup)') + + +# ## TO DO: Evaluate queries that only use a subset of diseases or a single disease From acfc22f4962a6d7d15b359a920922409cb571cf4 Mon Sep 17 00:00:00 2001 From: Ryan Velazquez Date: Fri, 15 Sep 2017 06:43:43 -0400 Subject: [PATCH 2/3] additional evaluation --- .../number_of_pca_components.ipynb | 619 +++-- .../number_of_pca_components.py | 68 +- ...f_pca_components_(subset_by_disease).ipynb | 2079 +++++++++++++++++ ...r_of_pca_components_(subset_by_disease).py | 0 4 files changed, 2548 insertions(+), 218 deletions(-) create mode 100644 explore/number-of-components/number_of_pca_components_(subset_by_disease).ipynb create mode 100644 explore/number-of-components/number_of_pca_components_(subset_by_disease).py diff --git a/explore/number-of-components/number_of_pca_components.ipynb b/explore/number-of-components/number_of_pca_components.ipynb index 1590d24..5491ebf 100644 --- a/explore/number-of-components/number_of_pca_components.ipynb +++ b/explore/number-of-components/number_of_pca_components.ipynb @@ -7,6 +7,16 @@ "# Explore how many PCA Components to Keep and Hyperparameter Tuning" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Takeaways after running this notebook:\n", + "1. The accurace gain by searching over a larger range of n_components seems to be small (~1%-2% gain in testing AUROC on average), even when the range of n_components is selected for each query based on a heuristic around class balance.\n", + "2. There is a similar accurace gain when only the largest value in the range is used \n", + "2. There is a larger performance gain if the l1_ratio is changed from 0.15 to 0 and the range of alpha is expanded (~5%-7% gain in testing AUROC on average) there isn't much performance gain if these parameters are changed independent of each other." + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -98,7 +108,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Wall time: 5.19 s\n" + "Wall time: 6.22 s\n" ] } ], @@ -148,7 +158,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Wall time: 55.5 s\n" + "Wall time: 1min 12s\n" ] } ], @@ -416,8 +426,8 @@ " # Evaluate the improvement\n", " mean_testing_auroc_improvement = metrics_df_summary['test_auroc']['mean'] - metrics_df_to_compare_summary['test_auroc']['mean']\n", " median_testing_auroc_improvement = metrics_df_summary['test_auroc']['median'] - metrics_df_to_compare_summary['test_auroc']['median']\n", - " mean_overfit_reduction = metrics_df_summary['overfit']['mean'] - metrics_df_to_compare_summary['overfit']['mean']\n", - " median_overfit_reduction = metrics_df_summary['overfit']['median'] - metrics_df_to_compare_summary['overfit']['median']\n", + " mean_overfit_reduction = metrics_df_to_compare_summary['overfit']['mean'] - metrics_df_summary['overfit']['mean']\n", + " median_overfit_reduction = metrics_df_to_compare_summary['overfit']['median'] - metrics_df_summary['overfit']['median']\n", " print('Mean testing Auroc improved by {:.2f}%'.format(mean_testing_auroc_improvement*100))\n", " print('Median testing Auroc improved by {:.2f}%'.format(median_testing_auroc_improvement*100))\n", " print('Mean overfitting reduced by {:.1f}%'.format(mean_overfit_reduction*100))\n", @@ -519,9 +529,9 @@ " max\n", " 0.01\n", " OK\n", - " 0.756682\n", - " 0.732439\n", - " 0.0242434\n", + " 0.757118\n", + " 0.733031\n", + " 0.0240868\n", " \n", " \n", " 5604\n", @@ -552,9 +562,9 @@ " min\n", " 0.01\n", " OK\n", - " 0.729818\n", + " 0.729814\n", " 0.565093\n", - " 0.164725\n", + " 0.164721\n", " \n", " \n", " 4771\n", @@ -629,9 +639,9 @@ " max\n", " 0.001\n", " min\n", - " 0.699526\n", + " 0.699525\n", " 0.548448\n", - " 0.151078\n", + " 0.151076\n", " \n", " \n", " 4893\n", @@ -651,9 +661,9 @@ " max\n", " 0.001\n", " min\n", - " 0.988189\n", - " 0.989289\n", - " -0.00110031\n", + " 0.972091\n", + " 0.966344\n", + " 0.00574742\n", " \n", " \n", " 672\n", @@ -684,9 +694,9 @@ " max\n", " 0.1\n", " OK\n", - " 0.827867\n", - " 0.730969\n", - " 0.0968989\n", + " 0.827951\n", + " 0.7313\n", + " 0.0966513\n", " \n", " \n", " 3791\n", @@ -781,22 +791,22 @@ " 279\n", " 100\n", " max\n", - " 0.1\n", - " OK\n", - " 0.775271\n", - " 0.757154\n", - " 0.018117\n", + " 1\n", + " max\n", + " 0.755646\n", + " 0.716968\n", + " 0.0386786\n", " \n", " \n", " 4763\n", " 316\n", " 100\n", " max\n", - " 0.001\n", - " min\n", - " 0.714345\n", - " 0.715576\n", - " -0.0012313\n", + " 1\n", + " max\n", + " 0.704367\n", + " 0.708792\n", + " -0.00442577\n", " \n", " \n", " 324\n", @@ -823,13 +833,13 @@ " \n", " 3845\n", " 527\n", - " 100\n", - " max\n", + " 50\n", + " min\n", " 0.1\n", " OK\n", - " 0.885554\n", - " 0.847771\n", - " 0.0377832\n", + " 0.928241\n", + " 0.915307\n", + " 0.012934\n", " \n", " \n", " 5290\n", @@ -863,22 +873,22 @@ "4609 37 50 min 0.01 OK 0.744421 \n", "207 38 50 min 0.01 OK 0.628019 \n", "5894 42 50 min 1 max 0.75881 \n", - "4087 48 100 max 0.01 OK 0.756682 \n", + "4087 48 100 max 0.01 OK 0.757118 \n", "5604 55 100 max 0.1 OK 0.907156 \n", "4221 57 50 min 0.01 OK 0.726585 \n", - "7490 58 50 min 0.01 OK 0.729818 \n", + "7490 58 50 min 0.01 OK 0.729814 \n", "4771 79 100 max 0.01 OK 0.871729 \n", "25 80 100 max 0.001 min 0.729904 \n", "4921 85 100 max 1 max 0.650832 \n", "5159 91 100 max 0.1 OK 0.767125 \n", "7486 104 50 min 0.1 OK 0.655899 \n", "3265 112 100 max 1 max 0.796264 \n", - "5979 117 100 max 0.001 min 0.699526 \n", + "5979 117 100 max 0.001 min 0.699525 \n", "4893 117 100 max 0.1 OK 0.843235 \n", - "7428 135 100 max 0.001 min 0.988189 \n", + "7428 135 100 max 0.001 min 0.972091 \n", "672 136 100 max 1 max 0.613924 \n", "238 138 50 min 0.001 min 0.658907 \n", - "2064 153 100 max 0.1 OK 0.827867 \n", + "2064 153 100 max 0.1 OK 0.827951 \n", "3791 169 50 min 1 max 0.700755 \n", "4089 185 100 max 1 max 0.853877 \n", "6098 188 100 max 1 max 0.774783 \n", @@ -887,11 +897,11 @@ "675 237 100 max 1 max 0.620436 \n", "5925 263 50 min 1 max 0.820783 \n", "1029 274 50 min 1 max 0.813853 \n", - "5728 279 100 max 0.1 OK 0.775271 \n", - "4763 316 100 max 0.001 min 0.714345 \n", + "5728 279 100 max 1 max 0.755646 \n", + "4763 316 100 max 1 max 0.704367 \n", "324 423 50 min 1 max 0.851976 \n", "673 500 100 max 1 max 0.917088 \n", - "3845 527 100 max 0.1 OK 0.885554 \n", + "3845 527 50 min 0.1 OK 0.928241 \n", "5290 853 100 max 1 max 0.802165 \n", "7157 2587 100 max 1 max 0.893914 \n", "\n", @@ -900,22 +910,22 @@ "4609 0.443182 0.301239 \n", "207 0.395891 0.232128 \n", "5894 0.672984 0.0858264 \n", - "4087 0.732439 0.0242434 \n", + "4087 0.733031 0.0240868 \n", "5604 0.508406 0.39875 \n", "4221 0.606066 0.12052 \n", - "7490 0.565093 0.164725 \n", + "7490 0.565093 0.164721 \n", "4771 0.767271 0.104459 \n", "25 0.54043 0.189474 \n", "4921 0.487645 0.163187 \n", "5159 0.628415 0.138711 \n", "7486 0.561093 0.0948058 \n", "3265 0.869321 -0.0730568 \n", - "5979 0.548448 0.151078 \n", + "5979 0.548448 0.151076 \n", "4893 0.782702 0.0605324 \n", - "7428 0.989289 -0.00110031 \n", + "7428 0.966344 0.00574742 \n", "672 0.62016 -0.00623589 \n", "238 0.540739 0.118167 \n", - "2064 0.730969 0.0968989 \n", + "2064 0.7313 0.0966513 \n", "3791 0.62616 0.0745953 \n", "4089 0.892832 -0.0389552 \n", "6098 0.742351 0.0324319 \n", @@ -924,11 +934,11 @@ "675 0.645226 -0.0247902 \n", "5925 0.760005 0.0607777 \n", "1029 0.825692 -0.0118388 \n", - "5728 0.757154 0.018117 \n", - "4763 0.715576 -0.0012313 \n", + "5728 0.716968 0.0386786 \n", + "4763 0.708792 -0.00442577 \n", "324 0.84182 0.0101554 \n", "673 0.927095 -0.0100076 \n", - "3845 0.847771 0.0377832 \n", + "3845 0.915307 0.012934 \n", "5290 0.799111 0.00305423 \n", "7157 0.88026 0.0136536 " ] @@ -969,19 +979,19 @@ " \n", " mean\n", " 256.657\n", - " 81.4286\n", - " 0.479286\n", - " 0.772121\n", - " 0.692839\n", - " 0.0792817\n", + " 80\n", + " 0.533543\n", + " 0.77205\n", + " 0.692798\n", + " 0.0792519\n", " \n", " \n", " median\n", " 137\n", " 100\n", - " 0.1\n", - " 0.769623\n", - " 0.704208\n", + " 0.766771\n", + " 0.762968\n", + " 0.700795\n", " 0.0610236\n", " \n", " \n", @@ -990,8 +1000,8 @@ ], "text/plain": [ " num_positive n_components alpha train_auroc test_auroc overfit\n", - "mean 256.657 81.4286 0.479286 0.772121 0.692839 0.0792817\n", - "median 137 100 0.1 0.769623 0.704208 0.0610236" + "mean 256.657 80 0.533543 0.77205 0.692798 0.0792519\n", + "median 137 100 0.766771 0.762968 0.700795 0.0610236" ] }, "metadata": {}, @@ -1001,7 +1011,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Wall time: 1min 13s\n" + "Wall time: 1min 7s\n" ] } ], @@ -1029,9 +1039,9 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAApMAAAKaCAYAAABiGdI1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd0VNXax/HvTHpIQoBAEjrSAoJIEUFBitICSJOEjoJ4\nEcFX0StNQy8qCIgoYkHh0gKIIl2KNBERBGmCQCiCkAQCIYEwKfP+EZ0YgzgZncxM8vusNWvdM7MP\n59n7xsmTZ5+9j8FsNpsREREREbGB0dEBiIiIiIjrUjIpIiIiIjZTMikiIiIiNlMyKSIiIiI2UzIp\nIiIiIjZzd3QAIiIiIq5moKG8o0NgjvmMo0MAVJkUERERkX9AyaSIiIiI2EzJpIiIiIjYTPdMioiI\niOSSm8HRETgPVSZFRERExGaqTIqIiIjkkptBpcnfqTIpIiIiIjZTMikiIiIiNtM0t4iIiEguaQFO\nFlUmRURERMRmqkyKiIiI5JIW4GRRZVJEREREbKZkUkRERERspmluERERkVzSApwsqkyKiIiIiM2U\nTIoUMCaTiQ8//JCOHTtSu3ZtHnroIQYOHMihQ4fyPJZZs2bRokULq9v/+uuvrFmzxnLcu3dvRo0a\nZY/QRETuys1gcPjLWWiaW6QAuXXrFn369CEhIYHnn3+eWrVqkZyczPz58+nZsydz586lQYMGjg7z\nL40cOZLg4GDatm0LZCaj7u76GhMRcSR9C4sUIDNmzODMmTOsXr2a4OBgy/tTpkzhypUrjB8/ntWr\nV2Nwor94/8hsNmc7DgwMdFAkIiLyO01zixQQJpOJzz77jCeeeCJbIvm7qKgopk2bhsFg4OLFi7z4\n4os0aNCA2rVrM2jQIM6fP29p27x5c15//XVatWpFgwYNOHLkyB3fM5lMTJkyhUaNGlGnTh169erF\ngQMH/jLGPXv20KtXL2rXrk2NGjXo0KED27dvB2D48OHs3r2blStXUrVqVSDnNPf3339vOf+hhx5i\nwoQJ3Lp1C4BffvmFqlWrsmHDBjp16kSNGjVo1aoVmzZtspx/4MABunXrxv3338+DDz7If//7X65d\nu/bPBl5E8iU3g+NfzkLJpEgBcf78eRITE6lVq9YdPy9TpgxhYWEkJSXRvXt3rl+/zkcffcSCBQu4\nceMGvXr14saNG5b2ixcvZvz48bz//vtUq1btju+98sor7N27lxkzZrBixQoaNGhA7969iYmJyXH9\n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\n2bNnqVOnDt9//z1lypRh2LBheRGfiIiIiNMx7V7h6BDwbNjF0SEAVk5z79271/IM7r59+xIREWH1\nBVI2fmRbZGIV75b9uZWS4ugw8jUfb28GGso7Oox8bY75DACma7GODSSf8wwswc1lbzg6jHzNt+sr\nPLv8oKPDyNfee6KWo0MAwKBpbgurprnT0tLIyMgAwGw2WxbhiIiIiEjBZlVlMjw8nO7du1OrVi1+\n/PFHwsPD7R2XiIiIiLgAq5LJfv360ahRI06fPk2XLl2oWrWqveMSERERcV7aZ9LCqpGIjo5m5cqV\ntG7dmtdff53PP//c3nGJiIiIiAuwqjK5ePFili1bBsD7779Pr1696Nixo10DExEREXFWWoCTxarK\npNFoxN09M+/08PDQAhwRERERAaysTD766KP06NGD++67jyNHjtC8eXN7xyUiIiIiLsCqZHLQoEE0\na9aMmJgYOnbsSFhYGAAHDx6kVi3n2O9JREREJM9omtvC6qVI1apVIzw83JJIQuaTcURERESk4LKq\nMvlXrHgSo4iIiEj+o62BLP7RSGghjoiIiEjBprRaRERERGymaW4RERGRXDK4aQHO76xKJj///HPe\nf/99TCYTZrMZg8HA5s2bad++vb3jExEREREnZlUy+cEHHzBnzhxCQ0OzvR8REWGXoEREREScmrYG\nsrAqmSxTpgzlypWzdywiIiIi4mKsSia9vb15+umnqVatmmUF99ChQ+0amIiIiIg4P6uSySZNmtg7\nDhERERHXoWluC6uSyU6dOtk7DhERERFxQf9oayARERGRgsigJ+BYaCRERERExGZKJkVERETEZprm\nFhEREcktLcCxUGVSRERERGymyqSIiIhIbhlUj/udRkJEREREbKZkUkRERERspmluERERkdzSNLeF\nRkJEREREbKZkUkRERERspmluERERkVwya5rbQiMhIiIiIjZTZVJEREQkt1SZtNBIiIiIiIjNlEyK\niIiIiM00zS0iIiKSWwaDoyNwGqpMioiIiIjNVJkUERERyS2j6nG/00iIiIiIiM0KTGVy++FTvP3l\ndkxpaVQpWYIxPVrj5+OVrc3ibfuJ3vkDBoOBMkGBRHVvRTH/Qty4dZsxi9YRc/kqZrOZ9vVr0K/F\ngw7qifPZvn07s95+G5PJROUqVRgzZgx+fn5Wt0tPT2fq1Kns/uYb0tPT6dOnD10jIjh16hQjRoyw\n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\nrkJggg==\n", + "image/png": "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\nbf2gvundQqWK+umDtbtuu+3JK0mauGan0i1Z1y/9NU49Zq5RfPKNXEjs/pKvXdW8yaP1zMC39cZH\nsxUYEqplM6dm2+7UkYP64dt56jvmIw14/wsFhd6llXM+dUJi12fwMDj9x1VQTP7u4Ze6asuMr7R9\n/jJnR3FLm7fvVpUK5VTmrlBJUvsnmmrpmo2yWLL+CzB38Uq1atpIjzesl2X9zn0H5eFh1LOvDlXL\nHv310ZdfKS0tLdfyu4Mtv8WpSngJlS6e0b1t16CGlv+yP8sY3xNeQouje8i/UEHdSjXr4tUkFfEp\nJEka2PoR9W+Z0SG7lJgikzktW7cN0paDJ1UlLESlgzM6Me3qV9Py7b9lHeewEC0e8mzmOF9LVhHf\nQtbXfz58Spt/O6429armen538FPced0TGqjwYv6SpDY1y2nFvhPZvi9uppr11qIt6vdojSzr45Ou\na/2h05oU1TDXMru7g7t+Vli5SgouGSZJqvd4S+3Y8H22MQ8rV1GDPp6jQr5+SjXd0rUrl+TrX9gZ\nkeFGmOb+XWzfoZKkSo/Ud3IS93T+4mWVKB5oXQ4JDlTy9etKuX4jy1T3m32flyT9tHNPlv3T0tJU\nt2Y1DejZVTdNJvUeMkp+PoXUtXWL3DkAN3A+IUkhRf2tyyFF/JV806SUm6YsU90FPDy0dvdhDZ+7\nUgU8PfRi8waSJIPBIE8PgwZ9sVSrdx1U42rlVSakWLb3ye/OJyQppMifxrnw7+N8y5Sl+C7g4aG1\ne45o+LzVGePcrK4k6eK1ZL27cL0+fqGVFmz5Ndfzu4MLidcVEpD5vVA8wEcpt1KVYjJnmeoeuXyb\nnq4RofLFi2TZP9jfR++1eTDX8uYFVy9dVJGg4tblwkHBunk9RbduXM821e3h6ak9P23U/A/flWeB\nAnq8Q7fcjgs3Y1Nn8tChQ+rYsaNatGihadOmad26dY7OBTeTbkm/7Xqj0bbmd9vmTTSkT3d5eRVQ\ngJ+vnmn9hFZv/vm/jOj2/tpB+IPxNvc6a1y9vNaP6avezeqr90dfKf1Pc4Sjn2mh9WP66tr1m5r6\nl6lZ3GGcDdk/y42rltP6mF7q3bSOek9ZKJPZrIEzV2hAq4YKLpz9XDRkSP+bMfYwZH6Wv/rlsDyN\nBj11b0RuxcrTLH89T+B3hr/5jq5a50G9/eUSNW3/nKYNf03p6bf/js/PnD3F7XbT3CNHjtTo0aNV\n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\n6OhoRUVFqUuXLjpx4sRtt3vrrbc0duy/uybEpmLSYDDovvvuU2Jiopo3b25zJ8RV1K9VXb8eOKzj\np89JkuYtWaXG9Wyfejp8/KQmfz5PaWlpunnrluZ8u0LNHq73zzsC/yHr5/jM75/jpd+rcV3bP8eP\nPVhH3238STdvmWSxWLTmx59VtWKEo+K6rfq1qunX3/40zstWq3HdnF0l/MueA3qg+v9kMGTvtEGq\nV62Sfj1yXCfOXZQkzVu9WY1rV8myzdXkFD07fLKa3F9NY195Vt5eXtbXDp86pw++WqG09HTdNJk0\n97uNerxujVw9BlfV7rkX9O4ns/TuJ7MU88F0HT6wV+dOn5Qkfb/kG9Wu92C2fZITr2lYv166/8FG\n+r+3RsqroO1/OMF1rV69WiaTSfPmzdOrr76qMWPGZNsmNjZWhw79+6aCTedMms1mvffee6pdu7Z+\n+uknpaam/us3zk2BRQsrZsBL6jdirFLNZoWFhmj0wL7ae/CI3ho/5R+v0n6xSzvFTP5UT/V4VeY0\ns5o+VFdtIh/NpfRAhsCihRXzWm/1e3u8UlPNCisZotED+mjvoaMZn+Mp791x/w5PNNW1pGS1eWmg\n0tPTdU+5snq9Z9dcSu8+AosUVkz/XuoXMzHz+2LAixnjPPETLfwo+xfyX504c16lQoJyIa17Cizs\nr5heHfV/E2bIbE5TWEigRr3UWXuPnlT0tFh9887rmvf9Zp27lKDV2/Zo9bbM838/e/MlvdjmcY2c\nsUAtB4yROS1NTR+4V20a173DO+ZPhYsWU+8Bb2n8sEEym80qUbKUXnoj49z1owcPaOrYkXr3k1la\ntfgbXbp4Qds2/aBtm36w7v/W2A/lX7iwk9K7PleaZr6d7du368EHM/54uPfee7V3b9bzu3fs2KHd\nu3crKipKx44d+1fvZbD83UkVf3L8+HFt3rxZbdu21erVq1W1alWFhYX9026SpLRTe/55I9jNI6yq\nehnKODtGnjbFclxpJ3Y7O0ae5lG6uiQpLW6Hk5PkbR5la8q8c6WzY+RpnjUe164zV/95Q9jt3lKu\ncZ/L5NkjnB1Bfp2i//a1IUOG6LHHHlPDhg0lSQ8//LBWr14tT09PXbx4UYMGDdIHH3ygFStW6Nix\nY3rttdfszmFTZ3LmzJmKjs4IHBkZqddff13vvvuu3W8KAADgzlzp1jy34+fnp5SUFOtyenq6PD0z\n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\nB9X9VceOHXn66aeLPqC7zJAhQ3K9V+rMmTMdYiS73LvsqZvZ1u7pyqSIiIiINUq9/LmtQ+DKig9s\nHQLgAANwRERERMR+3RPd3CIiIiL/JKO6uc1UmRQRERERq6kyKSIiIlJAGoCTRZVJEREREbGakkkR\nERERsZq6uUVEREQKSN3cWVSZFBERERGrqTIpIiIiUkCmTFUm/6TKpIiIiIhYTcmkiIiIiFhN3dwi\nIiIiBaQBOFlUmRQRERERq6kyKSIiIlJAqkxmUWVSRERERKymZFJERERErKZubhEREZECUjd3FlUm\nRURERMRqqkyKiIiIFJDJaLR1CHZDlUkRERERsZqSSRERERGxmrq5RURERApIA3CyqDIpIiIiIlZT\nZVJERESkgFSZzKLKpIiIiIhYTcmkiIiIiFhN3dwiIiIiBWRUN7eZKpMiIiIiYjUlkyIiIiJiNXVz\ni4iIiBSQKVPd3H9SZVJERERErKbKpIiIiEgB6T6TWVSZFBERERGrKZkUEREREaupm1tERESkgNTN\nnUWVSRERERGxmiqTIiIiIgWkymQWVSZFRERExGpKJkVERETEaurmFhERESkgdXNnUWVSRERERKxm\nMJlMJlsHISIiIiKOSZVJEREREbGakkkRERERsZqSSRERERGxmpJJEREREbGakkkRERERsZqSSRER\nERGx2v8Byc0k+rtOSkgAAAAASUVORK5CYII=\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -1109,20 +1119,20 @@ " \n", " mean\n", " 256.657\n", - " 278.286\n", - " 0.322429\n", - " 0.801122\n", - " 0.707124\n", - " 0.0939983\n", + " 261.143\n", + " 0.347371\n", + " 0.793946\n", + " 0.705682\n", + " 0.0882634\n", " \n", " \n", " median\n", " 137\n", " 160\n", " 0.1\n", - " 0.810867\n", - " 0.720894\n", - " 0.0690108\n", + " 0.787152\n", + " 0.707957\n", + " 0.0707356\n", " \n", " \n", "\n", @@ -1130,8 +1140,8 @@ ], "text/plain": [ " num_positive n_components alpha train_auroc test_auroc overfit\n", - "mean 256.657 278.286 0.322429 0.801122 0.707124 0.0939983\n", - "median 137 160 0.1 0.810867 0.720894 0.0690108" + "mean 256.657 261.143 0.347371 0.793946 0.705682 0.0882634\n", + "median 137 160 0.1 0.787152 0.707957 0.0707356" ] }, "metadata": {}, @@ -1141,11 +1151,11 @@ "name": "stdout", "output_type": "stream", "text": [ - "Mean testing Auroc improved by 1.40%\n", - "Median testing Auroc improved by 1.67%\n", - "Mean overfitting reduced by 1.5%\n", - "Median overfitting reduced by 0.8%\n", - "Wall time: 5min 33s\n" + "Mean testing Auroc improved by 1.27%\n", + "Median testing Auroc improved by 0.72%\n", + "Mean overfitting reduced by -1.0%\n", + "Median overfitting reduced by -1.0%\n", + "Wall time: 5min 4s\n" ] } ], @@ -1203,20 +1213,121 @@ " \n", " mean\n", " 256.657\n", - " 87.1429\n", - " 0.579057\n", - " 0.777793\n", - " 0.69064\n", - " 0.087153\n", + " 640\n", + " 0.538429\n", + " 0.833917\n", + " 0.709258\n", + " 0.124658\n", + " \n", + " \n", + " median\n", + " 137\n", + " 640\n", + " 0.769214\n", + " 0.852768\n", + " 0.713322\n", + " 0.0894777\n", + " \n", + " \n", + "\n", + "" + ], + "text/plain": [ + " num_positive n_components alpha train_auroc test_auroc overfit\n", + "mean 256.657 640 0.538429 0.833917 0.709258 0.124658\n", + "median 137 640 0.769214 0.852768 0.713322 0.0894777" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean testing Auroc improved by 1.62%\n", + "Median testing Auroc improved by 1.25%\n", + "Mean overfitting reduced by -4.6%\n", + "Median overfitting reduced by -2.8%\n", + "Wall time: 2min 6s\n" + ] + } + ], + "source": [ + "%%time\n", + "# k_max. Test if a range is even any better than just the largest number...\n", + "metrics_df = evaluate_classifier(X_train = X_train,\n", + " X_test = X_test,\n", + " y = y,\n", + " y_train_allgenes = y_train_allgenes,\n", + " y_test_allgenes = y_test_allgenes,\n", + " list_of_genes = list_of_genes,\n", + " set_k_range = [640],\n", + " k_function = None,\n", + " alpha_range = [10** x for x in range(-3, 1)],\n", + " l1_ratio = [0.15])\n", + "display_stats(metrics_df, metrics_df_current_setup, verbose = False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Interesting, but maybe not too suprising. Looks like the range as opposed to just the max helps with overfitting but actually hurts with overall accurace" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "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", "
num_positiven_componentsalphatrain_auroctest_aurocoverfit
mean256.65785.71430.4944570.7761750.69470.0814751
median13710010.773780.671310.05562020.2972290.7768170.6875230.0524966
\n", @@ -1224,8 +1335,8 @@ ], "text/plain": [ " num_positive n_components alpha train_auroc test_auroc overfit\n", - "mean 256.657 87.1429 0.579057 0.777793 0.69064 0.087153\n", - "median 137 100 1 0.77378 0.67131 0.0556202" + "mean 256.657 85.7143 0.494457 0.776175 0.6947 0.0814751\n", + "median 137 100 0.297229 0.776817 0.687523 0.0524966" ] }, "metadata": {}, @@ -1235,11 +1346,11 @@ "name": "stdout", "output_type": "stream", "text": [ - "Mean testing Auroc improved by -0.25%\n", - "Median testing Auroc improved by -3.29%\n", - "Mean overfitting reduced by 0.8%\n", - "Median overfitting reduced by -0.5%\n", - "Wall time: 1min 5s\n" + "Mean testing Auroc improved by 0.17%\n", + "Median testing Auroc improved by -1.33%\n", + "Mean overfitting reduced by -0.3%\n", + "Median overfitting reduced by 0.9%\n", + "Wall time: 1min 4s\n" ] } ], @@ -1261,7 +1372,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -1297,19 +1408,19 @@ " \n", " mean\n", " 256.657\n", - " 80\n", - " 2.6378\n", - " 0.778227\n", - " 0.701872\n", - " 0.0763544\n", + " 78.5714\n", + " 2.69206\n", + " 0.7786\n", + " 0.70246\n", + " 0.0761406\n", " \n", " \n", " median\n", " 137\n", " 100\n", " 1\n", - " 0.776749\n", - " 0.699288\n", + " 0.774517\n", + " 0.699582\n", " 0.0584197\n", " \n", " \n", @@ -1317,9 +1428,9 @@ "
" ], "text/plain": [ - " num_positive n_components alpha train_auroc test_auroc overfit\n", - "mean 256.657 80 2.6378 0.778227 0.701872 0.0763544\n", - "median 137 100 1 0.776749 0.699288 0.0584197" + " num_positive n_components alpha train_auroc test_auroc overfit\n", + "mean 256.657 78.5714 2.69206 0.7786 0.70246 0.0761406\n", + "median 137 100 1 0.774517 0.699582 0.0584197" ] }, "metadata": {}, @@ -1329,11 +1440,11 @@ "name": "stdout", "output_type": "stream", "text": [ - "Mean testing Auroc improved by 0.87%\n", - "Median testing Auroc improved by -0.49%\n", - "Mean overfitting reduced by -0.2%\n", - "Median overfitting reduced by -0.3%\n", - "Wall time: 3min 4s\n" + "Mean testing Auroc improved by 0.94%\n", + "Median testing Auroc improved by -0.12%\n", + "Mean overfitting reduced by 0.3%\n", + "Median overfitting reduced by 0.3%\n", + "Wall time: 3min 7s\n" ] } ], @@ -1355,7 +1466,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "metadata": {}, "outputs": [ { @@ -1394,8 +1505,8 @@ " 94.2857\n", " 346141\n", " 0.829757\n", - " 0.763779\n", - " 0.0659776\n", + " 0.763774\n", + " 0.0659825\n", " \n", " \n", " median\n", @@ -1412,7 +1523,7 @@ ], "text/plain": [ " num_positive n_components alpha train_auroc test_auroc overfit\n", - "mean 256.657 94.2857 346141 0.829757 0.763779 0.0659776\n", + "mean 256.657 94.2857 346141 0.829757 0.763774 0.0659825\n", "median 137 100 55 0.830814 0.75685 0.0418654" ] }, @@ -1423,11 +1534,11 @@ "name": "stdout", "output_type": "stream", "text": [ - "Mean testing Auroc improved by 7.06%\n", - "Median testing Auroc improved by 5.26%\n", - "Mean overfitting reduced by -1.3%\n", - "Median overfitting reduced by -1.9%\n", - "Wall time: 2min 47s\n" + "Mean testing Auroc improved by 7.08%\n", + "Median testing Auroc improved by 5.61%\n", + "Mean overfitting reduced by 1.3%\n", + "Median overfitting reduced by 1.9%\n", + "Wall time: 2min 54s\n" ] } ], @@ -1449,7 +1560,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -1485,20 +1596,20 @@ " \n", " mean\n", " 256.657\n", - " 250.286\n", - " 1.65001\n", - " 0.784082\n", - " 0.693647\n", - " 0.0904347\n", + " 226.286\n", + " 1.68035\n", + " 0.777703\n", + " 0.691562\n", + " 0.0861411\n", " \n", " \n", " median\n", " 137\n", " 160\n", " 0.1\n", - " 0.77442\n", - " 0.667338\n", - " 0.0688078\n", + " 0.763551\n", + " 0.669836\n", + " 0.0685817\n", " \n", " \n", "\n", @@ -1506,8 +1617,8 @@ ], "text/plain": [ " num_positive n_components alpha train_auroc test_auroc overfit\n", - "mean 256.657 250.286 1.65001 0.784082 0.693647 0.0904347\n", - "median 137 160 0.1 0.77442 0.667338 0.0688078" + "mean 256.657 226.286 1.68035 0.777703 0.691562 0.0861411\n", + "median 137 160 0.1 0.763551 0.669836 0.0685817" ] }, "metadata": {}, @@ -1517,11 +1628,11 @@ "name": "stdout", "output_type": "stream", "text": [ - "Mean testing Auroc improved by 0.05%\n", - "Median testing Auroc improved by -3.69%\n", - "Mean overfitting reduced by 1.2%\n", - "Median overfitting reduced by 0.8%\n", - "Wall time: 20min 46s\n" + "Mean testing Auroc improved by -0.15%\n", + "Median testing Auroc improved by -3.10%\n", + "Mean overfitting reduced by -0.7%\n", + "Median overfitting reduced by -0.8%\n", + "Wall time: 19min 20s\n" ] } ], @@ -1543,7 +1654,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -1579,29 +1690,29 @@ " \n", " mean\n", " 256.657\n", - " 339.714\n", - " 0.5356\n", - " 0.819726\n", - " 0.707562\n", - " 0.112164\n", + " 347.714\n", + " 0.537914\n", + " 0.825945\n", + " 0.709964\n", + " 0.115981\n", " \n", " \n", " median\n", " 137\n", " 320\n", - " 0.7678\n", - " 0.843322\n", - " 0.706824\n", - " 0.105766\n", + " 0.768957\n", + " 0.86\n", + " 0.718275\n", + " 0.10949\n", " \n", " \n", "\n", "" ], "text/plain": [ - " num_positive n_components alpha train_auroc test_auroc overfit\n", - "mean 256.657 339.714 0.5356 0.819726 0.707562 0.112164\n", - "median 137 320 0.7678 0.843322 0.706824 0.105766" + " num_positive n_components alpha train_auroc test_auroc overfit\n", + "mean 256.657 347.714 0.537914 0.825945 0.709964 0.115981\n", + "median 137 320 0.768957 0.86 0.718275 0.10949" ] }, "metadata": {}, @@ -1611,11 +1722,11 @@ "name": "stdout", "output_type": "stream", "text": [ - "Mean testing Auroc improved by 1.44%\n", - "Median testing Auroc improved by 0.26%\n", - "Mean overfitting reduced by 3.3%\n", - "Median overfitting reduced by 4.5%\n", - "Wall time: 4min 51s\n" + "Mean testing Auroc improved by 1.69%\n", + "Median testing Auroc improved by 1.75%\n", + "Mean overfitting reduced by -3.7%\n", + "Median overfitting reduced by -4.8%\n", + "Wall time: 5min 12s\n" ] } ], @@ -1637,7 +1748,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -1709,11 +1820,11 @@ "name": "stdout", "output_type": "stream", "text": [ - "Mean testing Auroc improved by 8.17%\n", - "Median testing Auroc improved by 5.45%\n", - "Mean overfitting reduced by -0.2%\n", - "Median overfitting reduced by -0.2%\n", - "Wall time: 18min 11s\n" + "Mean testing Auroc improved by 8.18%\n", + "Median testing Auroc improved by 5.79%\n", + "Mean overfitting reduced by 0.2%\n", + "Median overfitting reduced by 0.2%\n", + "Wall time: 17min 21s\n" ] } ], @@ -1733,6 +1844,111 @@ "display_stats(metrics_df, metrics_df_current_setup, verbose = False)" ] }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "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", + "
num_positiven_componentsalphatrain_auroctest_aurocoverfit
mean256.6576403.14889e+070.8700030.7718270.0981763
median137640550.8726640.7551830.0634218
\n", + "
" + ], + "text/plain": [ + " num_positive n_components alpha train_auroc test_auroc \\\n", + "mean 256.657 640 3.14889e+07 0.870003 0.771827 \n", + "median 137 640 55 0.872664 0.755183 \n", + "\n", + " overfit \n", + "mean 0.0981763 \n", + "median 0.0634218 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean testing Auroc improved by 7.88%\n", + "Median testing Auroc improved by 5.44%\n", + "Mean overfitting reduced by -1.9%\n", + "Median overfitting reduced by -0.2%\n", + "Wall time: 7min 13s\n" + ] + } + ], + "source": [ + "%%time\n", + "# All three: k_range, alpha_range and l1_ratio... Again this time only use the max of the k_range\n", + "metrics_df = evaluate_classifier(X_train = X_train,\n", + " X_test = X_test,\n", + " y = y,\n", + " y_train_allgenes = y_train_allgenes,\n", + " y_test_allgenes = y_test_allgenes,\n", + " list_of_genes = list_of_genes,\n", + " set_k_range = [640],\n", + " k_function = None,\n", + " alpha_range = [10** x for x in range(-10, 10)],\n", + " l1_ratio = [0])\n", + "display_stats(metrics_df, metrics_df_current_setup, verbose = False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With the larger aplha range and l1_ratio it looks like having the range of k as opposed to just the max helps with both overall performance as well as overfitting" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -1742,7 +1958,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 22, "metadata": { "collapsed": true }, @@ -1765,7 +1981,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 23, "metadata": {}, "outputs": [ { @@ -1801,20 +2017,20 @@ " \n", " mean\n", " 256.657\n", - " 148.029\n", - " 0.487771\n", - " 0.751992\n", - " 0.694464\n", - " 0.0575281\n", + " 166.314\n", + " 0.464371\n", + " 0.753238\n", + " 0.695742\n", + " 0.0574961\n", " \n", " \n", " median\n", " 137\n", - " 90\n", + " 100\n", " 0.1\n", - " 0.754546\n", - " 0.690607\n", - " 0.0582396\n", + " 0.755169\n", + " 0.691246\n", + " 0.0582237\n", " \n", " \n", "\n", @@ -1822,8 +2038,8 @@ ], "text/plain": [ " num_positive n_components alpha train_auroc test_auroc overfit\n", - "mean 256.657 148.029 0.487771 0.751992 0.694464 0.0575281\n", - "median 137 90 0.1 0.754546 0.690607 0.0582396" + "mean 256.657 166.314 0.464371 0.753238 0.695742 0.0574961\n", + "median 137 100 0.1 0.755169 0.691246 0.0582237" ] }, "metadata": {}, @@ -1833,11 +2049,11 @@ "name": "stdout", "output_type": "stream", "text": [ - "Mean testing Auroc improved by 0.13%\n", - "Median testing Auroc improved by -1.36%\n", - "Mean overfitting reduced by -2.1%\n", - "Median overfitting reduced by -0.3%\n", - "Wall time: 3min 25s\n" + "Mean testing Auroc improved by 0.27%\n", + "Median testing Auroc improved by -0.95%\n", + "Mean overfitting reduced by 2.1%\n", + "Median overfitting reduced by 0.3%\n", + "Wall time: 3min 42s\n" ] } ], @@ -1859,7 +2075,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 24, "metadata": {}, "outputs": [ { @@ -1895,29 +2111,29 @@ " \n", " mean\n", " 256.657\n", - " 147.029\n", - " 1.47858\n", - " 0.763301\n", - " 0.707111\n", - " 0.0561901\n", + " 169.6\n", + " 1.4526\n", + " 0.766604\n", + " 0.7085\n", + " 0.0581044\n", " \n", " \n", " median\n", " 137\n", " 80\n", " 0.1\n", - " 0.760201\n", - " 0.70515\n", - " 0.0470075\n", + " 0.761007\n", + " 0.705845\n", + " 0.0491028\n", " \n", " \n", "\n", "" ], "text/plain": [ - " num_positive n_components alpha train_auroc test_auroc overfit\n", - "mean 256.657 147.029 1.47858 0.763301 0.707111 0.0561901\n", - "median 137 80 0.1 0.760201 0.70515 0.0470075" + " num_positive n_components alpha train_auroc test_auroc overfit\n", + "mean 256.657 169.6 1.4526 0.766604 0.7085 0.0581044\n", + "median 137 80 0.1 0.761007 0.705845 0.0491028" ] }, "metadata": {}, @@ -1927,11 +2143,11 @@ "name": "stdout", "output_type": "stream", "text": [ - "Mean testing Auroc improved by 1.40%\n", - "Median testing Auroc improved by 0.09%\n", - "Mean overfitting reduced by -2.3%\n", - "Median overfitting reduced by -1.4%\n", - "Wall time: 13min\n" + "Mean testing Auroc improved by 1.55%\n", + "Median testing Auroc improved by 0.50%\n", + "Mean overfitting reduced by 2.1%\n", + "Median overfitting reduced by 1.2%\n", + "Wall time: 11min 20s\n" ] } ], @@ -1953,7 +2169,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 25, "metadata": {}, "outputs": [ { @@ -2525,11 +2741,11 @@ "name": "stdout", "output_type": "stream", "text": [ - "Mean testing Auroc improved by 8.56%\n", - "Median testing Auroc improved by 5.12%\n", - "Mean overfitting reduced by -1.8%\n", - "Median overfitting reduced by -1.3%\n", - "Wall time: 10min 36s\n" + "Mean testing Auroc improved by 8.57%\n", + "Median testing Auroc improved by 5.47%\n", + "Mean overfitting reduced by 1.8%\n", + "Median overfitting reduced by 1.3%\n", + "Wall time: 10min 9s\n" ] } ], @@ -2548,13 +2764,6 @@ " l1_ratio = [0])\n", "display_stats(metrics_df, metrics_df_current_setup)" ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## TO DO: Evaluate queries that only use a subset of diseases or a single disease" - ] } ], "metadata": { diff --git a/explore/number-of-components/number_of_pca_components.py b/explore/number-of-components/number_of_pca_components.py index fb200c2..e5587e1 100644 --- a/explore/number-of-components/number_of_pca_components.py +++ b/explore/number-of-components/number_of_pca_components.py @@ -3,6 +3,11 @@ # # Explore how many PCA Components to Keep and Hyperparameter Tuning +# ## Takeaways after running this notebook: +# 1. The accurace gain by searching over a larger range of n_components seems to be small (~1%-2% gain in testing AUROC on average), even when the range of n_components is selected for each query based on a heuristic around class balance. +# 2. There is a similar accurace gain when only the largest value in the range is used +# 2. There is a larger performance gain if the l1_ratio is changed from 0.15 to 0 and the range of alpha is expanded (~5%-7% gain in testing AUROC on average) there isn't much performance gain if these parameters are changed independent of each other. + # __Purpose__ # # As described in issue #106 (https://github.com/cognoma/machine-learning/issues/106), searching over a large range of n_components (number of PCA components) causes issues with both speed and memory and may also cause issues with overfitting. This notebook is an attempt to explore the relationship between the number of components returned by PCA, the other hyperparameters and classifier performance (AUROC). Ideally, we will be able to automatically select a range of n_components to search across based on the specifics of the query. The assumption is that for the lower number of positive samples (and/or the less total samples)... the less n-components to include (i.e. a query with only 40 positive samples would use a classifer that does GridSearchCV with n_components = [30, 40, 50] whereas a query with 1,000 positive samples would use a classifier that does GridSearchCV with n_components = [100, 200, 300] _just random numbers for purpose of illustration_). This notebook attempts to provide some basis for selecting the range of n_components. @@ -36,6 +41,7 @@ # In[1]: + import os import time @@ -56,11 +62,13 @@ # In[2]: + RANDOMSEED = 0 # In[3]: + get_ipython().run_cell_magic('time', '', "# Load the data\ntry: \n path = os.path.join('download', 'expression-matrix.pkl')\n X = pd.read_pickle(path)\nexcept:\n path = os.path.join('download', 'expression-matrix.tsv.bz2')\n X = pd.read_table(path, index_col=0)\n\ntry:\n path = os.path.join('download', 'mutation-matrix.pkl')\n y = pd.read_pickle(path)\nexcept:\n path = os.path.join('download', 'mutation-matrix.tsv.bz2')\n y = pd.read_table(path, index_col=0)") @@ -68,12 +76,14 @@ # In[4]: + # Test Train split X_train, X_test, y_train_allgenes, y_test_allgenes = train_test_split(X, y, test_size=0.2, random_state=RANDOMSEED) # In[5]: + get_ipython().run_cell_magic('time', '', 'scaler = StandardScaler()\npca = PCA(n_components = 1000, random_state = RANDOMSEED)\nscaler.fit(X_train)\nX_train_scaled = scaler.transform(X_train)\npca.fit(X_train_scaled)\nX_train = pca.transform(X_train_scaled)\n\nX_test_scaled = scaler.transform(X_test)\nX_test = pca.transform(X_test_scaled)') @@ -81,6 +91,7 @@ # In[6]: + # List of genes to iterate over (from brankaj's notebook: # https://github.com/cognoma/machine-learning/blob/master/explore/Classifier_results-different_genes.ipynb) genes_LungCancer = { @@ -138,6 +149,7 @@ # In[7]: + list_of_genes_positives = [] for gene in list_of_genes: y_temp = y_train_allgenes[gene] @@ -151,6 +163,7 @@ # In[8]: + def variance_scorer(x, y): """ Get the variance for each column of X. @@ -167,6 +180,7 @@ def variance_scorer(x, y): # In[9]: + def evaluate_classifier(X_train, X_test, y, y_train_allgenes, y_test_allgenes, list_of_genes, @@ -266,6 +280,7 @@ def get_threshold_metrics(y_true, y_pred): # In[10]: + def display_stats(metrics_df, metrics_df_tocompare = None, verbose = True): if verbose: display(metrics_df) @@ -283,8 +298,8 @@ def display_stats(metrics_df, metrics_df_tocompare = None, verbose = True): # Evaluate the improvement mean_testing_auroc_improvement = metrics_df_summary['test_auroc']['mean'] - metrics_df_to_compare_summary['test_auroc']['mean'] median_testing_auroc_improvement = metrics_df_summary['test_auroc']['median'] - metrics_df_to_compare_summary['test_auroc']['median'] - mean_overfit_reduction = metrics_df_summary['overfit']['mean'] - metrics_df_to_compare_summary['overfit']['mean'] - median_overfit_reduction = metrics_df_summary['overfit']['median'] - metrics_df_to_compare_summary['overfit']['median'] + mean_overfit_reduction = metrics_df_to_compare_summary['overfit']['mean'] - metrics_df_summary['overfit']['mean'] + median_overfit_reduction = metrics_df_to_compare_summary['overfit']['median'] - metrics_df_summary['overfit']['median'] print('Mean testing Auroc improved by {:.2f}%'.format(mean_testing_auroc_improvement*100)) print('Median testing Auroc improved by {:.2f}%'.format(median_testing_auroc_improvement*100)) print('Mean overfitting reduced by {:.1f}%'.format(mean_overfit_reduction*100)) @@ -295,11 +310,13 @@ def display_stats(metrics_df, metrics_df_tocompare = None, verbose = True): # In[11]: + get_ipython().run_cell_magic('time', '', 'metrics_df_current_setup = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = [50, 100],\n k_function = None,\n alpha_range = [10** x for x in range(-3, 1)],\n l1_ratio = [0.15])\ndisplay_stats(metrics_df_current_setup, metrics_df_tocompare = None)') # In[12]: + # Show how some of these metrics/parameters might be related metrics_df_for_correlations = metrics_df_current_setup[['num_positive', 'n_components', 'alpha', 'train_auroc', 'test_auroc', 'overfit']] plt.figure(figsize=(12,12)) @@ -324,42 +341,66 @@ def display_stats(metrics_df, metrics_df_tocompare = None, verbose = True): # In[13]: + get_ipython().run_cell_magic('time', '', '# k_range\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = [10, 20, 40, 80, 160, 320, 640],\n k_function = None,\n alpha_range = [10** x for x in range(-3, 1)],\n l1_ratio = [0.15])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') # In[14]: -get_ipython().run_cell_magic('time', '', '# l1_ratio\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = [50, 100],\n k_function = None,\n alpha_range = [10** x for x in range(-3, 1)],\n l1_ratio = [0])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') + +get_ipython().run_cell_magic('time', '', '# k_max. Test if a range is even any better than just the largest number...\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = [640],\n k_function = None,\n alpha_range = [10** x for x in range(-3, 1)],\n l1_ratio = [0.15])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') +# Interesting, but maybe not too suprising. Looks like the range as opposed to just the max helps with overfitting but actually hurts with overall accurace + # In[15]: -get_ipython().run_cell_magic('time', '', '# alpha_range\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = [50, 100],\n k_function = None,\n alpha_range = [10** x for x in range(-10, 10)],\n l1_ratio = [0.15])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') + +get_ipython().run_cell_magic('time', '', '# l1_ratio\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = [50, 100],\n k_function = None,\n alpha_range = [10** x for x in range(-3, 1)],\n l1_ratio = [0])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') # In[16]: -get_ipython().run_cell_magic('time', '', '# alpha_range and l1_ratio\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = [50, 100],\n k_function = None,\n alpha_range = [10** x for x in range(-10, 10)],\n l1_ratio = [0])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') + +get_ipython().run_cell_magic('time', '', '# alpha_range\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = [50, 100],\n k_function = None,\n alpha_range = [10** x for x in range(-10, 10)],\n l1_ratio = [0.15])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') # In[17]: -get_ipython().run_cell_magic('time', '', '# alpha_range and k_range\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = [10, 20, 40, 80, 160, 320, 640],\n k_function = None,\n alpha_range = [10** x for x in range(-10, 10)],\n l1_ratio = [0.15])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') + +get_ipython().run_cell_magic('time', '', '# alpha_range and l1_ratio\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = [50, 100],\n k_function = None,\n alpha_range = [10** x for x in range(-10, 10)],\n l1_ratio = [0])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') # In[18]: -get_ipython().run_cell_magic('time', '', '# k_range and l1_ratio\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = [10, 20, 40, 80, 160, 320, 640],\n k_function = None,\n alpha_range = [10** x for x in range(-3, 1)],\n l1_ratio = [0])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') + +get_ipython().run_cell_magic('time', '', '# alpha_range and k_range\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = [10, 20, 40, 80, 160, 320, 640],\n k_function = None,\n alpha_range = [10** x for x in range(-10, 10)],\n l1_ratio = [0.15])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') # In[19]: + +get_ipython().run_cell_magic('time', '', '# k_range and l1_ratio\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = [10, 20, 40, 80, 160, 320, 640],\n k_function = None,\n alpha_range = [10** x for x in range(-3, 1)],\n l1_ratio = [0])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') + + +# In[20]: + + get_ipython().run_cell_magic('time', '', '# All three: k_range, alpha_range and l1_ratio\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = [10, 20, 40, 80, 160, 320, 640],\n k_function = None,\n alpha_range = [10** x for x in range(-10, 10)],\n l1_ratio = [0])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') +# In[21]: + + +get_ipython().run_cell_magic('time', '', '# All three: k_range, alpha_range and l1_ratio... Again this time only use the max of the k_range\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = [640],\n k_function = None,\n alpha_range = [10** x for x in range(-10, 10)],\n l1_ratio = [0])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') + + +# With the larger aplha range and l1_ratio it looks like having the range of k as opposed to just the max helps with both overall performance as well as overfitting + # ### Use a function to automatically select the parameter space to search -# In[20]: +# In[22]: + # k_range function def k_func(num_positives): @@ -376,19 +417,20 @@ def k_func(num_positives): return(k_range) -# In[21]: +# In[23]: + get_ipython().run_cell_magic('time', '', '# k_range func\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = None,\n k_function = k_func,\n alpha_range = [10** x for x in range(-3, 1)],\n l1_ratio = [0.15])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') -# In[22]: +# In[24]: + get_ipython().run_cell_magic('time', '', '# k_range func with larger alpha range\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = None,\n k_function = k_func,\n alpha_range = [10** x for x in range(-10, 10)],\n l1_ratio = [0.15])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') -# In[23]: +# In[25]: -get_ipython().run_cell_magic('time', '', '# k_range func with larger alpha range and l1_ratio = 0\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = None,\n k_function = k_func,\n alpha_range = [10** x for x in range(-10, 10)],\n l1_ratio = [0])\ndisplay_stats(metrics_df, metrics_df_current_setup)') +get_ipython().run_cell_magic('time', '', '# k_range func with larger alpha range and l1_ratio = 0\nmetrics_df = evaluate_classifier(X_train = X_train,\n X_test = X_test,\n y = y,\n y_train_allgenes = y_train_allgenes,\n y_test_allgenes = y_test_allgenes,\n list_of_genes = list_of_genes,\n set_k_range = None,\n k_function = k_func,\n alpha_range = [10** x for x in range(-10, 10)],\n l1_ratio = [0])\ndisplay_stats(metrics_df, metrics_df_current_setup)') -# ## TO DO: Evaluate queries that only use a subset of diseases or a single disease diff --git a/explore/number-of-components/number_of_pca_components_(subset_by_disease).ipynb b/explore/number-of-components/number_of_pca_components_(subset_by_disease).ipynb new file mode 100644 index 0000000..68b7ae0 --- /dev/null +++ b/explore/number-of-components/number_of_pca_components_(subset_by_disease).ipynb @@ -0,0 +1,2079 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Explore how many PCA Components to Keep and Hyperparameter Tuning \n", + "# (Queries with subset of the diseases)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "__Purpose__\n", + "\n", + "Address issue #106 (https://github.com/cognoma/machine-learning/issues/106). Evaluate queries that don't inlcude all the samples but rather subset the samples by disease(s).\n", + "\n", + "__Assumptions/Notes:__\n", + "\n", + "This notebook differs from the current classifier in a number of ways including:\n", + "1. In this notebook, PCA is performed on the entire training set prior to cross-validation rather than performed on each individual cross-validation split. This is done for simplicity and to save time and memory.\n", + "2. In this notebook, the covariates data is not used (for now at least).\n", + "\n", + "\n", + "__To Do:__\n", + "\n", + "1. Some additional evaluation and... select a final setup.\n", + "2. _We could also try to add the covariates data into this evaluation and see how that changes things but I'm not planning on doing that at this point._" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Outline:\n", + "1. Imports, constants and load the data\n", + "2. Build the querry set\n", + " * List of genes\n", + " * Summary stats for each gene-disease combo\n", + " * Generate a set of queries\n", + "3. Evaluate queries with a subset of diseases and varying number of positives\n", + " - a. Define some helper functions\n", + " - b. See how the parameters are related using the current setup\n", + " - c. Evaluate how changing some of the parameters effects performance\n", + " - d. See if we can use a function to automatically select the number of components" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. Imports, constants and load the data" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import os\n", + "import time\n", + "import random\n", + "import math\n", + "\n", + "from sklearn.decomposition import PCA\n", + "from sklearn.linear_model import SGDClassifier\n", + "from sklearn.metrics import roc_auc_score, roc_curve\n", + "from sklearn.model_selection import train_test_split, StratifiedKFold\n", + "from dask_searchcv import GridSearchCV\n", + "from sklearn.pipeline import Pipeline, FeatureUnion\n", + "from sklearn.preprocessing import StandardScaler, FunctionTransformer\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import pandas as pd\n", + "import seaborn as sns\n", + "from sklearn.feature_selection import SelectKBest" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "RANDOMSEED = 0" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Wall time: 5.24 s\n" + ] + } + ], + "source": [ + "%%time\n", + "# Load the data\n", + "try: \n", + " path = os.path.join('download', 'expression-matrix.pkl')\n", + " X = pd.read_pickle(path)\n", + "except:\n", + " path = os.path.join('download', 'expression-matrix.tsv.bz2')\n", + " X = pd.read_table(path, index_col=0)\n", + "\n", + "try:\n", + " path = os.path.join('download', 'mutation-matrix.pkl')\n", + " y = pd.read_pickle(path)\n", + "except:\n", + " path = os.path.join('download', 'mutation-matrix.tsv.bz2')\n", + " y = pd.read_table(path, index_col=0)\n", + " \n", + "path = os.path.join('download', 'covariates.tsv')\n", + "covariates = pd.read_table(path,index_col=0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Build the query set" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# List of genes to iterate over (from brankaj's notebook: \n", + "# https://github.com/cognoma/machine-learning/blob/master/explore/Classifier_results-different_genes.ipynb)\n", + "genes_LungCancer = {\n", + " '207': 'AKT1', \n", + " '238': 'ALK', \n", + " '673': 'BRAF', \n", + " '4921':'DDR2',\n", + " '1956':'EGFR',\n", + " '2064':'ERBB2',\n", + " '3845':'KRAS',\n", + " '5604':'MAP2K1',\n", + " '4893':'NRAS',\n", + " '5290':'PIK3CA',\n", + " '5728':'PTEN',\n", + " '5979':'RET',\n", + " # '6016':'RIT1', (removed because too few positives)\n", + " '6098':'ROS1',\n", + "}\n", + "\n", + "genes_TumorSuppressors = {\n", + " '324': 'APC', \n", + " '672': 'BRCA1', \n", + " '675': 'BRCA2',\n", + " '1029':'CDKN2A',\n", + " '1630':'DCC',\n", + " '4089':'SMAD4',\n", + " '4087':'SMAD2',\n", + " '4221':'MEN1',\n", + " '4763':'NF1',\n", + " '4771':'NF2',\n", + " '7157':'TP53', \n", + " '5728':'PTEN', \n", + " '5925':'RB1',\n", + " '7428':'VHL',\n", + " '7486':'WRN',\n", + " '7490':'WT1',\n", + "}\n", + "\n", + "genes_Oncogenes = {\n", + " #'5155':'PDGFB', #growth factor (removed because too few positives)\n", + " '5159':'PDGFRB', #growth factor \n", + " '3791':'KDR', #receptor tyrosine kinases\n", + " '25':'ABL1', #Cytoplasmic tyrosine kinases\n", + " '6714':'SRC', #Cytoplasmic tyrosine kinases\n", + " '5894':'RAF1',#cytoplasmic serine kinases\n", + " '3265':'HRAS',#regulatory GTPases\n", + " '4609':'MYC',#Transcription factors\n", + " #'2353':'FOS',#Transcription factors (removed because too few positives)\n", + " \n", + "}\n", + "\n", + "list_of_genes = (list(genes_LungCancer.keys()) + list(genes_TumorSuppressors.keys()) + \n", + " list(genes_Oncogenes.keys()))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Create a dictionary of {gene: \n", + "{disease: \n", + "{total: #, positive: #, negative: #}, ..." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Wall time: 3.04 s\n" + ] + } + ], + "source": [ + "%%time\n", + "disease_list_acronyms = [col for col in covariates.columns if col.startswith('acronym_')]\n", + "disease_list = [disease.strip('acronym_') for disease in disease_list_acronyms]\n", + "gene_dict = {}\n", + "for gene in list_of_genes:\n", + " # Subset by gene.\n", + " y_gene = y[gene] \n", + " gene_dict[gene] = dict.fromkeys(disease_list)\n", + " for disease in disease_list:\n", + " # Subset by disease.\n", + " disease_cols = [col for col in disease_list_acronyms if col.endswith(disease)]\n", + " has_disease = covariates[disease_cols].max(axis=1) > 0\n", + " disease_cols = covariates[has_disease]\n", + " y_gene_disease = y_gene[y_gene.index.isin(disease_cols.index)]\n", + " # Get query stats.\n", + " stats = {}\n", + " stats['total'] = y_gene_disease.shape[0]\n", + " stats['positive'] = y_gene_disease.sum()\n", + " stats['negative'] = stats['total'] - stats['positive']\n", + " gene_dict[gene][disease] = stats" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "There are 106 queries in the list.\n" + ] + } + ], + "source": [ + "'''Randomly iterate through gene/disease(s) combinations to create a list\n", + "of queries that we can use for analysis. Something like:\n", + "[ [gene, [disease1, disease2, etc], {total: #, negative: #, positive: #}], ]\n", + "\n", + "Try to provide general coverage of the\n", + "different possibilities of class balance and total sample size while using\n", + "the following constraints:\n", + "1. All queries should have at least 20 positives.\n", + "2. Only use one gene per query (for simplicity).\n", + "'''\n", + "\n", + "def generate_queries(randomseed = 0, positive_bound = 20):\n", + " random.seed(randomseed)\n", + " queries = []\n", + " keys_gene = list(gene_dict.keys())\n", + " random.shuffle(keys_gene)\n", + " for gene in keys_gene:\n", + " keys_disease = list(gene_dict[gene].keys())\n", + " random.shuffle(keys_disease)\n", + " total_total, total_positives, total_negatives = 0, 0, 0\n", + " diseases = []\n", + " for disease in keys_disease:\n", + " if total_positives < positive_bound:\n", + " total_total += gene_dict[gene][disease]['total']\n", + " total_positives += gene_dict[gene][disease]['positive']\n", + " diseases.append(disease)\n", + "\n", + " total_negatives = total_total - total_positives\n", + " num_diseases = len(diseases)\n", + " query = [gene, diseases, {'total': total_total, 'positive': total_positives, 'negative': total_negatives}]\n", + " if query[2]['positive'] >= positive_bound:\n", + " queries.append(query)\n", + " return(queries)\n", + "\n", + "query_list1 = generate_queries(randomseed = 0, positive_bound = 20)\n", + "query_list2 = generate_queries(randomseed = 1, positive_bound = 60)\n", + "query_list3 = generate_queries(randomseed = 2, positive_bound = 100)\n", + "query_list4 = generate_queries(randomseed = 3, positive_bound = 200)\n", + "query_list5 = generate_queries(randomseed = 4, positive_bound = 400)\n", + "query_list6 = generate_queries(randomseed = 5, positive_bound = 500)\n", + "query_list = query_list1 + query_list2 + query_list3 + query_list4 + query_list5 + query_list6\n", + "print('There are ' + str(len(query_list)) + ' queries in the list.')" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\ncg2tAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Visuallize our query set to make sure it's not too skewed\n", + "number_of_diseases =[]\n", + "for query in query_list:\n", + " number_of_diseases.append(len(query[1]))\n", + "number_of_diseases.sort()\n", + "plt.plot(number_of_diseases)\n", + "plt.ylabel('number of diseases')\n", + "plt.title('Diseases')\n", + "plt.show()\n", + "\n", + "number_of_samples =[]\n", + "for query in query_list:\n", + " number_of_samples.append(query[2]['total'])\n", + "number_of_samples.sort()\n", + "plt.plot(number_of_samples)\n", + "plt.title('Disease')\n", + "plt.ylabel('number of samples')\n", + "plt.show()\n", + "\n", + "number_of_positives =[]\n", + "for query in query_list:\n", + " number_of_positives.append(query[2]['positive'])\n", + "number_of_positives.sort()\n", + "plt.plot(number_of_positives)\n", + "plt.title('Positives')\n", + "plt.ylabel('number of positives')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Evaluate queries with different subsets of diseases and varying number of positives" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.a. Define some helper functions" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def variance_scorer(x, y):\n", + " \"\"\" \n", + " Get the variance for each column of X.\n", + " \n", + " Because principal components have decreasing variance\n", + " (i.e. PC4 has less variance than PC3 which has less variance\n", + " than PC2 etc.), we can use this function in SelectKBest to select\n", + " only the top X number of principal components.\n", + " \n", + " \"\"\"\n", + " scores = [np.var(column) for column in x.T]\n", + " return scores, np.array([np.NaN]*len(scores))" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def evaluate_classifier(X,\n", + " y,\n", + " list_of_queries,\n", + " set_k_range, k_function,\n", + " alpha_range, \n", + " l1_ratio):\n", + " \n", + " ''' Run a classifier setup on a set of queries.\n", + " \n", + " Loop through each query; train and test the classifier using the\n", + " hyperparameters input as parameters; populate the metrics dictionary\n", + " with some metrics of which parameters were selected and how well\n", + " the classifier did for that query.\n", + " '''\n", + " \n", + " # A dictionary to hold the performance metrics.\n", + " metrics_dict = {}\n", + " \n", + " # Loop through each query; train and test the classifer; populate the metrics dictionary.\n", + " for query in list_of_queries:\n", + " num_samples = query[2]['total']\n", + " num_positives = query[2]['positive']\n", + " \n", + " # Subset by gene.\n", + " y_query = y[query[0]]\n", + " # Subset by diseases.\n", + " disease_cols = [col for col in covariates.columns if col.endswith(tuple(query[1]))]\n", + " has_disease = covariates[disease_cols].max(axis=1) > 0\n", + " covariates_query = covariates[has_disease]\n", + " X_query = X[X.index.isin(covariates_query.index)]\n", + " y_query = y_query[y_query.index.isin(covariates_query.index)]\n", + " \n", + " # Test Train split\n", + " test_size = 0.2\n", + " X_train, X_test, y_train, y_test = train_test_split(X_query, y_query, stratify=y_query, test_size=test_size, random_state=RANDOMSEED)\n", + " # PCA.\n", + " scaler = StandardScaler()\n", + " if query[2]['total']*(1-test_size)*(1-(1/3)) > 350:\n", + " n_comp = 350\n", + " else:\n", + " n_comp = int(query[2]['total']*(1-test_size) - 1)\n", + " pca = PCA(n_components = n_comp, random_state = RANDOMSEED)\n", + " scaler.fit(X_train)\n", + " X_train_scaled = scaler.transform(X_train)\n", + " pca.fit(X_train_scaled)\n", + " X_train = pca.transform(X_train_scaled)\n", + " X_test_scaled = scaler.transform(X_test)\n", + " X_test = pca.transform(X_test_scaled)\n", + " \n", + " if set_k_range:\n", + " k_range = set_k_range\n", + " else:\n", + " k_range = k_function(num_samples=num_samples,\n", + " num_positives=num_positives,\n", + " ) \n", + " # Parameter Sweep for Hyperparameters\n", + " param_grid = {\n", + " 'select__k': k_range,\n", + " 'classify__loss': ['log'],\n", + " 'classify__penalty': ['elasticnet'],\n", + " 'classify__alpha': alpha_range,\n", + " 'classify__l1_ratio': l1_ratio,\n", + " }\n", + " pipeline = Pipeline(steps=[\n", + " ('select', SelectKBest(variance_scorer)),\n", + " ('classify', SGDClassifier(random_state=RANDOMSEED, class_weight='balanced'))\n", + " ])\n", + " cv_pipeline = GridSearchCV(estimator=pipeline, \n", + " param_grid=param_grid,\n", + " n_jobs=1, \n", + " scoring='roc_auc')\n", + " cv_pipeline.fit(X=X_train, y=y_train)\n", + " y_pred_train = cv_pipeline.decision_function(X_train)\n", + " y_pred_test = cv_pipeline.decision_function(X_test)\n", + " # Get ROC info.\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", + " metrics_train = get_threshold_metrics(y_train, y_pred_train)\n", + " metrics_test = get_threshold_metrics(y_test, y_pred_test)\n", + "\n", + " # Populate the metrics dictionary.\n", + " # Get metrics for the classifier.\n", + " overfit = metrics_train['auroc'] - metrics_test['auroc']\n", + " # Understand how the parameter grid worked... any params at the edge?\n", + " if cv_pipeline.best_params_['select__k'] == min(param_grid['select__k']):\n", + " n_comp_status = 'min'\n", + " elif cv_pipeline.best_params_['select__k'] == max(param_grid['select__k']):\n", + " n_comp_status = 'max'\n", + " else:\n", + " n_comp_status = 'OK'\n", + " if cv_pipeline.best_params_['classify__alpha'] == min(param_grid['classify__alpha']):\n", + " alpha_status = 'min'\n", + " elif cv_pipeline.best_params_['classify__alpha'] == max(param_grid['classify__alpha']):\n", + " alpha_status = 'max'\n", + " else:\n", + " alpha_status = 'OK'\n", + " metrics = {'num_samples': num_samples,\n", + " 'num_positive': num_positives,\n", + " 'balance': num_positives/num_samples,\n", + " 'train_auroc': metrics_train['auroc'], \n", + " 'test_auroc': metrics_test['auroc'],\n", + " 'n_components': cv_pipeline.best_params_['select__k'], \n", + " 'alpha': cv_pipeline.best_params_['classify__alpha'],\n", + " 'overfit': overfit,\n", + " 'n_comp_status': n_comp_status,\n", + " 'alpha_status': alpha_status\n", + " }\n", + " # Add the metrics to the dictonary.\n", + " metrics_dict[query[0]+str(query[2]['total'])] = metrics\n", + " # Change the metrics dict into a formatted pandas dataframe.\n", + " metrics_df = pd.DataFrame(metrics_dict)\n", + " metrics_df = metrics_df.T\n", + " metrics_df.sort_values(by='num_positive', ascending=True, inplace=True)\n", + " metrics_df = metrics_df[['num_samples', 'num_positive', 'balance', 'n_components','n_comp_status', 'alpha', 'alpha_status','train_auroc', 'test_auroc', 'overfit']]\n", + " \n", + " return(metrics_df)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def display_stats(metrics_df, metrics_df_tocompare = None, verbose = True):\n", + " if verbose:\n", + " display(metrics_df)\n", + " # Summary for metrics_df \n", + " metrics_df.loc['mean'] = metrics_df.mean()\n", + " metrics_df.loc['median'] = metrics_df.median()\n", + " metrics_df_summary = metrics_df.loc[['mean', 'median']]\n", + " metrics_df_summary = metrics_df_summary[['num_samples', 'num_positive', 'balance', 'n_components', 'alpha', 'train_auroc', 'test_auroc','overfit']]\n", + " display(metrics_df_summary)\n", + " if metrics_df_tocompare is not None:\n", + " # Summary for metrics_df_tocompare\n", + " metrics_df_tocompare.loc['mean'] = metrics_df_tocompare.mean()\n", + " metrics_df_tocompare.loc['median'] = metrics_df_tocompare.median()\n", + " metrics_df_to_compare_summary = metrics_df_tocompare.loc[['mean', 'median']]\n", + " # Evaluate the improvement\n", + " mean_testing_auroc_improvement = metrics_df_summary['test_auroc']['mean'] - metrics_df_to_compare_summary['test_auroc']['mean']\n", + " median_testing_auroc_improvement = metrics_df_summary['test_auroc']['median'] - metrics_df_to_compare_summary['test_auroc']['median']\n", + " mean_overfit_reduction = metrics_df_to_compare_summary['overfit']['mean'] - metrics_df_summary['overfit']['mean']\n", + " median_overfit_reduction = metrics_df_to_compare_summary['overfit']['median'] - metrics_df_summary['overfit']['median']\n", + " print('Mean testing Auroc improved by {:.2f}%'.format(mean_testing_auroc_improvement*100))\n", + " print('Median testing Auroc improved by {:.2f}%'.format(median_testing_auroc_improvement*100))\n", + " print('Mean overfitting reduced by {:.1f}%'.format(mean_overfit_reduction*100))\n", + " print('Median overfitting reduced by {:.1f}%'.format(median_overfit_reduction*100))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.b. See how the parameters are related using the current setup" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
num_samplesnum_positivebalancen_componentsn_comp_statusalphaalpha_statustrain_auroctest_aurocoverfit
460942584258200.0046970440max0.01OK0.8033370.6444580.158879
748613111311200.015255540max0.001min0.7541180.5608110.193307
477132423242200.0061690340max0.001min0.8203090.4437980.376511
515910001000200.0220min0.01OK0.8211890.8163270.00486288
238588588200.034013640max0.1OK0.7384360.778509-0.0400726
671446854685200.0042689440max0.01OK0.8552380.6899790.16526
4763178178210.11797840max0.001min0.8282350.468750.359485
560434803480210.0060344840max0.01OK0.8305660.6000720.230494
3265721721210.029126240max0.01OK0.8962430.7411350.155109
589435353535210.0059405940max0.01OK0.8404170.968706-0.128289
422131573157220.0069686440max1max0.6773480.4112260.266122
4089623623220.03531320min0.001min0.7579860.7045450.0534407
492121712171220.010133640max0.01OK0.8064290.4541760.352252
20742804280220.0051401940max1max0.8444250.7009980.143427
749021202120220.010377420min1max0.5797580.591667-0.011909
1956605605220.036363620min0.1OK0.7409390.3739320.367008
1630986986230.023326620min0.001min0.7878790.7046630.0832156
379129022902240.0082701620min0.001min0.6570490.3753470.281702
67510831083240.022160720min1max0.7301310.4169810.31315
5925567567240.04232840max1max0.9083190.860550.0477687
2530033003250.0083250140max0.01OK0.7511340.830537-0.0794034
67213781378260.018867920min1max0.6624820.678229-0.015747
597919391939260.01340920min0.001min0.8137880.937859-0.124071
408728372837270.009517140max0.1OK0.7210020.503730.217272
206415611561290.018577820min0.001min0.8829810.6362650.246716
102926742674370.013836920min1max0.811980.860931-0.0489503
572810361036410.039575320min0.1OK0.8335430.8106250.022918
609812781278430.033646320min1max0.6277390.5083220.119417
67321132113510.024136340max1max0.8420480.8108960.0311518
489315681568520.033163340max0.1OK0.9383940.7266450.211749
.................................
5925447944791150.025675440max0.01OK0.8277220.6639770.163744
5290130813081200.091743140max0.1OK0.8769520.7529760.123976
7428307330731270.041327740max0.001min0.9676710.97539-0.00771864
673256925691270.049435640max0.001min0.9057410.8304290.0753113
7428546354631350.024711740max1max0.9749530.9492040.0257487
7428696969691350.019371540max0.1OK0.9862780.9408270.0454505
3845152015201430.094078920min1max0.8762780.891411-0.0151331
3845201620161540.076388940max1max0.9713560.9410190.0303376
71575165161880.36434120min0.1OK0.8638930.868421-0.00452792
1630597159712000.033495240max1max0.7292310.7111690.0180624
5728412541252030.049212140max0.1OK0.7724110.6957130.0766984
675585158512140.036574940max1max0.5988530.4845170.114336
1956605460542180.036009340max1max0.779250.834424-0.0551744
4763562856282280.040511740max0.001min0.6660180.5807770.085241
71575815812330.40103320min0.1OK0.7184770.725228-0.00675113
5925625462542450.039174940max1max0.8535840.7700940.08349
3845460446042460.053431840max1max0.9126920.8989190.0137734
1029711371132700.037958740max1max0.8093780.7997190.0096597
673262326233230.12314140max0.1OK0.9735170.9656520.00786485
324688568853440.049963720min1max0.8322370.8068520.0253854
5290297229723910.13156140max1max0.8609220.8421860.0187356
324678467844010.059109720min1max0.8768260.877702-0.000876018
673446244624250.095248840max1max0.9589360.9476850.0112516
3845331033104350.1314240max1max0.9267870.935612-0.00882559
5290324532454500.13867540max1max0.8323690.849354-0.0169847
7157187118714570.24425420min1max0.925950.937778-0.0118286
673730673065000.068436940max1max0.9121440.8936050.0185391
3845676867685030.074320340max1max0.9305870.918840.0117467
7157108910895910.542740max1max0.8428560.7880510.0548051
5290529752976390.12063440max1max0.7567240.7429920.0137313
\n", + "

106 rows × 10 columns

\n", + "
" + ], + "text/plain": [ + " num_samples num_positive balance n_components n_comp_status \\\n", + "46094258 4258 20 0.00469704 40 max \n", + "74861311 1311 20 0.0152555 40 max \n", + "47713242 3242 20 0.00616903 40 max \n", + "51591000 1000 20 0.02 20 min \n", + "238588 588 20 0.0340136 40 max \n", + "67144685 4685 20 0.00426894 40 max \n", + "4763178 178 21 0.117978 40 max \n", + "56043480 3480 21 0.00603448 40 max \n", + "3265721 721 21 0.0291262 40 max \n", + "58943535 3535 21 0.00594059 40 max \n", + "42213157 3157 22 0.00696864 40 max \n", + "4089623 623 22 0.035313 20 min \n", + "49212171 2171 22 0.0101336 40 max \n", + "2074280 4280 22 0.00514019 40 max \n", + "74902120 2120 22 0.0103774 20 min \n", + "1956605 605 22 0.0363636 20 min \n", + "1630986 986 23 0.0233266 20 min \n", + "37912902 2902 24 0.00827016 20 min \n", + "6751083 1083 24 0.0221607 20 min \n", + "5925567 567 24 0.042328 40 max \n", + "253003 3003 25 0.00832501 40 max \n", + "6721378 1378 26 0.0188679 20 min \n", + "59791939 1939 26 0.013409 20 min \n", + "40872837 2837 27 0.0095171 40 max \n", + "20641561 1561 29 0.0185778 20 min \n", + "10292674 2674 37 0.0138369 20 min \n", + "57281036 1036 41 0.0395753 20 min \n", + "60981278 1278 43 0.0336463 20 min \n", + "6732113 2113 51 0.0241363 40 max \n", + "48931568 1568 52 0.0331633 40 max \n", + "... ... ... ... ... ... \n", + "59254479 4479 115 0.0256754 40 max \n", + "52901308 1308 120 0.0917431 40 max \n", + "74283073 3073 127 0.0413277 40 max \n", + "6732569 2569 127 0.0494356 40 max \n", + "74285463 5463 135 0.0247117 40 max \n", + "74286969 6969 135 0.0193715 40 max \n", + "38451520 1520 143 0.0940789 20 min \n", + "38452016 2016 154 0.0763889 40 max \n", + "7157516 516 188 0.364341 20 min \n", + "16305971 5971 200 0.0334952 40 max \n", + "57284125 4125 203 0.0492121 40 max \n", + "6755851 5851 214 0.0365749 40 max \n", + "19566054 6054 218 0.0360093 40 max \n", + "47635628 5628 228 0.0405117 40 max \n", + "7157581 581 233 0.401033 20 min \n", + "59256254 6254 245 0.0391749 40 max \n", + "38454604 4604 246 0.0534318 40 max \n", + "10297113 7113 270 0.0379587 40 max \n", + "6732623 2623 323 0.123141 40 max \n", + "3246885 6885 344 0.0499637 20 min \n", + "52902972 2972 391 0.131561 40 max \n", + "3246784 6784 401 0.0591097 20 min \n", + "6734462 4462 425 0.0952488 40 max \n", + "38453310 3310 435 0.13142 40 max \n", + "52903245 3245 450 0.138675 40 max \n", + "71571871 1871 457 0.244254 20 min \n", + "6737306 7306 500 0.0684369 40 max \n", + "38456768 6768 503 0.0743203 40 max \n", + "71571089 1089 591 0.5427 40 max \n", + "52905297 5297 639 0.120634 40 max \n", + "\n", + " alpha alpha_status train_auroc test_auroc overfit \n", + "46094258 0.01 OK 0.803337 0.644458 0.158879 \n", + "74861311 0.001 min 0.754118 0.560811 0.193307 \n", + "47713242 0.001 min 0.820309 0.443798 0.376511 \n", + "51591000 0.01 OK 0.821189 0.816327 0.00486288 \n", + "238588 0.1 OK 0.738436 0.778509 -0.0400726 \n", + "67144685 0.01 OK 0.855238 0.689979 0.16526 \n", + "4763178 0.001 min 0.828235 0.46875 0.359485 \n", + "56043480 0.01 OK 0.830566 0.600072 0.230494 \n", + "3265721 0.01 OK 0.896243 0.741135 0.155109 \n", + "58943535 0.01 OK 0.840417 0.968706 -0.128289 \n", + "42213157 1 max 0.677348 0.411226 0.266122 \n", + "4089623 0.001 min 0.757986 0.704545 0.0534407 \n", + "49212171 0.01 OK 0.806429 0.454176 0.352252 \n", + "2074280 1 max 0.844425 0.700998 0.143427 \n", + "74902120 1 max 0.579758 0.591667 -0.011909 \n", + "1956605 0.1 OK 0.740939 0.373932 0.367008 \n", + "1630986 0.001 min 0.787879 0.704663 0.0832156 \n", + "37912902 0.001 min 0.657049 0.375347 0.281702 \n", + "6751083 1 max 0.730131 0.416981 0.31315 \n", + "5925567 1 max 0.908319 0.86055 0.0477687 \n", + "253003 0.01 OK 0.751134 0.830537 -0.0794034 \n", + "6721378 1 max 0.662482 0.678229 -0.015747 \n", + "59791939 0.001 min 0.813788 0.937859 -0.124071 \n", + "40872837 0.1 OK 0.721002 0.50373 0.217272 \n", + "20641561 0.001 min 0.882981 0.636265 0.246716 \n", + "10292674 1 max 0.81198 0.860931 -0.0489503 \n", + "57281036 0.1 OK 0.833543 0.810625 0.022918 \n", + "60981278 1 max 0.627739 0.508322 0.119417 \n", + "6732113 1 max 0.842048 0.810896 0.0311518 \n", + "48931568 0.1 OK 0.938394 0.726645 0.211749 \n", + "... ... ... ... ... ... \n", + "59254479 0.01 OK 0.827722 0.663977 0.163744 \n", + "52901308 0.1 OK 0.876952 0.752976 0.123976 \n", + "74283073 0.001 min 0.967671 0.97539 -0.00771864 \n", + "6732569 0.001 min 0.905741 0.830429 0.0753113 \n", + "74285463 1 max 0.974953 0.949204 0.0257487 \n", + "74286969 0.1 OK 0.986278 0.940827 0.0454505 \n", + "38451520 1 max 0.876278 0.891411 -0.0151331 \n", + "38452016 1 max 0.971356 0.941019 0.0303376 \n", + "7157516 0.1 OK 0.863893 0.868421 -0.00452792 \n", + "16305971 1 max 0.729231 0.711169 0.0180624 \n", + "57284125 0.1 OK 0.772411 0.695713 0.0766984 \n", + "6755851 1 max 0.598853 0.484517 0.114336 \n", + "19566054 1 max 0.77925 0.834424 -0.0551744 \n", + "47635628 0.001 min 0.666018 0.580777 0.085241 \n", + "7157581 0.1 OK 0.718477 0.725228 -0.00675113 \n", + "59256254 1 max 0.853584 0.770094 0.08349 \n", + "38454604 1 max 0.912692 0.898919 0.0137734 \n", + "10297113 1 max 0.809378 0.799719 0.0096597 \n", + "6732623 0.1 OK 0.973517 0.965652 0.00786485 \n", + "3246885 1 max 0.832237 0.806852 0.0253854 \n", + "52902972 1 max 0.860922 0.842186 0.0187356 \n", + "3246784 1 max 0.876826 0.877702 -0.000876018 \n", + "6734462 1 max 0.958936 0.947685 0.0112516 \n", + "38453310 1 max 0.926787 0.935612 -0.00882559 \n", + "52903245 1 max 0.832369 0.849354 -0.0169847 \n", + "71571871 1 max 0.92595 0.937778 -0.0118286 \n", + "6737306 1 max 0.912144 0.893605 0.0185391 \n", + "38456768 1 max 0.930587 0.91884 0.0117467 \n", + "71571089 1 max 0.842856 0.788051 0.0548051 \n", + "52905297 1 max 0.756724 0.742992 0.0137313 \n", + "\n", + "[106 rows x 10 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "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", + "
num_samplesnum_positivebalancen_componentsalphatrain_auroctest_aurocoverfit
mean3150.92128.1040.069393833.39620.4798680.7900230.7148580.0751646
median2941930.0336463400.10.801670.7315760.0477687
\n", + "
" + ], + "text/plain": [ + " num_samples num_positive balance n_components alpha train_auroc \\\n", + "mean 3150.92 128.104 0.0693938 33.3962 0.479868 0.790023 \n", + "median 2941 93 0.0336463 40 0.1 0.80167 \n", + "\n", + " test_auroc overfit \n", + "mean 0.714858 0.0751646 \n", + "median 0.731576 0.0477687 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Wall time: 37min 46s\n" + ] + } + ], + "source": [ + "%%time\n", + "metrics_df_current_setup = evaluate_classifier(X = X,\n", + " y = y,\n", + " list_of_queries = query_list,\n", + " set_k_range = [20, 40],\n", + " k_function = None,\n", + " alpha_range = [10** x for x in range(-3, 1)],\n", + " l1_ratio = [0.15])\n", + "display_stats(metrics_df_current_setup, metrics_df_tocompare = None)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1sAAAN0CAYAAABCxjLmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd0VFXXx/HfTHqHkNBDC70KFooggiLSRFR6s6CigAX1\nQVR6FxEQEKTII4omkSJdkIBAAFGQDoLSewKEkoSUycz7R94nGgNkotzMTPh+1pq1vHfOzd3nME6y\n5+xzxmSz2WwCAAAAANxRZkcHAAAAAAD5EckWAAAAABiAZAsAAAAADECyBQAAAAAGINkCAAAAAAOQ\nbAEAAACAAdwdHQAAAAAA59fbVMbRIeTKDNtxR4fAzBYAAAAAGIFkCwAAAAAMQLIFAAAAAAZgzRYA\nAACAHLmZHB2B62FmCwAAAAAMQLIFAAAAAAagjBAAAABAjtxM1BHmFjNbAAAAAGAAki0AAAAAMADJ\nFgAAAAAYgDVbAAAAAHLE1u+5x8wWAAAAABiAZAsAAAAADEAZIQAAAIAcsfV77jGzBQAAAAAGINkC\nAAAAAAOQbAEAAACAAVizBQAAACBHbP2ee8xsAQAAAIABSLYAAAAAwACUEQIAAADIEVu/5x4zWwAA\nAABgAJItAAAAADAAZYQAAAAAcsRuhLnHzBYAGCA1NVWzZ8/Wk08+qdq1a6tBgwbq3bu39u7dm+ex\nTJkyRc2aNbO7/blz57RixYrM4+7du+v99983IjQAAPI1ZrYA4A67ceOGevToofj4eL322muqVauW\nEhMTNW/ePHXt2lUzZ85UvXr1HB3mLb333nsqUqSIWrVqJSkjWXN359cFAAC5xW9PALjDJk2apOPH\nj2v58uUqUqRI5vmxY8fq0qVLGjFihJYvXy6Tk+7qZLPZshwXKFDAQZEAAODaKCMEgDsoNTVVixYt\n0jPPPJMl0fqfwYMHa8KECTKZTDp79qzefPNN1atXT7Vr19arr76qU6dOZbZt2rSpxo0bp+bNm6te\nvXrav3//Tc+lpqZq7NixatiwoerUqaNu3bpp165dt4xx27Zt6tatm2rXrq3q1aurbdu22rhxoyTp\n3Xff1datW7V48WJVqlRJUvYywu3bt2de36BBA40cOVI3btyQJJ0+fVqVKlXS6tWr1a5dO1WvXl3N\nmzfX2rVrM6/ftWuXOnXqpHvuuUd169bVO++8oytXrvy7gQcAGM7NZHKphzMg2QKAO+jUqVO6du2a\natWqddPnw8LCVLlyZSUkJKhz5866evWq5syZoy+//FLXr19Xt27ddP369cz233zzjUaMGKHPPvtM\nVapUuem5//znP/rll180adIkLVy4UPXq1VP37t117NixbPc/d+6cXnzxRd17771aunSpFixYoGLF\nimnAgAFKTU3V+++/r/vuu08tWrRQTExMtut3796tZ599VjVq1NCCBQs0ZswYRUdH680338zS7sMP\nP9Sbb76pFStWqEqVKhowYICSkpKUnp6uV155RfXr19fy5cs1c+ZM7d27V+PGjfs3ww4AgFOijBAA\n7qBr165JkgIDA2/bbsmSJbp27Zo+/vjjzDK9yZMnq2nTplq6dKm6du0qKWN264EHHshy7V/PnThx\nQqtWrdLy5ctVoUIFSVLfvn21Y8cOzZ07V8OHD89ybVpaml5//XU9//zzmWWMzz77rHr27KlLly6p\nWLFi8vDwkLe3t0JDQ7PF/fnnn6t69eoaMGCAJCk8PFxDhw7VSy+9pN9//10+Pj6SpBdeeEEPPfSQ\nJKl3795atWqV/vjjD5UqVUrx8fEKCQlRiRIlVLJkSU2bNk1paWl2jjAAAK6DZAsA7qCCBQtKUo5l\ncb///rvKli2bZT1UcHCwwsPDdfjw4cxzYWFh2a7967kDBw5Ikjp06JClTWpqqlJTU7NdW6pUKT35\n5JP64osvdOjQIZ04cUIHDx6UJKWnp+fUPf3+++9q3LhxlnP33Xdf5nM1a9aUJJUtWzbzeX9/f0kZ\niV6BAgX03HPPafjw4ZoyZYoefPBBNWnSRM2bN8/x3gAAx6IkLvdItgDgDipVqpQKFSqk3bt3q2XL\nltme37Ztm+bOnavg4OCbXm+1WuXh4ZF57OXlla3NX8/9r21ERIS8vb2ztPP09Mx27eHDh9W1a1fV\nqlVL9evXV8uWLWWxWNS7d2+7+vf3e0h/bqjx1x0L/9qHv7cbMGCAunbtqg0bNigmJkYDBw5UVFSU\n5s2bZ1cMAAC4ChJUALiDzGaz2rVrp4ULF+rChQtZnrPZbJo5c6aOHTum2rVr69ixY1lmwC5fvqxj\nx44pPDzc7vv9r3Tw0qVLKl26dObjv//9r6Kjo7O1j4yMVLFixTR79my98MILatSoUWac/0uGbrdL\nYnh4uHbu3Jnl3I4dOzKfy8nJkyc1ZMgQhYaGqmvXrpo+fbrGjRunbdu26dKlS/Z1GgAAF0GyBQB3\n2KuvvqqSJUuqS5cuWr58uU6dOqWdO3fqtdde0y+//KJRo0bpiSeeUHBwsPr376/9+/dr//796t+/\nvwIDAzO/38oepUuXVsuWLTVo0CBt2LBBJ0+e1MSJExUREXHT5Kdo0aI6c+aMNm/erDNnzmjJkiWa\nOHGiJGWWHfr5+en06dM6c+ZMtutffPHFzA0tjh49qk2bNmnYsGFq3LixXclWwYIFtWrVKg0dOlRH\njhzRkSNHtGrVKpUqVSqzBBMAgPyCZAsA7jA/Pz999dVXat26taZOnarWrVurX79+slqtioyM1H33\n3ScvLy/NmTNHnp6e6tatm3r27KmAgADNnz8/x801/m7kyJFq3Lix3nvvPbVu3VobN27UlClTVL9+\n/Wxte/TooWbNmunNN9/UE088ofnz52vYsGHy9fXV3r17JUldu3bVsWPH1LJlS8XFxWW5vmLFipox\nY4Z+/vlnPfHEExo4cKCaNWumyZMn2xVrQECAZs2apVOnTqlDhw565plnlJqaqpkzZ8ps5lcSADgz\nR2/l7opbv5tsf//2SgAAAAD4m1G+FRwdQq68n/S7o0NgZgsAAAAAjMBuhAAAAABy5OYclXkuhZkt\nAAAAADAAyRYAAAAAGIAyQgAAAAA5cpYd/lwJM1sAAAAAYACSLQAAAAAwAMkWAAAAABiANVsAAAAA\ncsTW77nHzBYAAAAAGIBkCwAAAAAMQBkhAAAAgByx9XvuMbMFAAAAAAYg2QIAAAAAA5BsAQAAAIAB\nWLMFAAAAIEds/Z57zGwBAAAAgAFItgAAAADAAJQRAgAAAMgRW7/nHjNbAAAAAGAAki0AAAAAMABl\nhAAAAAByxG6EucfMFgAAAAAYgGQLAAAAAAxAsgUAAAAABmDNFgAAAIAcsWYr95jZAgAAAAADkGwB\nAAAAgAEoIwQAAACQIzcTdYS5xcwWAAAAABiAZAsAAAAADEAZIQAAAIAcsRth7jGzBQAAAAAGINkC\nAAAAAAOQbAEAAACAAVizBQAAACBHbP2ee8xsAQAAAIABSLYAAAAAwACUEQIAAADIEVu/5x4zWwAA\nAABgAJItAAAAADCA4WWEvU1ljL7FXW2G7bhuLJ/m6DDyNZ/WffTZthOODiNfe7luaUlS6qYIB0eS\nv3k26qS0X5Y6Oox8zeP+J3T5epKjw8jXggN8lXrxtKPDyPc8Q0rqUOw1R4eRr1UqHOjoEJAHWLMF\nAAAAIEds/Z57lBECAAAAgAFItgAAAADAAJQRAgAAAMgRW7/nHjNbAAAAAGAAki0AAAAAdxWr1arB\ngwerY8eO6t69u06cyLrz9NKlS9WuXTs9/fTT+vrrr//xfSgjBAAAAJCj/LQb4dq1a5WamqrIyEjt\n2rVLY8eO1fTp0zOf//DDD7V8+XL5+vqqVatWatWqlYKCgnJ9H5ItAAAAAHeVHTt2qFGjRpKke+65\nR/v27cvyfKVKlXT9+nW5u7vLZrPJ9A8TTZItAAAAAHeVhIQE+fv7Zx67ubnJYrHI3T0jPapQoYKe\nfvpp+fj4qFmzZgoM/GdfQs2aLQAAAAB3FX9/fyUmJmYeW63WzETrt99+048//qjo6GitW7dOly9f\n1qpVq/7RfUi2AAAAAOTIbDK51ON26tSpo40bN0qSdu3apYoVK2Y+FxAQIG9vb3l5ecnNzU3BwcG6\ndu3aPxozyggBAAAA3FWaNWumzZs3q1OnTrLZbBo9erSWLVumpKQkdezYUR07dlSXLl3k4eGhUqVK\nqV27dv/oPiRbAAAAAO4qZrNZw4cPz3IuPDw88787d+6szp07/+v7kGwBAAAAyJHJLf9s/Z5XWLMF\nAAAAAAYg2QIAAAAAA5BsAQAAAIABWLMFAAAAIEdm1mzlGjNbAAAAAGAAki0AAAAAMABlhAAAAABy\nZHJjnia3GDEAAAAAMADJFgAAAAAYgDJCAAAAADkysRthrjGzBQAAAAAGINkCAAAAAAOQbAEAAACA\nAVizBQAAACBHZtZs5RozWwAAAABgAJItAAAAADAAZYQAAAAAcmQyM0+TW4wYAAAAABiAZAsAAAAA\nDECyBQAAAAAGYM0WAAAAgByx9XvuMbMFAAAAAAYg2QIAAAAAA1BGCAAAACBHJsoIc42ZLQAAAAAw\nADNbf9Nz7kc6u++Qfpgwy9GhuJyNB45pysotSrWkq0KxEA3t+Ij8vb2ytImI2a2oLXtlMklhhYI0\nuP0jCg7wlSQ1GTxToUH+mW17PlxHre6tnKd9cAVHd21TzLefKz0tTSFhZfVYr/7y8vHL1m7nD0u0\nZ91ySVKBwsXV7IU35BtYUFZrutbNm6bTv+2RJJWt9YAe6vSiTCY+rfqfjXsOa9LCtUqzWFShZBEN\nf7at/H28s7RZtnW3/rt6s0wmk7w9PTSwcwtVK1NCVxOSNOKr5Tp06rx8vDzV9sF71PWReg7qifPa\nsPOgJkWtVFpauiqWKqbhvdrL3/dvYxyzQ3NXbpBJkreXpwZ2b6vq5cIkSRE/bNHCH39WclqaqpYp\noREvdpCnB7/SJGlzzCZNnzpFaampCq9QQe8PGiI/f/9ctWvxaBOFFi6c2bZr955q3qJl5vHZM2f0\nbPcumjz1U1WpWs34TjmRjVt+0qQZs5WWmqYK5ctp+MC35e/nZ1eb9PR0jf54irbv2i1JalS/rt7q\n87JMJpN+3rFTE6bNlCXdIm9PL737Zl/VqMrvwP/5ZUuM5n02TZa0VJUOr6DX3v1Avn7ZX9eSZLPZ\nNHn0MJUuF652nbtnnl+5+FutWbZEqakpCq9YWa+9O0genp551QXcpZjZ+n9FK4frjeivdW+HVo4O\nxSVdTkjSkMi1+qhnKy15t4dKFgrS5BVbsrQ5cCpWX/z4q77o114L3+mmUiEFNO37nyRJx2PjFeDj\nrai3umQ+SLSyS7p2RatnfaQ2/QbruQ8/V1DhYoqJnJOt3YVjh7Vj1QJ1GjRJPcfMUoGiJbR54ReS\npIOboxV/7pR6jP5M3UfO0Onf9uj3XzbldVec1uXriRo09ztNfLWjlo16TSVDC2rSwrVZ2hw7f1Ef\nL1ijGW9014Ihr+ilVg/pjU8jJUkfRn4vX29PfTeir+a/10sxe//Qht2HHNEVp3X5WoIGzYrUpNd7\naPlH/1HJwsGaGLkyS5tjZ2M14ZsV+uydXlo4ur9ebvuI3pg8T5L0wy97Nf+HzZo98CUtGfuWUtLS\nNG/VRkd0xenEx1/WqGFDNObD8Ypc9J1KlCipT6d+kqt2J44fV0BgoOZ9HZn5+GuilZKSoqGD3pcl\nLS3P+uUsLsdf0aBR4zVx1FAti/hCJYsX06Tps+1us+z7H3T85CktmjdbC76Ype0792jN+o1KS0vT\nO4NHaui7/bXwi1l66dmuem/4GEd00SldjY/XJ2OGa+DIcZr+9UIVLV5CX8yYetO2p44f0wdvvKqY\n9Vnft7dsWKflC6M0YtI0TZ0XqdTUFC2J+jovws9XTG5ml3o4A+eIwgk83KeHts79VjuiVjg6FJe0\n9dBJVQsrotKhBSRJ7RvU0KpfD8lms2W2qRpWWEsH9lCAj5dS0iyKvZqoIL+MT7J3HT8nN7NJvT5d\nqPYfzddna7Yp3Wp1SF+c2Yl9O1S0XCUVLFpCklSraWsd3LouyzhLUpGyFfXch3Pl5esnS2qqEuIv\n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\nMZKk2Wt+Unq6Vd+++5wWDHxOKalpmvPDT47oilO7fOWqPhg/VZOGvqMVX0xVyWJF9PHsL7O1O3Li\ntJ5/e4hWb9h8058zJ2Kxduw9aHS4Lik+MVlDv9uijzo21uJ+bVWiYICmrN2Zpc2Bs5f05ZYDmvvC\n4/q2zxMqFRyoT9fvliRNWL1dvp7uWtCnjb7o9bg2/35GGw+ddkRXnNbl64kaNPc7TXy1o5aNek0l\nQwtq0sK1WdocO39RHy9YoxlvdNeCIa/opVYP6Y1PIyVJH0Z+L19vT303oq/mv9dLMXv/0IbdhxzR\nFacVn5SikWt2aEyruorq2UzFA/00bfP+m7Y9GZ+gKZv2yWazZXvuy+2HtfvsJaPDdWkJV69o4bQP\n1eWdYer/yTwFFymm1fNnZmt35sghbVoaqd6jpuqNiXNVqFhJ/RDxeebzv/64WjMHvaZrly/mZfj5\nisnN7FIPZ+AcURhs66GTqhZWRKVDC0iS2jeooVW/Hsryplc1rLCWDuyhAB8vpaRZFHs1UUF+GZ8A\n7jp+Tm5mk3p9ulDtP5qvz9ZsU7rV6pC+uLKH+/TQ1rnfakfUCkeH4pK2/nZM1UsVVenCwZKkDg1r\na+X2A1lfx6WKaungF/98HV+5rgK+PpKkOuEl9eLj9WU2m+RmNqtyWBGdu3zNIX1xZlu271L1SuVV\numRxSVKnJx7XiuhN2f5I+mbJKrV7vKmaN34w28/YtnOvYn7ZqQ5tHsuTmF3N1iNnVa1EiEoVCpQk\ntb+volbtPZb1tVy8kL577UkFeHsqJS1dsdeTFPT/s7gHz15Sq5rl5GY2y8PdTQ0rllT0gRMO6Yuz\n2rL/iKqVKa7SRQpJkjo+fL9WbNuTZYw93d00rGdbhRYIkCRVK1NcF68mKM1i0YET59SmXq3/H2N3\nPVSzgtbsOOCQvjirbSdjVaVIQZUqmFH18lTNslr926ls7xXJaRYN/X67XnuoRrafseNUnH46fkHt\napTNk5hd1R+7f1HJ8pUUUqykJKlu87batSk621iXCK+kt6Z8JW8/f6Wlpura5Yvy9c94n7l2+aIO\n/LxZPd8bm+fx4+52VyRbF64kqGiBP0sAiwT5KyE5VYkpqVnaebi5ad3eI2o+/HPtOHpGbe+vKklK\nt1pVr2IpffpSW83p84y2HDqpb2J252kf8oOIfkO07avFjg7DZZ2Pv64iBQMyj4sUCMh4HSff5HW8\n+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\nipCQEHbt2kVISAgjRoywRV4iIiIiIiJ2zWLPVqdOnZg3b54tchERERERkTzKaHkRc/kbi8WWt7c3\nW7dupWTJkjg4pHWElSpVyuqJiYiIiIiI2DOLxVZkZCRff/21edtgMLBw4UJr5iQiIiIiImL3LBZb\nixYtskUeIiIiIiIi+YrFYqthw4YYDAbztpeXF2vXrrVqUiIiIiIikrcYjZqzlVMWi62NGzcCYDKZ\nOH78uHlbREREREREsmZx6XcXFxdcXFxwdXXliSee4OTJk7bIS0RERERExK5Z7NmaOHGieRhheHi4\neUVCERERERF5eKRqFGGOWSy2Spcubf69YsWKPPPMM1ZNSEREREREJD+w2E3VvHlzSpYsSXBwMH5+\nfmzbts0WeYmIiIiIiNg1iz1bXbp0ITk5mfDwcFJTUwkICOCll16yRW4iIiIiIpJHGE0aR5hTFnu2\noqOj+eqrr6hWrRqrV68mMTHRFnmJiIiIiIjYNYvFlpubGwD379/Hzc0t3XduiYiIiIiISOYsFlvP\nPfccM2bMoGLFirz22mu4uLjYIi8RERERERG7ZnHO1htvvIHJZMJgMPDss89SokQJALZs2ULjxo2t\nnqCIiIiIiOS+VM3ZyrFsfWnW/w8drFChgnlY4cKFC62XlYiIiIiIiJ37x99QbFJlKyIiIiIikiWL\nwwizooUyREREREQeHkajOlty6h/3bImIiIiIiEjWNIxQRERERETECv7xMMJ33nnn38xDRERERETy\nsFT1teSYxWJr9uzZfPnll+ZVCAF27txJw4YNrZqYiIiIiIiIPbNYbP3www/s2LGDAgUK2CIfERER\nERGRfMHinK3g4OB0vVoiIiIiIiJimcWereTkZJo3b0758uWBtCXfJ06caPXEREREREQk7zBqgbwc\ns1hsdezY0RZ5iIiIiIiI5CtZFlu//PILDRo04OLFixn21axZ06pJiYiIiIiI2Lssi62YmBgAIiIi\nbJaMiIiIiIjkTakaRphjWRZbLVu2BKBLly6Eh4eTkpKCyWQiPDzcZsmJiIiIiIjYQkJCAn369CEy\nMhIPDw/GjRuHr69vhjij0cgHH3xAo0aNaNeu3QOPaXHO1oABAzh8+DD3798nISGBkJAQvv3223/e\nChERERERkTxm6dKllC9fnq5du7JhwwZmzpxJaGhohrgpU6YQGxubrWNaXPr99OnTbNiwgbp167Jh\nwwZcXV1znrmIiIiIiEgeduDAAZ555hkA6tWrx+7duzPEbNy4EYPBYI6zxGLPVqFChTAYDMTHx2fa\njSYiIiIiIvlfqjH/zNlasWIFCxYsSPdY4cKF8fLyAsDDw4O7d++m2//HH3+wfv16pk6dyowZM7L1\nOhaLrSpVqvDVV18REBBAjx49SEhIyG4bRERERERE8pzWrVvTunXrdI916dKFuLg4AOLi4vD29k63\nf+3atdy6dYsOHTpw/fp1nJ2dKVasGPXq1cvydSwWWy1atCAgIAA3Nze2b99OtWrV/kl7RERERERE\n8qzq1auzbds2qlWrxvbt23niiSfS7e/bt6/592nTpuHn5/fAQguyMWdr4MCBeHp64uTkRMOGDfHz\n8/uH6YuIiIiIiL1KNZrs6ien2rVrx9mzZ2nXrh3Lly+nS5cuAMyfP5+tW7f+o3NmMJkevGD+e++9\nR5kyZShVqhQODmm1WZs2bf7Ri4mIiIiIiH2atON8bqeQIz2fKZPbKVgeRrhr1y4ef/xxIiMjAUhM\nTMzRCyTdvvbPMpNscfELJnpWv9xOI18r9NFYkm9dzO008jXnwFIAJMZG5XIm+Zurty+pp3fkdhr5\nmmPFZ9j3fMPcTiNfq7nxZzoZSuZ2GvnebNMlHh/4Y26nka8dGtUst1MQG8iy2FqxYgUrV67E3d2d\nHTvS/jgbjUZSUlLo1auXzRIUEREREZHcl59WI7SVLIutl19+mdq1azNnzhw6deoEgIODA4ULF7ZZ\nciIiIiIiIvYqy2LLxcWF4OBgRowYYct8RERERERE8gWLqxGKiIiIiIhIzllcIENERERERERztnJO\nPVsiIiIiIiJWoGJLRERERETECjSMUERERERELNIwwpxTz5aIiIiIiIgVqNgSERERERGxAhVbIiIi\nIiIiVqA5WyIiIiIiYpHmbOWcerZERERERESsQMWWiIiIiIiIFWgYoYiIiIiIWKRhhDmnni0RERER\nERErULElIiIiIiJiBRpGKCIiIiIiFmkYYc6pZ0tERERERMQKVGyJiIiIiIhYgYotERERERERK9Cc\nLRERERERsUhztnJOPVsiIiIiIiJWoGJLRERERETECjSMUERERERELNIwwpxTz5aIiIiIiIgVqNgS\nERERERGxAhVbIiIiIiIiVqA5WyIiIiIiYlGK5mzlmHq2RERERERErEDFloiIiIiIiBVoGKGIiIiI\niFikpd9zTj1bIiIiIiIiVqBiS0RERERExAo0jFBERERERCzSMMKcU8+WiIiIiIiIFajYEhERERER\nsQIVWyIiIiIiIlaQb+dsbd+1hymzvyQ5KZlyZUszvH9vPD08shWTmprK6EnT2H/4CADP1K5Fr84f\nYjAY2HfgEBNnfEFKagpuLq7069GFqpUr5kYT85zfLt5k5m8nSE41UtbPm4GNq+Ph6pxp7LZzYQzb\ndICfP26eYd+n3+/B37MAvRs8au2U7d623XuZMmc+ycnJlC9TiuGf9shwnQOYTCZCx0ykbKmSvNPu\nVdsnmsdt3/kbn8+YRVJSMuXLlWFY6EA8PT1yHNOjTz/8/f0Y0Lc35y9cpF/oEPO+VGMq585fYNK4\nMTRuWN8Grcrbtu0/yuSFq0hKTqF8yWBGdn0bT/cC6WK++3U389f8BAYDBVxcGNCxHY+UK2nefyMi\ninZ9R7Pm8yEU8vaycQvyPp+atQh5530Mzi7cv3iBC5PHY4yPTxdToGQpSnzcFUd3DzAauTh1EvHn\nzlJ24BBcixYzx7kWKcLdY0c5OzTU1s3IFzrMn0DY8TNsnjg3t1OxW3Ur+NP1ufK4ODpw9uZdhq05\nTlxiSrqYlx4rSvu6pczbnq5OBPi48fy4X4iKSwIg0MeNhZ1q02baTmLik23ahvwg1aQ5WzmVL3u2\noqJjGDRqPJNHDeX7ZQsILhrElFlfZjvm+42buXTlKqsXfsnKBXPZf+gom37ZTnJyMn0Gj2Rov56s\nWjCXD95+gwHDx+RGE/Oc6PhERm46wJgXa/FthyYU9fZgxm8nMo29En2PaTuOY8rkH+yi/X9wJCzS\n2unmC1ExMQwaM4kpIwax/puvCA4KYvKc+Rnizl+6wnvd+/HTLztyIcu8Lyo6mkHDRzFp3Bi+X7Wc\n4GLFmDJ9Zo5j5i1czMH/fkADUKZ0KVYsWWj+ebpWLZo1baJCC4i6c5eBU+czpd/H/DBrFCFF/Jm0\ncFW6mIvXbjLh65V8MaQ7a6YM4cPXXqTb2D/P+bqfd/HmgHGER8XYOn274OTjQ+mefTk7YijH3u9A\nwo0wQt7pmC7GwdWVCqM/48aK5Zzo8iHXlyyizKcDATg3ahgnOn/Aic4fcOnziaTei+Py9M9zoyl2\nrUjFMnTfuoQnXnsxt1Oxa4XcXRjWqip9lhyi5ZQdXIu+T7em5TPErT8cRtvpv9F2+m+0n7mLyHuJ\njPv+pLnQeumxoszrWIsAbzdbN0EeYvmy2Nq1bz9VKlWgREgwAG1a/ocNm7ame3P/oBij0cj9hASS\nkpNJTkomOSUZVxdnnJ2d2bJuOZXKl8NkMnEt7AY+Pt650sa8Zu+VcCoFFqJ4IU8AWlUrxU+nr2Yo\nqBKSUxi6cT/d6lXNcIwDVyPYc+kWLauWyrBPMtq17yBVKpanREjap89tWrzIhs0/Zzjny9Z8T4sX\nmtC0wTO5kWaet3vPPh6pXIkSxUMAeO2VVvyw8ad059FSzL79B/ht9x5at2qR6WscOHSYzT//wqB+\nn1q5Nfbht0MneKRsSUoWDQSg7fP1Wb9tb7pz7uLsxIguHfD3LQjAI2VLcjvmDknJKYRHxrB17yFm\nD/okV/K3Bz7VaxD3xxkSw64DEL7hOwo3bJQuxrt6DRJvhHHn970AxOzZxbnRw9PFGJycKN3rU67M\nmUHS7QjbJJ+P1O/8Frvnr+DAtxtyOxW79lQ5P05cv8OVyLSe2RV7r9Ds0aIPfM7b9UoTFZfEqt+v\nAuDv5Ur9yoF0XXDA6vmK/FWOhhEmJyfj7Jz5sLC85GZ4BEUC/M3bgf7+3IuLIy4+3jzE6kExL7/Q\nlE2/bKdRizakpqTydM0a1K/7NADOTk7cjoqizTudiL4Ty/jhGlIBEH43nkCvP4cABXgVIC4phfik\nlHRDCcduPUzLaiUp65e+SI24d59J247yecs6rDl60WZ527PMr+H4dNc5wMAenQHYe+CwzXO0Bzdv\n3aJIYIB5OzDgv/eCuHjzMMEHxcTfj2fcxMnMnjaFFavXZvoaEz+fRtePPsww7PBhdfN2FEX8fM3b\ngX6FuBd/n7j7CeahhMUC/SgW6AekDYMdN285DZ98DBdnJwIKF2Rq/865kru9cPEPICki3LydFBGB\nk4cnDu7u5qGEbsWCSY6KolSP3riXKkNK3D2ufvVFuuP4N32BpKhIonfttGn++cWyrmlDiSs2qpPL\nmdi3Ij5u3LqTYN4Oj03Ay80ZD1enDEMJAQq6O/Nm3VK0m/Gb+bGIu4n0XnLIJvnmZ1r6Pecs9mx9\n++23jBs3DoAPP/yQtWszfzORl5iMxkwfd3BwyFbMrHkLKVTQh23fr2TL2mXciY1lwdJvzTF+vr5s\nXfcti+dMZdDo8Vy6cvXfbYAdyurfnoODwfz7yiMXcHQw0LxKyXQxKalGBv34Oz2erYafh7r2s8uY\nxbhpBwdHG2di34ymLO4Fjg4WY0yY6DtwMH17dsffzy/TmMNHjhITc4cXnn/uf082n8j62s34Jyk+\nIZEen83myo0IhnfpYO3U8g+DIfPHU/+8lg1OTvg8WYvwH9ZzottH3Fq3hvLDx2D4y4eqRVq+QtjS\nxdbOVuSBsr6cM7+XtHoyhF9P3SIs+r4VsxLJHos9W0uXLmXFihUAzJkzh/bt29OiReZDZfKKIkUC\nOHrytHk7/PZtvL28cC9QIFsxW7ftpH+PLjg7pw0d/E+z59j863ZaNX+BfQcO0+jZugBUrlCeCmXL\ncPb8RUr+d3jRwyrQqwAnbkaZtyPuJeDt6kwB5z8vsR9OXiEhJYU3F/9MstFIYkoqby7+md4NHyXs\nTjyfbzsGQGR8AkaTicSUVAY2qW7zttiLoEB/jmW4hj1xL6CCNSeCAotw7PhJ83Z4RATe3unvF1nF\nXLhwkevXw5gweSoAtyMjMRqNJCYlMSx0AAAbN2+l+YvNMi0kHlZB/r4c/ePPHuxbkTF4e7rj7uaa\nLi4sIpLOI6dROjiIr0f2xs3Vxdap2q2kiHA8K1Yyb7v4+ZNyNxZj4p+9A8mRkSRcu0rcmbT7SMye\nXRi698a1SBAJV6/gXqYsODpy9+iRDMcXsbaPGpXj2UppIwo8XJ04d+uueV+Atyt34pNISE7N9LlN\nqwbx2fpTNslTxBKLf/0dHBxwckp7w+zs7Iwhq48X8pCna9bg6ImTXL56DYBv13xPg2eeznZMpQrl\n+OnnbQAkp6Tw687dVKtSGUcHRwaNGc+ho8cBOHfhEhcvX6FqlUo87GqVCOT4zWiuRN8DYM3RizxT\nJihdzLx29VnyZmMWtW/IpJdr4+rkyKL2DXm0aGG+e/95FrVvyKL2DWlZtRSNywer0LLg6Sef4MjJ\n01y+mjYnY/m6DTSsWzuXs7I/tZ+qydHjx7n83x7qFavW0KBevWzFPFqtKps3rDMvgtH6lZY0bdLI\nXGgBHDh4iFpP1rBdg+xAnceqcPTMeS6F3QJg+cZfaVjzsXQxMXfv0WHAeBrXrs7EPh+q0MqhOwf2\n41mxknlFwYAXmxO9e1f6mP17cQ0MxL1sOQC8HqkGmEi8eSNtu+qjxB7RsCvJHbO2njUvdvHW7N1U\nDSlI8cLuALxaszi/ngrP9Hlebk6EFHbnyJVoW6YrkiWLPVuNGjXi9ddfp1q1apw4cYKGDRvaIq//\nSeFChRgxoC89Q4eRnJxCSLEgRg/qx4lTZxgydiIrF3yRZQxA324fMXrydJq3extHBwdq1ajOu+3b\n4uzkxOdjhjPu85mkpKTg4uLMuKED082beVj5ursyqEl1BmzYS3KqkeCCHgxuWoNTt6IZvfkQi9rn\n/evG3hQuVJCR/XrSY/BI8zU8ZmAfjp/+gyGfTWHVvJmWDyIU9vVlxOBQevUbQHJyMiHBxRg1dDAn\nTp5i6MgxrFiyMMuY7Lh89SpFg4IsBz5EChf0ZmS3d+gxbhbJKSmEFAlgTPd3OX72EoNmLGDNlCEs\n+/FXbtyOZMueQ2zZ8+cb/vnDe1HQ2zMXs7cPKXdiuDBpPOVCh2JwciLxRhjnx4/Fo1x5SnbvzYnO\nH5AcHc3ZYYMp2aU7Dm5umJKTOTtiCKbktOWw3YoVI+nWrVxuiQhExyUxdNUxxrd7HCdHB65FxTNo\n5VEAKhfzZnDLqrSdnjY/K6SwBxF3E0nR3CKr0JytnDOYMlt/+29OnTrFxYsXKV26NBUr5uw7pZJu\nX/vHyYllLn7BRM/ql9tp5GuFPhpL8i0t2mFNzoFpK1AmxkZZiJT/hau3L6mn9RUA1uRY8Rn2Pa8P\nl6yp5saf6WQomdtp5HuzTZd4fOCPuZ1GvnZoVLPcTiHH3ltmX73dX7V9PLdTsNyzdfPmTWbNmsW5\nc+coVaoU/fv3Jzg42Ba5iYiIiIiI2C2LxVZoaCjt2rXjySefZN++fQwcOJAFCxbYIjcREREREckj\nNIww5ywukJGYmEijRo3w9vamcePGpKZmvvKLiIiIiIiI/MlisZWamsqZM2cAzP8VERERERGRB7M4\njHDQoEEMGDCAiIgIAgICGDlypC3yEhERERGRPCTVaLQcJOlYLLZ27drFqlWrbJGLiIiIiIhIvmFx\nGOG2bds0T0tERERERCSHLPZsRUdH88wzzxAcHIzBYMBgMLBs2TJb5CYiIiIiImK3LBZbs2fPtkUe\nIiIiIiKSh2np95yzWGytWbMmw2NdunSxSjIiIiIiIiL5hcViy8/PDwCTycTJkycxahUSERERERER\niywWW23btk23/f7771stGRERERERyZs0jDDnLBZbFy9eNP8eERFBWFiYVRMSERERERHJDywWW4MH\nDzb/7urqyqeffmrVhERERERERPIDi8XWokWL0m0nJydbLRkREREREZH8wmKxtWzZMubPn09KSgom\nkwlnZ2d++uknW+QmIiIiIiJ5RIrmbOWYg6WAb775hkWLFlGvXj3GjBlDmTJlbJSwyHwAACAASURB\nVJGXiIiIiIiIXbNYbAUEBBAQEEBcXBy1atXi7t27tshLRERERETErlkcRujl5cWWLVswGAwsW7aM\nmJgYW+QlIiIiIiJ5iJZ+zzmLPVsjR46kaNGi9OzZk0uXLhEaGgpAUlKS1ZMTERERERGxVxaLLU9P\nTypXrkxgYCD9+vWjVq1agL7cWERERERE5EEsDiPMismkbkQRERERkYeFhhHmnMWerawYDIZ/Mw8R\nEREREZF85R8XWyIiIiIiIpK1f1xsaRihiIiIiIhI1izO2bp58yZFihQxb1+4cIHSpUtTtmxZqyYm\nIiIiIiJ5h+Zs5VyWxdYff/zBrVu3mDBhAn369AEgNTWVSZMmsW7dOoYMGWKzJEVEREREROxNlsVW\nbGwsP/zwA5GRkWzYsAFIWxTj9ddft1lyIiIiIiIi9irLYqtGjRrUqFGDEydOUKVKFQCMRiMODlpT\nQ0RERETkYaNhhDlnsXI6f/48GzZsYM2aNdStW5evvvrKFnmJiIiIiIjYNYvF1sKFC3n66af57rvv\n+PXXX/nll19skZeIiIiIiIhds1hsubq6AuDh4YGLiwspKSlWT0pERERERMTeWVz6vXjx4rRp04b+\n/fszffp0KlSoYIu8REREREQkD9GcrZyzWGyNGTOGuLg4PDw8eOSRR/D397dFXiIiIiIiInbNYrF1\n9uxZhgwZQmxsLP/5z38oV64cDRo0sEVuIiIiIiIidsvinK2RI0cyZswYChUqxKuvvsq0adNskZeI\niIiIiOQhJqPJrn7ygmx9aVaJEiUwGAz4+vri4eFh7ZxERERERETsnsViy8fHh2XLlnH//n02bNiA\nj4+PLfISERERERGxaxbnbJUvX57r16/j6+vL8ePH8fX1tUVeIiIiIiKShxjzyNA8e5JlsbVixQpW\nrlzJ+fPnKVOmDAD79+/X92yJiIiIiIhkg8FkMmVaoiYlJREeHs6cOXPo1KkTAA4ODhQuXBgXFxeb\nJikiIiIiIrmrwZTtuZ1CjvzSvV5up5B1z5aLiwvBwcGMGDHif3qBM+Gx/9Pz5cEqBHiz6lhYbqeR\nr71StSjJ4ZdyO418zTmgJACpFw/mbiL5nGOp6hy7cSe308jXqgb5kBgbldtp5Guu3r48PvDH3E4j\n3zs0qhmdDCVzO418bbbpUm6nIDZgcc6WiIiIiIhIFgPi5AGytfS7iIiIiIiI5IyKLRERERERESvQ\nMEIREREREbHIpKXfc0w9WyIiIiIiIlagYktERERERMQKVGyJiIiIiIhYgeZsiYiIiIiIRUbN2cox\n9WyJiIiIiIhYgYotERERERERK9AwQhERERERschkzO0M7I96tkRERERERKxAxZaIiIiIiIgVaBih\niIiIiIhYZDJpNcKcUs+WiIiIiIiIFajYEhERERERsQIVWyIiIiIiIlagOVsiIiIiImKR0ag5Wzml\nni0RERERERErULElIiIiIiJiBRpGKCIiIiIiFpk0jDDH1LMlIiIiIiJiBSq2RERERERErEDFloiI\niIiIiBVozpaIiIiIiFikOVs5p54tERERERERK1CxJSIiIiIiYgUaRigiIiIiIhYZTRpGmFPq2RIR\nEREREbECFVsiIiIiIiJWoGGEIiIiIiJikVYjzDn1bImIiIiIiFiBii0RERERERErULElIiIiIiJi\nBZqzJSIiIiIiFmnOVs6pZ0tERERERMQKVGyJiIiIiIhYgYYRioiIiIiIRUYNI8wx9WyJiIiIiIhY\nwUPVs/X7rp0snDODlOQkSpQpR7d+obh7eGYaazKZ+Hz0MEqULkPLdm+aH/9hzQo2fb+OpKREypSv\nSLd+g3B2cbFVE/K80wd2s+mbL0lJSaZI8dK0+rgPbu4eGeJ2/7iGvT+tA4OBwoFFaflRbzx9Cpn3\nx9wOZ/aAznSd8CUe3j62bEKes23XXqbMmU9ycjLly5RieL8eeHp4ZCvmTmwswydO48zZCxRwc6PF\nC8/xxqsvc/7iZfoOH2t+vtFo5OyFS0weOYgmz9a1dRPznG17DzJ5/jKSklMoX6o4I3t8gKeHe4Y4\nk8nEwImzKVsyhHdffQmA7iMncznsljnm+s1wnqxaiRnD+tgsf3txYPdOvpk7k5TkJIqXLsvHfR98\nT54xdjghpcrwctv2ANyNvcPcyeO4dO4PXN0K0KDZS7zQqo0tm5DnbN/5G5/PmEVSUjLly5VhWOhA\nPD09chzTo08//P39GNC3NwC/bt9B6LARBAUWMcd8PXcWHh4Z7+8Pm7oV/On6XHlcHB04e/Muw9Yc\nJy4xJV3MS48VpX3dUuZtT1cnAnzceH7cL0TFJQEQ6OPGwk61aTNtJzHxyTZtQ37RYf4Ewo6fYfPE\nubmdiojZQ9OzdSc6mqljhtN/5DhmLVlFkaLFWDB7eqaxVy9dJLT7x+z8ZUu6x3dt+5n1q75lxJQZ\nTF+4nKSkRNZ9u8QW6duFe3diWDXjM17vM4yeUxfiGxjET998kSHu+vkz7PhuOZ1GTaf75PkUDgpm\n87J55v0Hf/2JLwZ1Izbqti3Tz5OiomMYNGYiU0YOYv2SrwguWoTJs+dlO2bctDm4FyjAukVfsGTO\nFHbu/Z1ff9tDmVIlWDV/lvnn6Ser80Lj+iq0gKiYWAZOmsOUQT344atJhAQFMGn+0gxx569c591+\nI9m4Y0+6x6eE9mDNzLGsmTmW4Z90xMvTg9Au79oqfbtxJyaaGeNG0Gf4WKYuWklg0WJ888WMTGOv\nXb7IsJ4fs+vX9Pfkr2dMxq1AASZ/vZzRM+dxaO9u9u/aYYv086So6GgGDR/FpHFj+H7VcoKLFWPK\n9Jk5jpm3cDEHDx9J99iRo8fo0P51VixZaP5RoQWF3F0Y1qoqfZYcouWUHVyLvk+3puUzxK0/HEbb\n6b/RdvpvtJ+5i8h7iYz7/qS50HrpsaLM61iLAG83WzchXyhSsQzdty7hiddezO1URDJ4aIqtQ7/v\noVzFyhQNKQ5AsxavsG3zRkymjGNPN6xZQeNmzanboHG6x3/Z+AMt2ryBl7cPDg4OfNyrPw2avmCT\n/O3BuSO/E1y2An5BwQDUavoyh3dszXCOi5WpQK9pi3Hz8CQ5KYnYqNu4e3oDEBt1m5P7fqPDgLEZ\njv8w2vX7QapUrECJkGIAtGnxEhs2/5zunD4o5uSZszRv2ghHR0ecnZ2pV7smm3/dme41Dhw5xqZf\ndzK4dzfbNSwP++3gUR4pX5qSxYIAaPtiE9b//FuG63jp95to2aQ+zz/zVKbHSUpOof/EWfT/8C2C\n/AtbPW97c+T3vZStWJmg4LR7ctP/vMKOLZnfkzeuWUmDZs15un76e/KFM6ep1+QF8/Vd/ak67Nn2\ns03yz4t279nHI5UrUaJ4CACvvdKKHzb+lO6cWorZt/8Av+3eQ+tWLdId+/DRY+z7/QBt3nybDh07\nsf/gIRu1Km97qpwfJ67f4UpkPAAr9l6h2aNFH/ict+uVJiouiVW/XwXA38uV+pUD6brggNXzza/q\nd36L3fNXcODbDbmdSr5nMpns6icvyFaxdezYsXTb+/bts0oy1nQ7/BZ+gYHmbT//AOLj4rgfH5ch\ntlOPvjR4PmMRFXb1CjHR0Qzp1ZWuHdqxdP4XeHh6WTVve3InMgKfwgHmbe/C/iTGx5F4Pz5DrKOT\nEyf37WTch625dOooTzRslvYcXz/a9x1OYEhJW6Wdp90Mj6BIoJ95O9Dfn3tx8cTFx2crpmrlinz/\n01aSU1KIj7/P5m07iYiMSvcaE2bMpVvHtzMMTXxY3YyIpMhfiqNAf1/uxd8nLv5+urjQzu/wn8bP\nZHmc1T/9QoBvIRrXedJqudqzyPBbFPb/835R+AH35Pe79+HZ5zLek8tVrsL2zT+QkpLC/fh49m7/\nmeiHuEf85q1bFAn885wGBvhzLy6OuLj4bMWER0QwbuJkxo4YioOjY7pjF/TxoW3rV1i+6Gs+6fwR\nPfr24+atcOs3Ko8r4uPGrTsJ5u3w2AS83JzxcM18lkZBd2ferFuK8RtOmR+LuJtI7yWHuBBxz+r5\n5lfLug5h7+I1uZ2GSKYeWGzt37+fZcuW0adPH5YvX87y5ctZsmQJw4cPt1V+/5qsVk9xcHDM9PHM\npKSmcGT/Xj4dPoZJXy7kbmwsi+bOtPzEh4TJaMz0cQeHzC+zyjXrEjp/HY1ad2D+iL4Ys3j+wyyr\nc/LX6/ZBMX06f4ABA63f/ZhuA4dRu0Z1nJ3/fBNw6NgJou/E8mKTBv9u4nbMmMUnYQ6OORsIsGDN\nD3Rq1/LfSClfMposX9uWdPioOwYM9Hm/PeMH9aVajVo4OTn/WynanSzP6V+u3axiTJjoO3AwfXt2\nx9/PL8P+yePH0qhBfQCqP/Yoj1atyp699vfB67/NYMj88dQs3nO0ejKEX0/dIiz6fqb7RST/eeAC\nGd7e3ty+fZukpCQiIiIAMBgM9OljHxO9v/lyNvt+2w5AfFwcJcqUNe+LvB2Bp5c3bgUKZPt4voX9\neKpeffME7vrPNWP511/+u0nbmc3L5nF6/y4AEuLjKVL8zwnAsVERFPD0wsUt/TmOvHGduzFRlKxU\nFYAnGjZj7dzJJMTdxd3r4V4M4++CAgM4duq0eTv89m28vTxxL+CWrZgbt8Lp9fF7+HinDdP86pvl\nFC/25xCXjT9v5z/PN86yIH4YBfkX5ujpc+btW7ej8Pb0wN0t+3MpTp67SGqqkSerVbJGinZr2bw5\n7P//e3J8HMVL/3lPjvoH9+T4+Djad+qK138X0VmzZAFFigX/u0nbkaDAIhw7ftK8HR4Rgbe3F+5/\nOadZxVy4cJHr18OYMHkqALcjIzEajSQmJdHrk64sX7mK99/ugMFcXZhwcnqo1tgy+6hROZ6tlNY7\n6OHqxLlbd837ArxduROfREJyaqbPbVo1iM/Wn8p0n4g9yOLzGnmAB94py5cvT/ny5XnttdcICAh4\nUGie9Mb7nXjj/U4AxERH0bVDO8KuXqFoSHF+XLuKWnXr5eh4deo3YucvW3iueQtcXFzZu+NXylaq\nbI3U7UaTtu/SpG3a5P97d6L5vOd73L5xDb+gYPZt+p5KT9bJ8JzY6EiWTxlhXmnw8I4tBIaUVKGV\niadrPsH4GV9w+ep1SoQUY/naDTSsWzvbMcvXricuPp6BPbpwOyqald//yGdD+pufu//wUQb26GzT\nNuV1dZ6oxvi5i7l0/QYliwWxfMMWGtaukaNj7D92ilqPVvnLG1MBaPvuh7R990MA7kRH0fPd17lx\n7QpBwcXZ9N1qnqyTs3vypu9Wcz8ujve79yEmKpKt69fRffBIa6RuF2o/VZMJn0/l8pWrlCgewopV\na2hQr162Yh6tVpXNG9aZ42Z+8SUxMTEM6Nub1NRUlq9YRckSJWjSsAGnzpzh2IlTjBgyyNZNzBNm\nbT3LrK1nASjk4cKKbnUpXtidK5HxvFqzOL+eynx4pZebEyGF3TlyJdqW6YpILntgsdWtWzemTp1K\nq1atMuzbuXNnJs/IuwoW8uWT/oMZO6hf2rLkRYPpEToUgLOnTzJ93Eg+n//glQWbtXyVu3dj6fne\nWxiNqZQuX5HOXbrbIHv74OlTiFc792XJhCGkpqTgG1iU1l3T3thfO3eGNbPH03XCl5SqXI36r7Rn\n7pDuODo64lXIj/Z9H943SA9SuFBBRvbvRY9BI0hOSSGkaBBjQvtw/PQfDBk3mVXzZ2UZA9Dxzbb0\nH/EZLd76AJPJxMfvvEnVShXMx79y7TpFiwRm9fIPpcIFfRjZsxM9Rk5JO59BgYzp8zHH/zjPoClz\nWTPT8uItl6/fpFhgxqFY8iefQr50/nQQE4b0IyU5hcCixeg6YCgA506fZPb4UUz46psHHqPVGx2Y\nOmoIPd5uiwkTr73dkbIVH94PwAr7+jJicCi9+g0gOTmZkOBijBo6mBMnTzF05BhWLFmYZcyDODo6\n8vmEzxgzYRIz53yJk6Mj40ePoFDBgjZqWd4VHZfE0FXHGN/ucZwcHbgWFc+glUcBqFzMm8Etq9J2\n+m8AhBT2IOJuIin6UliRh4rB9IClOhYvXkz79u05fPgwjz322D96gTPhsf84ObGsQoA3q46F5XYa\n+dorVYuSHH4pt9PI15wDSgKQevFg7iaSzzmWqs6xG3dyO418rWqQD4mxUZYD5R9z9fbl8YE/5nYa\n+d6hUc3oZCiZ22nka7NNl3I7hRyr2te+Vnw89lnufx3AA3u2Fi1aRHBwMJMnT6Zv377pllCsW1ff\nxyMiIiIiIpKVBxZbffr0YdOmTURGRrJ+/fp0+1RsiYiIiIiIZO2BxVbjxo1p3Lgxa9eupUWLFg8K\nFRERERERkb/I1nrPK1eutHYeIiIiIiKSh5mMJrv6yQuy9SUZSUlJtGjRglKlSpm/j2fixIlWTUxE\nRERERMSeZavY6t27t7XzEBERERERyVeyVWxVrlyZuXPnEh4eToMGDahQoYLlJ4mIiIiISL6RV4bm\n2ZNszdkaMGAAISEhXL58GT8/PwYOHGjtvEREREREROxatoqtmJgYXn31VZycnKhevTpGo9HaeYmI\niIiIiNi1bBVbAOfPnwfg5s2bODo6Wi0hERERERGR/CBbc7ZCQ0MZMGAA58+fp1u3bgwZMsTaeYmI\niIiISB5iNGnOVk5lq9i6cuUKS5cuNS/7LiIiIiIiIg+Wrepp9+7dvPzyy0yePJmrV69aOycRERER\nERG7l62erUGDBpGUlMTWrVsZPnw4ycnJfP3111ZOTURERERE8got/Z5z2R4XePToUXbu3ElkZCS1\na9e2Zk4iIiIiIiJ2L1s9Wy+88AKBgYHUqVOHXr164evra+28RERERERE7Fq2era6dOlCWFgYBw8e\npE2bNqxbt87aeYmIiIiISB5iMprs6icvyFbP1oIFC1i9ejUeHh7cu3ePDh068PLLL1s7NxERERER\nEbuVrZ4tg8GAh4cHAJ6enri6ulo1KREREREREXuXrZ6tkJAQxo4dS40aNdi/fz/Fixe3dl4iIiIi\nIiJ2LVvF1pgxY1i+fDm7du2iTJky9OrVy9p5iYiIiIhIHmLMI/Og7Em2ii0nJyfeeOMNa+ciIiIi\nIiKSb2T7e7ZEREREREQk+7LVsyUiIiIiIg83k0nDCHNKPVsiIiIiIiJWoGJLRERERETEClRsiYiI\niIiIWIHmbImIiIiIiEWmfL70e0JCAn369CEyMhIPDw/GjRuHr69vuph58+axfv16DAYDnTp1okmT\nJg88pnq2RERERETkobd06VLKly/PkiVLaNGiBTNnzky3PzY2loULF7Js2TLmzZvH6NGjLR5TxZaI\niIiIiDz0Dhw4wDPPPANAvXr12L17d7r9BQoUoGjRoty/f5/79+9jMBgsHlPDCEVERERExCJjPhpG\nuGLFChYsWJDuscKFC+Pl5QWAh4cHd+/ezfC8oKAgXnzxRVJTU/nwww8tvo6KLREREREReai0bt2a\n1q1bp3usS5cuxMXFARAXF4e3t3e6/du3byc8PJytW7cC8N5771G9enWqVauW5etoGKGIiIiIiDz0\nqlevzrZt24C0wuqJJ55It9/Hxwc3NzdcXFxwdXXFy8uL2NjYBx5TPVsiIiIiImKRyZia2ylYVbt2\n7fj0009p164dzs7OTJw4EYD58+dTvHhxGjVqxK5du3jttddwcHCgevXq1KlT54HHVLElIiIiIiIP\nvQIFCjB16tQMj7/zzjvm37t160a3bt2yfUwNIxQREREREbECFVsiIiIiIiJWoGGEIiIiIiJiUX6f\ns2UN6tkSERERERGxAoPJZMo/304mIiIiIiJWUeLdJbmdQo5cnvd6bqegYYQiIiIiImKZhhHmnIYR\nioiIiIiIWIGKLREREREREStQsSUiIiIiImIFmrMlIiIiIiIWmVI1Zyun1LMlIiIiIiJiBSq2RERE\nRERErEDFlpVMmzaNpUuX5nYa+UKPHj1ISkoiLCyMn3/+GYBRo0YRFhaWy5lZx+rVq5kwYYLFuL17\n99KjRw8bZCS5afHixbmdgtW9+eabnD9/Psv9derUsWE2eUtiYiIrVqzIVuzq1avZunWrlTPKv3Jy\nrv/f77//zunTp62UkfwbNm/ezHPPPcfChQvp0qULAGfOnOH333/P5czsk8mYalc/eYGKLcnzJk+e\njIuLC3v27OHgwYMADBw4kKJFi+ZyZiLWN2vWrNxOQXJRREREtguAVq1a0ahRIytnlH/l5Fz/v1Wr\nVhEeHm6ljOTf8PPPP9OvXz/eeustpk+fDsCmTZs4d+5cLmcmD4s8uUDG6tWr2bZtGwkJCVy5coWO\nHTuyZs0ahg4dSpkyZVi6dCm3b9+mZcuW9OjRg6CgIK5du8aLL77I2bNnOXnyJPXr16dnz56ZHj8x\nMZFPPvmEe/fucf/+fXr06EHdunVZvHgxmzZt4v79+xQqVIjp06ezfv16fvnlFxISEoiIiOCtt95i\n69atnD17lr59+9K4cWMaNWrEo48+ypUrVyhXrhyjRo1K93oTJ05k//79GI1G3n77bZo1a8Y333zD\n2rVrcXBwoGrVqoSGhtri1GZg7XN97do1PvnkE/z9/bl16xb16tWjR48eXLt2jQEDBpCamorBYCA0\nNJSKFSvSv39/Ll++TEJCAm+99RYtWrSgYcOGrF+/ni+++IKEhAQef/xxvv76a4YOHUqfPn2YOnUq\nwcHBbNy4kf379/PJJ58wcOBAoqOjAQgNDaVChQq2PK3/s8OHD9OhQwfu3btH165dSUhI4JtvviEl\nJQWDwWD+g/H/srp2//7/tlWrVhw5coTRo0djNBoJDAxkwoQJXL58mZEjRwJQsGBBRo8ejZeXV240\nPdsyu3ZbtWqVaezMmTPZsmULqamptGvXjrZt2zJv3jw2bNiAk5MTNWrUoE+fPkybNo3Lly8THR1N\nTEwMb7zxBps2beLixYuMGzcOPz+/HF3Pzz33HNWrV+fixYsULlyYadOmYTQaGTJkCJcvX8ZoNNK9\ne3dq1apF8+bNqVmzJmfOnMFgMDBz5kwWL17MnTt3GDp0KB06dKB///44OTlhNBqZOHEiQUFBNj7r\n/7t79+4xcOBA7t69S3h4OK+//rp537Rp07hw4QKRkZHExsYSGhpKjRo1SEpKolevXoSFhVGwYEGm\nTp1KZGQkQ4cOJTExkYiICLp3707jxo1zsWXWMXv2bM6dO0fFihV5+umniY+PZ9SoUaxdu5bjx48T\nExNDxYoVGTNmDNOmTcPPz4/SpUszd+5cnJ2duXbtGi+88AIfffRRlq+R1f3jwoUL9O7dm8TERJo1\na8bP/9fe3cdUXf5/HH8dbiXBvAENB94AmaYDnTlNR/MGC6WbxUTlJN6Ua7qZLtRMEpNQNCWzmWkH\nJRFLxdTmUrbSb5Nulmm2aUDiVEpNETOdBxGBw+8Pds5P5OAB86PCno+/HBw+5/O5znWu6/P+vN/X\n5f/+p4SEBLVv315Xr16VxWJRUlKSzp49q+rqak2ZMkWjR492Osa0atXqPrba3bG39ccff6yioqJ6\nc8jt81NYWJi+//575efnKywszOkDQGf93Ww2KyEhwek8O336dLVt21bPPPOMhgwZotTUVLm7u8vb\n21upqanq3Lmz0/GspamsrNT8+fPr9K3Vq1dr7969MplMeu+99/T000+rS5cu9eaugoICpaeny9PT\nU3FxccrLy9Pvv/+udu3aacaMGdq5c6d27dolT09P9e7dW+Hh4Q/4atHSPZTBllQ7QG3YsEHFxcWa\nNm2aAgICnL7uzJkzyszM1I0bNzRixAjl5eXJx8dHw4YNazAA+Ouvv3TlyhWtX79e//zzj4qLi2Wz\n2XTlyhVt3LhRbm5ueu2113Ts2DFJUllZmePGbOPGjcrJydHBgwe1adMmRUVFqaSkRLNmzVLXrl01\na9Ys7du3z/FeBw4c0NmzZ7VlyxZVVFRo7NixGjJkiHbu3Kl3331X4eHh+uKLL1RVVSUPjwfzcRjZ\n1pJ07tw5bdiwQX5+fjKbzcrPz9enn36qiRMnKioqSoWFhUpKStKmTZt06NAh5eTkSJJ+/PFHxzHc\n3d31+uuv69SpUxoxYoQ2btwoSRozZoy++uorxwA6Z84crVu3ToMGDZLZbFZxcbHmz5/f7Eo6fXx8\nZLFYdPnyZcXFxWns2LGyWCzy8fHRwoUL9cMPP6hTp06SdMe+e/tnGxsbq4ULF2rlypUKDQ3V9u3b\ndfLkSaWkpCgtLU1hYWHavn271q9f3yxKFJ1d3+0KCgqUl5en7du3q7q6WitXrtTx48eVm5urrVu3\nysPDQ2+88Ya+++47SVKrVq20YcMGWSwWHThwQOvWrdOOHTu0Z88eTZo0qdH9eefOnTpz5oyysrIU\nGBio8ePH69ixYyooKFC7du2Ulpamf//9VxMmTNCePXtUVlammJgYJScna/bs2crLy9P06dO1efNm\nLVq0SJ9//rnCw8M1d+5cHT58WNeuXWuWwdaff/6pmJgYPfvssyopKVFCQoKjL0u17b9p0yadOHFC\ns2fP1u7du3X9+nW9+eabCgoKUkJCggoLC2W1WjVlyhQNHDhQR44c0erVq1tksDVt2jQVFRUpMjJS\nV69e1YIFC2S1WtWmTRt99tlnstlsiomJUUlJSZ2/+/vvv7V7927dvHlTkZGRDQZbdxo/GvL8889r\n5MiR2rx5s9q3b6/09HRZrVbFxsZq0KBBTseY3r1737M2MYq9rcvLy+vNIRkZGfXmpz59+igyMlKj\nR49usNLCWX+/9QHD7UpLS7Vjxw55eXkpNjZWS5YsUa9evbRv3z4tW7ZM06ZNqzee1dTUyGQyGdIm\nD8q2bdvq9a3AwEAdPnxYEREROnjwoJKSkmQ2m+vNXYMHD65TEnrw4EGNHj1a/fr1kyR16tRJL7/8\nsvz9/Qm07sLDUprXnDy0wVbPnj0lSYGBgbp582ad39XU1Dj+HRwcLD8/63NI6wAACflJREFUP3l5\necnf319t27aVpDsOPI8//rjGjRunxMREVVVVKSEhQW5ubvL09FRiYqIeeeQRXbhwQVVVVZKkXr16\nSZL8/PwUGhoqk8mkRx99VBUVFY5z7Nq1qySpX79+On36tOO9ioqKlJ+fr4SEBElSVVWVzp07p6VL\nlyozM1PLly9X375961zT/WZkW9uPb39teHi4Tp8+rZMnT2rAgAGSatv3woUL8vX1VVJSkpKTk2W1\nWvXiiy+6PPcXXnhBZrNZcXFxslqt6tGjh4qKivTzzz8rNzdXknT16tVGtsTDo3///jKZTOrQoYP8\n/Pzk4eGhefPmqXXr1jp16pT69u3reO2d+q6zz/bSpUsKDQ2VJMXFxUmSI+CSap8oduvW7X5d6n9y\np75rd/r0aYWHh8vd3V3u7u56++23lZubq4iICHl6ekqSnnrqKZ04cUKS9OSTT0qq/b6HhYVJUp3v\ne2P7syS1a9fOERAFBgaqoqJCRUVF+vXXX3X06FFJtWPC5cuX67y3/bW3GjNmjDIyMjR16lT5+fk1\ni2DYGX9/f2VlZembb76Rr6+vo6/aDRo0SFLtOH3p0iVJte0fFBTk+Pvy8nIFBARo7dq1+vLLL2Uy\nmeodpyXq3r27JMnb21uXL192fOevX7+uysrKOq/t0aOHPDw85OHhcces0p3GD7vb5yf7eZw8eVKD\nBw+WJPn6+io0NFRnzpxxOsY0J87mkLuZnyTX/V2q275BQUHy8vKSJF28eNFx/zFgwAB98MEHTsez\nlshZ3+rXr5927dql0tJSDR8+XB4eHg3OXfY+CjwMHto1W7ffwHt5eam0tFRS7ZPqhl7XGMePH1dZ\nWZksFouWLVum1NRU/fHHH9q3b59WrVql5ORk2Ww2xwDo6j1KSkoc53bkyBHHDZokhYSEaODAgcrO\nzlZWVpZGjRql4OBg5eTkKCUlRZs3b1ZhYaF+++23Jl/HvWJkW0u1g2Z5ebmqq6t19OhRhYWFKTQ0\nVIcPH5YkFRYWyt/fXxcvXlR+fr7WrFkji8WiFStW1JmY3NzcZLPZ6hzbz89Pffr00dKlSx1ZjZCQ\nEE2ePFnZ2dlatWpVoyfFh4n9yXJpaamuXbumrKwsffjhh1q8eLG8vb3rTM5N7bsdO3ZUcXGxJMli\nsejbb79V9+7d9f777ys7O1tz587V0KFDDb/Ge6ExfTIkJEQFBQWy2WyqrKzUlClT1L17dx09elRV\nVVWqqanRoUOHHJOzq2M2tj83dKyQkBDFxMQoOztbGRkZio6OvuODC/tnuX//fvXv319ZWVmKjo7W\n+vXrXV77wygzM1N9+/ZVenq6oqOj693I5+fnS6q94bVnvJy1y0cffaSXXnpJK1as0MCBAx/oAysj\n3TruubnVTtl5eXk6f/68Vq5cqcTERN24caPe9Td2vG5o/PD29nbMA/bP5PZj39rvrVarioqKFBQU\n5HSMaQ7sbe1sDmlofjKZTHfsew3194bmWftnLNWO1fbNNw4dOqRu3bo5Hc8aetDUnDnrW7GxsSos\nLNSOHTscQXxDc9et7eiMyWSqdz8BGOWhzWzdbuLEiUpJSVHnzp3VsWPH/3Ssbt26ac2aNcrNzZXN\nZtPMmTPVtWtX+fj4OGqfAwICGr3o1cvLS6mpqTp//rwiIiI0fPhwx+A5fPhw/fLLLzKbzbp+/bqi\noqLk6+urJ554QmazWa1bt1anTp0UERHxn67pXrqXbS1Jnp6emjVrli5duqTo6Gj17NlTb731lpKT\nk5WZmamqqiotWbJEAQEBKi0t1fjx4+Xm5qZXX321Tmlljx49tHbt2nrlKHFxcZo6darS0tIk1ZaC\nvPPOO8rJyZHVanXsPtSc2NcE2NdnbN26VePGjZOHh4fatGmjixcvOp70N7XvpqSkKCkpSW5ubgoI\nCNDkyZMVGBioefPmOW4ebl932Jz16tVLkZGRio+Pl81mU3x8vHr27KlRo0Y5fta/f39FRUU1alex\nxvbnhowfP14LFizQhAkTZLVaZTab73hjEBoaqjlz5mjmzJmaN2+e1q5dK5vNpvnz599Vezxow4YN\n0+LFi7V37175+fnJ3d29zs1iYWGhJk2apPLycqWmpjZ4nOjoaC1fvlwWi0WPPfaYY31NS9OhQwdV\nVlbqxo0bjp+Fh4frk08+0SuvvCKTyaTg4OC73qShofFj6NCh2rJli+Lj49W7d2+1bt263t+OHTtW\nycnJio+PV0VFhWbMmKEOHTo4HWOaA3tbl5WVKTc3t84c0tD8FBERofT0dAUFBTmyebdqqL83Zp5d\nvHixUlNTVVNTI3d3d6WlpSk4OLjeeGbPhLUkzvqWv7+/nnvuOf3000/q0qWLJGnRokX15q7GfBf6\n9Omj5cuXKzQ01JFNB4xiqmmpjwPvoyFDhtRZX4T/d/bsWSUmJjrq3IHmjP5sLPsGD/Hx8Q/6VAAA\nTnQe17x2yP17W8ObA90vzSazdTe2bdumr7/+ut7PExMTHQslcW/cqa2B+4HvO9Cw/fv3OzYWutXE\niRM1cuTI+39CLcyiRYuc/l9xGRkZzWInRgDGIbMFAAAAwCUyW03XojNbAAAAAO4Ntn5vuod2N0IA\nAAAAaM4ItgAAAADAAARbAAAAAGAA1mwBAAAAcIk1W01HZgsAAAAADECwBQAAAAAGoIwQAAAAgEs2\nygibjMwWAAAAABiAYAsAAAAADEAZIQAAAACX2I2w6chsAQAAAIABCLYAAAAAwAAEWwAAAABgANZs\nAQAAAHCJNVtNR2YLAAAAAAxAsAUAAAAABqCMEAAAAIBLNdWUETYVmS0AAAAAMADBFgAAAAAYgGAL\nAAAAAAzAmi0AAAAALrH1e9OR2QIAAAAAAxBsAQAAAIABKCMEAAAA4BJlhE1HZgsAAAAADECwBQAA\nAAAGoIwQAAAAgEuUETYdmS0AAAAAMADBFgAAAAAYgGALAAAAAAzAmi0AAAAALtXYbA/6FJodMlsA\nAAAAYACCLQAAAAAwAGWEAAAAAFxi6/emI7MFAAAAAAYg2AIAAAAAAxBsAQAAAIABWLMFAAAAwCXW\nbDUdmS0AAAAAMADBFgAAAAAYgDJCAAAAAC7ZKCNsMjJbAAAAAGAAgi0AAAAAMABlhAAAAABcqqmm\njLCpyGwBAAAAgAEItgAAAADAAARbAAAAAGAA1mwBAAAAcKmGrd+bjMwWAAAAABiAYAsAAAAADEAZ\nIQAAAACXKCNsOjJbAAAAAGAAgi0AAAAAMADBFgAAAAAYgDVbAAAAAFxizVbTkdkCAAAAAAMQbAEA\nAACAASgjBAAAAOASZYRNR2YLAAAAAAxAsAUAAAAABjDV1NTUPOiTAAAAAICWhswWAAAAABiAYAsA\nAAAADECwBQAAAAAGINgCAAAAAAMQbAEAAACAAQi2AAAAAMAA/wdVdTIrPuVmmAAAAABJRU5ErkJg\ngg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Show how some of these metrics/parameters might be related\n", + "metrics_df_for_correlations = metrics_df_current_setup[['num_samples', 'num_positive', 'balance', 'n_components', 'alpha', 'train_auroc', 'test_auroc', 'overfit']]\n", + "plt.figure(figsize=(16,16))\n", + "plt.title('Correlations', y=1.05, size=15)\n", + "sns.heatmap(metrics_df_for_correlations.astype(float).corr(),linewidths=0.1,vmax=1.0, square=True, annot=True)\n", + "sns.plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.c. Evaluate how changing some of the parameters effects performance\n", + "\n", + " - When a larger range of alpha and an L1_ratio of 0 were used for the queries with all diseases there was a large performance gain (~6%-8%)... will there be a similar performance gain with these queries?" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "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", + "
num_samplesnum_positivebalancen_componentsalphatrain_auroctest_aurocoverfit
mean3150.92128.1040.069393818.11322.95024e+070.8153650.7542710.0610944
median2941930.0336463201000.8258020.7721820.0327842
\n", + "
" + ], + "text/plain": [ + " num_samples num_positive balance n_components alpha \\\n", + "mean 3150.92 128.104 0.0693938 18.1132 2.95024e+07 \n", + "median 2941 93 0.0336463 20 100 \n", + "\n", + " train_auroc test_auroc overfit \n", + "mean 0.815365 0.754271 0.0610944 \n", + "median 0.825802 0.772182 0.0327842 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean testing Auroc improved by 3.93%\n", + "Median testing Auroc improved by 4.06%\n", + "Mean overfitting reduced by 1.4%\n", + "Median overfitting reduced by 1.5%\n", + "Wall time: 1h 4min 33s\n" + ] + } + ], + "source": [ + "%%time\n", + "# alpha and L1_ratio.\n", + "metrics_df = evaluate_classifier(X = X,\n", + " y = y,\n", + " list_of_queries = query_list,\n", + " set_k_range = [10, 20],\n", + " k_function = None,\n", + " alpha_range = [10** x for x in range(-10, 10)],\n", + " l1_ratio = [0])\n", + "display_stats(metrics_df, metrics_df_current_setup, verbose = False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.d. Use a function to select k (number of PCA components)\n", + "- You can't us n_components (which the select_K is realy just a proxy for in this notebook) larger than the smallest total query size * the test train split ratio * 1-(1/cv) (for example if there is a query that has 100 total samples and you do a 80%/20% split than the training set only has 80 samples in it and if you do 3 fold CV each training fold will only have 80*0.66 (54) samples, so you couldn't do PCA with anymore than 54 components).\n", + " - There is a risk of overfitting if you use too many components for more unballanced queries\n", + " - It requires less components to capture a reasonable amount of variance for queries with less samples\n", + " - We haven't seen much of a clear coorelation with the two hueristics above; understanding them quantitatively has been difficult" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def k_func(num_samples, num_positives):\n", + " ''' Decide the number of PCA components based on a heuristic of total samples and class balance.\n", + " '''\n", + " # If there are more positives than negatives, set num_positives equal to the number of negatives\n", + " num_positives = min(num_positives, num_samples - num_positives)\n", + " # Rule of thumb based on number of positives\n", + " k = 5 * math.sqrt(num_positives)\n", + " # Adjust slightly for total number of samples\n", + " k = k * ((num_samples / 7000)**(1./6.))\n", + " k = [int(k)]\n", + " return(k)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfIAAAFlCAYAAAAQ8morAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlgE2XeB/BvmrYp9ICWFlbE7nJVQEQQKEUEbEWKQosc\ny1FflGUXAREFVIpIOQRBVkQOFTl03QWxoKjr6u4ipyilFQFBQShFBQqFntA7SSfP+web0CNJrxwz\nk+/nH+hMMnmemUl+8zzzPL/RCCEEiIiISJG83F0AIiIiajgGciIiIgVjICciIlIwBnIiIiIFYyAn\nIiJSMAZyIiIiBWMgJ1nJzMzEnXfeiY8++qjK8nfffRdz58512OfExMTgxx9/dNj27CkuLsa4ceMw\ndOhQ7Nq1q8b68+fPY8aMGYiLi0N8fDz+7//+D99//71LyuZKkyZNQn5+vts+/8yZM3jqqacQGxuL\n4cOHY/z48dizZ4/byvPJJ59g5MiRiI+Px9ChQ/HSSy+hqKgIAPDhhx9i48aNbisbKYu3uwtAVJ2X\nlxdWrFiBXr16oW3btu4uTqP9/PPPyMvLw+7du2us++WXX/DEE09g+fLl6N+/PwDg8OHDmDp1Kj78\n8EN07NjR1cV1mkOHDrnts0+fPo2//OUvWL58OQYOHAjg5gXUs88+i+zsbCQkJLi0PCdPnsRbb72F\nnTt3onnz5pAkCYsXL8aiRYvw+uuvY/z48S4tDykbAznJjp+fH/70pz/hueeeQ3JyMnx9fausnzt3\nLjp27Ig///nPNf6OiYnBsGHDcODAAVy/fh0zZszAsWPHcOrUKXh7e2P9+vVo1aoVAGDbtm04c+YM\nDAYD/vSnP2H06NEAgH379mH9+vUwGo3w8/NDYmIievTogXXr1uGHH35AdnY27rzzTqxcubJKufbs\n2YM333wTkiQhICAAL774IgICAjBv3jxcu3YNw4cPx/bt2+Hn52d5z6ZNmzBq1ChLEAeAvn374vXX\nX7e8ztp2u3XrhnXr1uHixYu4dOkSsrOz0a1bN/Tr1w+fffYZMjMz8cILL2DYsGFYt24dzp07h9zc\nXOTl5aFTp0545ZVXEBAQgHPnzuHll1/G9evXodFoMGnSJDz66KNIS0vDG2+8gTvuuAPnzp2DwWDA\nggULEBUVBYPBgJUrV+LIkSOQJAldunTB/PnzERAQgJiYGIwYMQKHDx9GVlYWHn74YcyZMwcvvvgi\nAOCJJ57Axo0bsX//fiQnJ8PHxwc6nQ4vv/wyOnToYNkHJpMJ0dHRePPNN3H33XcDAGbNmoXevXuj\nT58+eOmll2AwGCCEwOjRo/HYY4/ZPadWr16NyZMnW4I4ALRv3x5//etfMXHiRIwaNQpffvkldu3a\nhQ0bNgC42WI2/11bnbt164azZ88iPj4eycnJ2L9/P7y8vFBWVoaYmBh88cUXaNGiheWzc3JyIIRA\neXk5AECr1eLZZ5/FuXPnAADr1q1DQUEBJk+ejKlTp1rel5ubC29vb3z99de4du0aXn75ZWRlZcFo\nNGLo0KFVXkseRBDJyKVLl0T37t2FJEkiISFBvPrqq0IIITZv3iwSExOFEEIkJiaKzZs3W95T+e/o\n6GixbNkyIYQQX375pejUqZP4+eefhRBCPPXUU2L9+vWW1y1cuFAIIcTVq1dFVFSUSE9PF7/++qsY\nNmyYyM/PF0IIkZ6eLvr16ydKSkrE2rVrRWxsrDAajTXKnZGRIe677z5x8eJFIYQQKSkpol+/fqKo\nqEikpqaKoUOHWq3vsGHDxIEDB2zuD3vbXbt2rYiOjhaFhYWirKxM9O7dWyxfvlwIIcTu3bvF4MGD\nhRBCrF27VgwYMEDk5OQISZLE7NmzxauvviqMRqN48MEHxa5duyz7oX///uLYsWMiNTVVdO7cWZw+\nfVoIIcS7774rHnvsMSGEEOvWrROvvvqqMJlMQgghXn/9dcu+jI6Othyzq1evirvvvttS9oiICJGX\nlycqKirEXXfdJa5duyaEEOLTTz8VycnJNeq+Zs0asXjxYiGEENevXxeRkZGisLBQvPjii2LDhg1C\nCCGys7PFzJkzhSRJNvehEELce++94scff7S6LjIyUpw6dUrs3LlTPPnkk5bllf+urc5vvvmm5X3x\n8fGWY/rRRx+JWbNm1fhMg8EgZs+eLTp37iweffRRsXjxYrF//37L9teuXWupu9nFixdFdHS0+O67\n74QQQkyYMEHs3btXCCFEeXm5mDBhgvjyyy/t7gdSJ7bISZa8vLzw2muvYcSIEbj//vvr9d7BgwcD\nAO644w6EhoaiU6dOAIDw8HDcuHHD8rpx48YBAFq1aoX7778fhw8fhlarRXZ2NiZOnGh5nUajwcWL\nFwEA3bt3h7d3za9NamoqoqKicMcddwC42aoOCQnBTz/9BI1GY7OsGo0GJpPJ5np72wWA++67D4GB\ngQCAli1bWlr24eHhuH79umU7Q4YMQWhoKABg9OjRWLZsGUaNGgW9Xm/ZX61atcLgwYPxzTffoE+f\nPmjdujU6d+4MAOjSpQs+/fRTAMCBAwdQVFSElJQUAIDRaKzS2nzwwQct22vRogVu3LhhKT9ws/U5\nZMgQjBs3Dg888AD69euHuLi4GnUfNWoURo8ejblz5+KLL75AdHQ0AgMD8dBDDyExMREnT55E3759\nMX/+fHh5NW64jyRJdtfXVudevXpZ/v/YY49hx44dGDhwILZv3445c+bU2J6Pjw9ef/11zJkzB2lp\naThy5AgSExPRt29frF69usbr8/PzMXnyZMyePRu9e/dGaWkpjhw5ghs3bmDNmjUAgNLSUpw5cwaP\nPPJIg/YBKRcDOclW69atsWjRIiQmJuLRRx+1LNdoNBCVHhFgNBqrvK9yV7yPj4/N7Vf+8RdCwNvb\nG5Ik1fgxzcrKQsuWLbF79240bdrU6raElUcWCCFQUVFhtwzdu3fHDz/8gOjo6CrL33zzTYSHh9vd\nLoAatx2sXWQAN4OnmclkgpeXl9ULiMrbrnwLoPI+N5lMmDdvnqWbuqSkBHq93vJanU5n9X2VrVy5\nEunp6UhJScGmTZvw8ccfY/369VVec/vtt6NLly44cOAAPvnkE8ybNw8AEB0djV27diElJQWHDx/G\nW2+9heTkZISHh1utOwDce++9+O6779C1a1cAN7u2Q0NDcfbsWRiNRkRERCAjI8PmeVVbnSufF3Fx\ncVi1ahVSU1NRWlqK3r171yjPxx9/jODgYDz44IOIj49HfHw8pk2bhpiYmBoDAsvKyjB16lSMGDEC\nw4YNs5RHCIHk5GQ0adIEwM1gX3nfk+fgqHWStYcffhgDBgzA3//+d8uy4OBgS4s0Pz+/wSO8zS3M\nK1euICUlBX379kVUVBQOHTqE8+fPAwC+/vprxMfHV/nRtsb8vkuXLgGA5R7xPffcY/d9f/7zn/HR\nRx/h22+/tSw7ePAgtmzZgk6dOjV4u9Xt3bsXRUVFMJlM2LFjB6Kjo9G2bVv4+Pjgq6++AgBcu3YN\nu3btwn333Wd3W/fffz8++OADGAwGmEwmJCUlYdWqVbWWQavVoqKiAvn5+Rg4cCCaN2+OiRMnYubM\nmTh79qzV94wZMwabNm1CeXk5evbsCQB47rnn8O9//xtDhw7FwoULERAQgKysLLufPXv2bLz33nv4\n+uuvAQDvv/8+Ro4ciRdeeAEzZ86ETqdDSEgIzp07B71ej4qKCuzfv79BdW7SpAni4+Mxb948S69P\ndV5eXli5ciWuXr1qWfbbb7/h9ttvR7NmzSzLKioqMHPmTHTq1AlTpkyxLA8ICED37t3xt7/9DQBQ\nWFiI8ePHY+/evXb3A6kTW+Qke/Pnz8fRo0ctf0+YMAHPP/88YmNj0aZNG0RGRjZou3q9HiNGjIDR\naMT8+fMtI+RffvllzJ4929JKX79+vc2WuFmHDh2wcOFCPP3005AkCX5+fnjnnXcs3d62/P73v8c7\n77yD1atXY8WKFTCZTAgJCcH69esREREBAA3abnWhoaGYPHkyCgoK0Lt3b0ydOhU+Pj54++23sXTp\nUqxbtw6SJGH69OmIiopCWlqazW099dRTWLFiBUaMGAFJktC5c+c6TQ186KGHkJCQgLfffhvTpk3D\nxIkT4efnB61Wi6VLl1p9T0xMDBYvXozJkydX+fyXXnoJ27dvh1arxaBBgxAZGYlr167hySefxMaN\nGy0DGs06d+6MzZs3Y82aNVi2bBm8vLzg7++PkJAQnDhxAleuXEG/fv3Qu3dvPPzwwwgLC0OfPn0s\nFxj1rfPIkSOxY8eOKj1J1deXlZVh8uTJMBgM0Gg0+MMf/oDNmzdX6T3573//iwMHDqBr16549NFH\nLT0GGzduxMqVK7FkyRLExcXBYDBg2LBhiI+Pr/U4kPpohLV+LyJSDfMI6AULFri7KLJ09OhRhIeH\nIywszCHbE0Jg06ZNuHz5MhYvXuyQbRLZwxY5EXk0c5e9ozz44IOWXhUiV2CLnIiISME42I2IiEjB\nGMiJiIgUjIGciIhIwRQ52C0np6hR7w8OboqCglIHlUZ+WD9lY/2UT+11ZP1cLyzM9pRTj2yRe3tr\na3+RgrF+ysb6KZ/a68j6yYtHBnIiIiK1YCAnIiJSMAZyIiIiBWMgJyIiUjAGciIiIgVjICciIlIw\nBnIiIiIFYyAnIpIRvVFCdkEp9EbJ3UUhhXBqZrcTJ05g5cqV2LJlC37++WcsWbIEWq0Wvr6+WLFi\nBUJDQ7Fjxw4kJyfD29sb06ZNQ3R0tDOLREQkS5LJhO37MnA8PQf5hXqEBOnQIyIMY2M6QOvFNhfZ\n5rRAvmnTJnz++edo0qQJAOCVV15BUlISOnfujOTkZGzatAl/+ctfsGXLFuzcuRN6vR4JCQno168f\nfH19nVUsIiJZ2r4vA3u+z7T8nVeot/ydMCjCXcUiBXDaZV54eDjWrVtn+XvVqlXo3LkzAECSJOh0\nOpw8eRI9evSAr68vAgMDER4ejjNnzjirSEREsqQ3SjienmN13fH0XHazk11Oa5HHxsYiM/PW1WXL\nli0BAMeOHcPWrVvxwQcf4JtvvkFg4K1E8P7+/iguLq5128HBTRudC9deAno1YP2UjfVTvvrUMSu3\nBPlFeqvrCorKofX1QViov6OK5hBqP4ZKqp9Ln37273//G+vXr8fGjRsREhKCgIAAlJSUWNaXlJRU\nCey2NPapNGFhgY1+gpqcsX7KxvopX33rKBklhATqkFdYM5gHB/pBMhhltc/UfgzlWD9ZPP3sn//8\nJ7Zu3YotW7bgjjvuAAB069YNR48ehV6vR1FREc6fP4+ICN4LIiLPovPRokdEmNV1PSJCofNR1tO4\nyLVc0iKXJAmvvPIKbrvtNsyYMQMA0Lt3bzzzzDOYMGECEhISIITArFmzoNPpXFEkIiJZGRvTAcDN\ne+IFReUIDvRDj4hQy3IiWzRCCOHuQtRXY7s85Nht4kisn7KxfsrXmDrqjRJuFOvRLEAn25a42o+h\nHOtnr2vdpffIiYjIPp2PFi2Dm7q7GKQgzDJARESkYAzkRERECsZATkREpGAM5ERERArGQE5ERKRg\nDOREREQKxkBORESkYAzkRERECsZATkREpGAM5ERERArGQE5ERORAeqOE7IJS6I2SSz6PudaJiIgc\nQDKZsH1fBo6n5yC/UI+QIB16RIRhbEwHaL2c125mICciIlVy9ZPktu/LwJ7vMy1/5xXqLX8nDIpw\n2ucykBMRkaq4o2WsN0o4np5jdd3x9FyMGtjeaRcTvEdORESqYm4Z5xXqIXCrZbx9X4bTPvNGsR75\nhXqr6wqKynGj2Po6R2AgJyIi1aitZeysAWjNAnQICdJZXRcc6IdmAdbXOQIDORERqYa7WsY6Hy16\nRIRZXdcjItSp9+h5j5yIiFTD3DLOsxLMnd0yHhvTAcDNln9BUTmCA/3QIyLUstxZGMiJiEg1zC3j\nyqPHzZzdMtZ6eSFhUARGDWzv0tHyDORERKQq7moZm+l8tGgZ3NQlnwUwkBMRkcq4q2XsLgzkRESk\nSq5uGbsLR60TEREpGAM5ERGRgjGQExERKRgDORERkYIxkBMRESkYAzkREZGCMZATEREpGAM5ERGR\ngjGQExERKRgDORERkYIxkBMRESkYAzkREZGCMZATEREpGAM5ERGRgjGQExERKRgDORERkYIxkBMR\nESkYAzkREZGCOTWQnzhxAhMmTAAAXLhwAePHj0dCQgIWLlwIk8kEANixYwdGjhyJMWPGYP/+/c4s\nDhERkeo4LZBv2rQJ8+fPh16vBwAsX74cM2fOxLZt2yCEwN69e5GTk4MtW7YgOTkZ7777LlatWgWD\nweCsIhERkYfRGyVkF5RCb5TcXRSn8XbWhsPDw7Fu3TrMmTMHAHDq1ClERkYCAAYMGIBDhw7By8sL\nPXr0gK+vL3x9fREeHo4zZ86gW7duzioWERF5AMlkwvZ9GTienoP8Qj1CgnToERGGsTEdoPVS111l\npwXy2NhYZGZmWv4WQkCj0QAA/P39UVRUhOLiYgQGBlpe4+/vj+Li4lq3HRzcFN7e2kaVLywssPYX\nKRjrp2ysn/KpvY5yr9+mz37Enu9vxaC8Qj32fJ+Jpk18MfnRu2t9v9zrV5nTAnl1XpWugEpKShAU\nFISAgACUlJRUWV45sNtSUFDaqLKEhQUiJ6eoUduQM9ZP2Vg/5VN7HeVeP71RwqETl62uO3TiCh6O\nvAM6H9uNQTnWz96Fhcv6F7p06YK0tDQAwMGDB9GrVy9069YNR48ehV6vR1FREc6fP4+IiAhXFYmI\niFToRrEe+YV6q+sKispxo9j6OqVyWYs8MTERSUlJWLVqFdq1a4fY2FhotVpMmDABCQkJEEJg1qxZ\n0Ol0rioSERGpULMAHUKCdMizEsyDA/3QLEBdccapgbxNmzbYsWMHAKBt27bYunVrjdeMGTMGY8aM\ncWYxiIjIg+h8tOgREVblHrlZj4hQu93qSuSyFjkREZGrjI3pAAA4np6LgqJyBAf6oUdEqGW5mjCQ\nExGR6mi9vJAwKAKjBrbHjWI9mgXoVNcSN2MgJyIi1dL5aNEyuKm7i+FU6poVT0QEz8jmRWTGFjkR\nqYYnZfMiMmMgJyLV2L4vw2o2LwBIGMQcFaROvEQlIlXQGyUcT8+xuu54ei672Um1GMiJSBU8LZsX\nkRkDOZEKcHDXrWxe1qgxmxeRGe+REykYB3fd4mnZvIjMGMiJFMzW4C5JMiE2MlzVSTCs8aRsXtQ4\neqOkmkQxDORECmVvcNfXP1zBgeNXPK6F7knZvKhh1NiLxUBOpFD2BneZxM1/PXX6lSdk86KGUeMU\nRWVefhCR3cFd1XH6FZF6pygykBMplHlwV11w+hWReqcosmudSMEqD+7KLyyHRnOrW70yTr8iutWL\nlWclmCv5O8JATqRg1Qd37TpyCfuPXa7xOk6/IlLvFEUGciIVMA/uShjUEVovDadfEdmgximKDORE\nKsLpV0T2qfE7wkBOpEKcfkVkn5q+Ixy1TkREpGAM5ERERArGQE5ERKRgDOREREQKxkBORESkYAzk\nRERECsZATkREpGAM5CQ7eqOE7IJSxT6JqKHM9S43VLi7KESkIEwIQ7IhmUzYvi8Dx9NzkF+oR0iQ\nDj0iwjA2pgO0Xuq95qxe77DgJujWvoXq601EjsFATrKxfV9GlYcZ5BXqLX8nDIpwV7Gcrnq9swvK\nPKLeROQYvNwnWdAbJRxPz7G67nh6rmq72T213kTkOAzkJAs3ivXIt/KMYAAoKCrHjWLr65TOU+tN\nRI7DQE6y0CxAh5AgndV1wYF+aBZgfZ3SeWq9ichxGMhJFnQ+WvSICLO6rkdEqOIfM2iLp9abiByH\ng91INsbGdABw895wQVE5ggP90CMi1LJcrarXO7T5rVHrRES1YSAn2dB6eSFhUARGDWyPG8V6NAvQ\neUSLtHq92/+hBYpulLm7WERUid4oyfZ3iYGcZEfno0XL4KbuLobLmevt5+uNIncXhogAKCO/BQO5\nB5DzlSQRkZwpIb8FA7mKKeFKkohIrmrL8zBqYHtZNI74a65i5ivJvEI9BG5dSW7fl+HuohERyZ5S\n8jy4tEVuNBoxd+5cXL58GV5eXliyZAm8vb0xd+5caDQadOzYEQsXLoQXW4uNppQrSSIiuTLneciz\nEszllOfBpRHz66+/RkVFBZKTkzF9+nSsXr0ay5cvx8yZM7Ft2zYIIbB3715XFkm1lHIlSUQkV0rJ\n8+DSQN62bVtIkgSTyYTi4mJ4e3vj1KlTiIyMBAAMGDAAKSkpriySajFjGBFR442N6YBBvdqgRZAf\nvDRAiyA/DOrVRlZ5Hlzatd60aVNcvnwZDz/8MAoKCvDOO+/gyJEj0Gg0AAB/f38UFdU+8SY4uCm8\nvRt3JRQWFtio98tdm9bN0e+e2/H5N7/UWNfvntZo07q5G0rlOGo/fqyf8qm9jp5Uv2fH90S5oQIF\nhXoEB+ng5yuvceIuLc3777+P+++/H8899xyysrLwxBNPwGg0WtaXlJQgKCio1u0UFJQ2qhxhYYHI\nyVHvTF1z/eL6hqO0zFAjU1pc33BF199Tjp9aqb1+gPrr6Kn18wZQdKPMLXke7F04uTSQBwUFwcfH\nBwDQrFkzVFRUoEuXLkhLS0OfPn1w8OBBREVFubJIquapmdKIiDyJSwP5xIkTMW/ePCQkJMBoNGLW\nrFno2rUrkpKSsGrVKrRr1w6xsbGuLJJH8NRMaUREnsClgdzf3x9r1qypsXzr1q2uLAYREZFqcMI2\nERGRgjGQEzWQ3ighu6AUeqPk7qIQyR6/L84jrzH0RArAHPZEdcfvi/MxkBPVkxKehkQkF/y+OB8v\nh4jqobYc9uw2JLqF3xfXYCAnqgfmsCeqO35fXIOBnKgemMOeqO74fXENBnKielDK05CI5IDfF9fg\nYDeiejI/9ah6Dns5PQ2J7NMbJaYtdhF+X5yPgZyonpjDXrk4Fcr1+H1xPgZyogZiDnvl4VQo9+H3\nxXl4CUpEHsETp0I5O5sas7XJA1vkROQR6jIVSi0tRmffQpAkE7btSectCplgICcij2CeCpVnJZir\nbSqUs28hvPevU7xFISO8dCIij+ApU6GcfQtBb5SQ+lOW07ZP9cdATkQeY2xMBwzq1QYtgvzgpQFa\nBPlhUK82qpoK5exsajeK9ci5Xua07VP9sWudiDyGJ0yFaswthLrMr28WoENY8ybILqgZzNV2i0Ip\nGMiJyOOoeSqU+RZC5XvYZrZuIdRncJzOR4uorrfh829+qfP2ybkYyImIVKa+2dTqOzhuUtxdKC0z\nMFubTDCQExGpTH1uIdQ2OG7UwPY13qvVqv8WhZJwsBsRkUqZbyHYC7KNGRxXl+2T8zGQExF5sLo+\napRZ3OSLXetERB6stsFx3lpNjSxu/e65HXF9w5nFTSYYyImIPJy9wXHWBsJ9/s0vKC0zMIubTDCQ\nExF5OFuD4xoyEI5cj/0iREQEoObgNWdniSPHYCAnIiKr6joQjtyLgZyIiKzylAfNKB3vkRORbNQl\n1ze5lrWBcP3uaY24vuFuLhmZMZATkdvVJ9c3uZa1gXBtWjdHTk6Ru4tG/8NATkRuV99c3+R6an7Q\njNI1+FLXYDA4shxE5KFqm+LETGJE9tkN5CtWrLC6/Pz58/jjH//olAIRkWfhFCeixrEbyI8fP443\n3nijyrLk5GSMGTMGDz30kFMLRkSegVOciBrHbiDfvHkzvvvuO6xbtw6FhYWYMWMG3n//ffztb3/D\n008/7aoyEpGKcYoTUePYDeQBAQHYvHkzUlNT8dBDDyE0NBSfffYZunXr5qryEZEHGBvTAYN6tUGL\nID94aYAWQX4Y1KuNZeoTEdlW66h1f39/bN68GVOmTEGrVq3g5+fninIRkQexleubiGpnN5BPmDAB\nGo0GAFBWVobVq1fjwIED8PX1BQD84x//cH4JichjcIoTUf3ZDeQzZsxwVTmIiIioAewG8sjISFeV\ng4iIiBqAuQ+JiIgUzOUpWjds2IB9+/bBaDRi/PjxiIyMxNy5c6HRaNCxY0csXLgQXsytTEREVCcu\njZhpaWk4fvw4PvzwQ2zZsgVXr17F8uXLMXPmTGzbtg1CCOzdu9eVRSIiIlI0lwbyb7/9FhEREZg+\nfTqmTp2KBx54AKdOnbLcix8wYABSUlJcWSQiIiJFc2nXekFBAa5cuYJ33nkHmZmZmDZtGoQQlilu\n/v7+KCqq/dF4wcFN4e3duDmmYWGBjXq/3LF+ysb6KZ/a68j6yYdLA3nz5s3Rrl07+Pr6ol27dtDp\ndLh69aplfUlJCYKCgmrdTkFBaaPKERYWqOpn6bJ+ysb6KZ/a66jG+umNkqyft27vwsKlgbxnz574\nxz/+gT/96U/Izs5GWVkZ+vbti7S0NPTp0wcHDx5EVFSUK4tEREQeTDKZsH1fBo6n5yC/UI+QIB36\n3XM74vqGQ6uQgdcuDeTR0dE4cuQIRo8eDSEEFixYgDZt2iApKQmrVq1Cu3btEBsb68oiERGRB9u+\nLwN7vs+0/J1XqMfn3/yC0jIDEgZFuLFkdefy6Wdz5sypsWzr1q2uLgYREXk4vVHC8fQcq+uOp+di\n1MD2isj5r4x+AyIiIge7UaxHfqHe6rqConLcKLa+Tm4YyImIyCM1C9AhJEhndV1woB+aBVhfJzcM\n5ERE5JF0Plr0iAizuq5HRKgiutUBN9wjJyKixqs8XUopAUeOxsZ0AHDznnhBUTmCA/3Q757WiOsb\n7uaS1R0DORGRglibLtUjIgxjYzooZrqUnGi9vJAwKAKjBraX9TxyexjIiYgUxNp0KfPfSpkuJUc6\nHy1aBjd1dzEahJdvREQKUdt0Kb1RcnGJSA4YyImIFEIt06XIsRjIiYgUQi3TpcixGMiJiBRCLdOl\nyLE42I2ISEGsTZfqERFqWU6eh4GciEhBrE2XYkvcszGQExEpkJKnS5Fj8R45ERGRgjGQExERKRgD\nuYvpjRKyC0qZuKERyg0V3IckW3qjhKzcEp6fMqa232HeI3cR5kduPPM+PHk+DzkFZdyHJCtVvuNF\neoQE8vx5AncMAAAgAElEQVSUG7X+DjOQuwjzIzce9yHJGc9P+VPrMVLuJYiCMD9y43nqPlRbF6Ar\n6Y0SMnOKkZld5PT9Z//8zLFbBnvHmMe/qsbsDzX/hrBF7gJ1yY/MaST2edo+VGsXoCtIJhOS957D\noR+votxw88fZz9cL9919G8Y/2NEp+8/e+ZlXqMeC946gRbVjaO8YA+Dxr8QR3wc1/4YwkLuAOT9y\nnpWTiPmR68bT9qFauwBdYfu+DOw9ernKsnKDCfuOXoaXRuOU/Wfv/DSrfgztHWMALj3+eqMk6+Qy\njvg+qPk3xPMu7dyA+ZEbz5P2YbmhQrVdgM5mr/sUAI6dzXHK/rN3flZ3PD0XRaUGu13xx85m23yv\nI8svmUzYticd8zel4sUNqZi/KRXb9qRDMpkc9hmN5agucTX/hrBF7iLMj9x45n118nwecq+XqXYf\nFhSqtwvQ2ex1nwJAQZHeafuv8nc8v6gcQtgqQzkys4ttljO/SG/3vY4svxJ6fhzZJa7W32EGchdh\nfuTGM+/DKaOa4PxveW7Zh67oggwOUm8XoLPV1sUdHKhDE503sgtKHX4MK3/HKzQaLNyQgvwig5Uy\n+KFNywCb5QwJ1EEIYfO9jjr+tbV0Rw1sL4vfKEd2iav1d5iB3MWYH7nx/Hy9Xb4PXTn4zM/XGz0i\nwqq0lMyU3gXobObuU2v7DgD8m/jg5fePOPUY6ny0aBMWiHvvbGnzGAY29bVzjG92/zr7+Ctl8Je9\nY9rQ/aG232EGcmo0uQ+UcQRXd0E2pgvQE46HPY/2b4fS8gocTc+G3nDzXq+frxahzfxwKbvY8jp3\nH8O6HGNndgErafCXWrvEHUUjhK27MfKVk1PUqPeHhQU2ehty5qr6uWuKlKuPn94oYf6mVKs/eC2C\n/LB0ch+HBszK9atPUFbKlDVnHb/q9Q8O9EXEHc0R2yccIYF+ePn9I7I8hvbWO/uibNuedKst3UG9\n2ti9uHHXb6irLlLlGCPCwgJtrmOLnBpMCQNlHMGdXZD16QL0lONhS/X65xcZkHo6GwFNfTGoZxvZ\nHkN7653dBay0lq7ausQdhYGcGkQpA2UcQQldkJ50PKyprf5x9/1B9sfQHdQ6+MvTyKe/jRSlLq1U\ntVDC/FNPOh7W1Fb/Mn2F7I+hO5lbup6+H5SKLXIXUOPgIyW0Uh3JEV2Qts4DR5wfnnY8qqtL/ZXW\njUxUVwzkTqSUwUcN4YwpIXLWmC5IW+fB6Afa4eMDv9RY/vSYHvUun6cdj+rqWn92I5MaMZA7kdoH\nH3liC6chg21snQdnL163Oh2qaRNfPNrvD/Uumycej8rqWn8OmCK1YSB3Ek8YfMSBMrWzdx5czim2\nujz1pyw8HHlHvfelpx8PT68/eS5l9+/KmCcNPuJAGdvsnQcmGxkccq+XNer88PTj4en1J8/DQO4k\n5sE31njC4CMl0RslZBeUOuWpWPbOAy+N9feENm/C80PGbJ0vzjyP6loG8kzsWncSTx98pASuGIxo\n7zy4PSygyj1ys6iut/H8kKH6DFrsd8/tiOsb7vBBrWoeQEsNp120aNEidxeivkpLaz4VqD78/XWN\n3kZddPlDMMr0FbhRbIDeUIGQID/0u/t3GBvTAV4aG80xB2hs/fRGCfmF5fD29oK31n0/DrbK4ajj\nl7z3HPZ8n4ky/c1WTZlewi9XClGmr8Dd7Vo0evtmts6DqcO7oNwg1Vg+ZWQ3lJUZHfb5cuOq75+j\n2TpfTmTk4YdzuVWWn71Y4PDzyF4ZnPFZ9ij1GNaVHOvn72+7l44tcidS2uAbuVztu6IcrhyMaO88\nsLZc68aLJ7KuIYMWHX0eecIAWmoY/mK4gFIG35inSeUV6iFwazrU9n0ZsipHuaGi0fcH3TEY0dZ5\nUN/zg/dHXa8hgxYdfR550gBaqh+3tMjz8vIwcuRIvPfee/D29sbcuXOh0WjQsWNHLFy4EF681+Ny\ncrnat1eOY2dzIJkETv2aj5yCska11JWYCU0uPSaeyN754qWxHswdfR4p8Zwl13D5t99oNGLBggXw\n8/MDACxfvhwzZ87Etm3bIITA3r17XV0kgnyu9u2VI79Ij/3HLiO7oKzRPQZKyJ9enVx6TDyRvfPl\n9rAAq8sdfR4p8Zwl13B5IF+xYgXGjRuHli1bAgBOnTqFyMhIAMCAAQOQkpLi6iIRHDNdriFdvtXf\n05DpWsfTcxvUzTw2pgMG9WqDFkF+8NLcfC71oF5tZJkJrbYeE3azO5+t8+Wlx++tsTy+fzunnEfu\nOmd5O0feXNq1/sknnyAkJAT9+/fHxo0bAQBCCGj+N4Lb398fRUW1P8w9OLgpvL0bd/Vp7yHtatCQ\n+vW753Z8/s0vVpa3RpvWzW2+T5JMeO9fp5D6UxZyrpchrHkTRHW9DZPi7rI5cMvee2yVw969SK2v\nD8JC/etW0UqeHd8T5YYKFBTqERykg5+vPMZ/Vj9+WbklyC+y3WPS0Pq7i1K/f7bOF1eeR678LHvf\nU6Uew7pSUv1c+qu1c+dOaDQaHD58GD///DMSExORn59vWV9SUoKgoKBat1NQUNqocoSFBSInp/YL\nBqVqaP3i+oajtMxQI1d1XN9wu9vbtie9yjzp7IIyfP7NLygtM9jMKW/vPWNjOtQoR7f2ITh5Ps/m\n/UHJYGzUMfUGUHSjDHI4K6wdP8koISTQ9v3RxtbfldTw/bN1vpiX+7mgjo4+Z609hc/W9xRAg54H\noBRyPEftXVi4NJB/8MEHlv9PmDABixYtwmuvvYa0tDT06dMHBw8eRFRUlCuLRJU0ZLpcQwbJ1eU9\n1spR/UfFzBPuDzLBEDmLrUGUj/ZvZ/N72tDnAZBzuL0fMTExEUlJSVi1ahXatWuH2NhYdxfJ49Xn\n6VB1GSRXfVt1fU/1cpjvA548n4fc62V8upeH1Z+cw9bT+crKK2x+T83PA+BT5OTBbYF8y5Ytlv9v\n3brVXcVQNWtdZY5+T0OmxDR0Go25x2BinC9O/HwVbVoGILCpbx1qpQ5KSzBE8lT5Ow7AZqv7zMUC\nBAf6Ir+oZoYzPg9AXtzeIifHkyQTtu1Jr9d844bOUW5Il29Du4nNZTx5Pq/R88iVjM/Tpoaw9h2/\nMzzYTu+YHlF3/Q4pP12tsY7PA5AX5lpXoQ/3nMN/Ui/UKx9zY3I4NySnfEPeYy5jSXmF3TLKJVd8\nQzny/JTjvlDj96/6fpZjHa19xy9lF8PPV4sKqeaUkJAgPzwz+m4YKkx8HoAMMNe6B9EbJaT+lGV1\nXWMGn9m7+m5Il29931OXMnprNcx89j/MAucatvbz02N6uLtoVdj7/tjSIyIUTXU+fB6AAjCQq8yN\nYj1yrpdZXdfYwWe1aUiXb13fU5cy7jmaaXXQDgCb0+DUytYAJsDz9oUz2drPTZv4ymp6lr3vj94g\noV/X3+HMxes2B1Hydo68MZCrTLMAHcKaN0F2Qc1g7ujBZ65UWxmb6LxlkSteDhyRN78hAyU9jb39\nLLfpWfa+PyFBfvi/2DsBgMdcodg/ojI6Hy2iut5mdV1tg8/q8x5Xq62MZXrbU2U87clQ+YXlVn+w\ngdr3hWS6OVBy/qZUvLghFfM3pWLbnnRIJpOziqtY9lq55ulZclGX77hSntJINbFFrkKT4u6ymqHN\n3nxjJcxRtjePvEISsu9VcJU9R2vOBjBrHqCzuy/YJV939lq5cpyepYTvODUMA7kKabXOH3zmDuYy\nThnVBOd/y7OUUTKZsPPr8ygusz7K9J6OLWRXF2fRGyWczMi1ub6k3IidX5+3OuhNLo+yVQp70yjl\nOD1LCd9xahh2ratY5QEqdX1ykRK61/x8vauU0dyK1ButP1XFxkPTGkzOT4Ky190LAHqjyeajT+Xy\nKFslsfU0sklxd7m7aDYp4TtO9cMWuYp5whSkukyr+eFcHkY/IDX6h0sJ+9Ned29l1lrYShj0KDe2\nWrmcnkWuxLNNxcwt1bxCPQRu3e+01hpTqtpaoIDjWpNK2J/2BjVVZm2fKGHQo1yxlUvuxECuUrXd\n75Rjt3BDmFuR9jiiNamk/Xmru9d2nW3tE1tdxRwQRSRf7FpXKUcleZE7ewOOzBzRmlTS/qzc3btl\n11mrubJt7RMOiCJSHgZyJ6j+dCF3/CB60v1Oc2vx2Nkc5Bfp4aUBTAJoUekedmMpcX/qfLT40yOd\n0NTPu95TjpjJi0g5GMgdqPJgqLxCPfx8vQBooDdILh8Y1dAnjClR9VZkE503yvQVDr14Uur+ZAub\nSP0YyB2oejKNcsOtbFjuSKzhaQkgKrcinfGcciXvT7awidSLgbyOass9XdenC7kysYYjWmPmejuj\nlas0bN0SkRwxkNeirnOH6zINCnDPwKiGtMbM9T52Nhv5RQar953lMnfa1di6JSI5YSCvRV1zT9c1\nEYdcB0ZVV73epv8lTZNz7m0+sYuIPBEDuR31yT1dl2lQgLwHRpnV5TaBnHJvKyHjGhGRszCQ21Hf\nucOVB0PlF5ZD53szyBmMkqIGRtUnW5ocupj5xC4i8mQM5HbUd+6wtcFQgOvnkZcbKpBdUNrgz6zL\nbQJbtwhc3b3NJ3YRkadjILejoXOHqw+GclWr1dzFfPJ8HnIKyhrcxdyQbGnu6t5WUsY1IiJnYCCv\nxa3u8ptZw0ICHZctzNEc2cVc32xp7ureVmLGNSIiR2IgryMhBIS4+a8cObqLuT7Z0tzZva3UjGtE\nRI7CQF6L6i3N/CKDLAdSOauLuS7Z0tzdva3kjGtERI3FQG6HkgZSubOL2d3d28y4RkSejJNs7ahL\nS1MuzF3M1ji7i9mdn129HC2DmzKIE5FHYYvcDne3NOvL3JV88nwecq+XubSL2dO7t5lVjojchYHc\nDqUNpDJ3MU8Z1QTnf8tzaVDx1O5tZpUjIndjIK+FEluafr7eDR5c1tiWpac9UIRZ5YjI3RjIa+Ep\nLU22LOtPSYMhiUi9+AtdR2ofSGVuWeYV6iFwq2W5fV+Gu4smW0oaDElE6sVArlJ6o4TsglLojVKd\nXmuvZVmXbXgi82BIa+Q4GJKI1Ild6yojmUzY9NmPOHTicp27yN2d0EWplDYYkojUiYFcZRoy+Epp\n0+zkpD6DITlFjYicgYFcRRo6+Ioty4ary2BIDiQkImdiIFeRxnSRK3GanZzYm3bHKWpE5EwM5CrS\nmC5yT5lm52r2ekmOnc3BgHtaI6x5E8u+1hslZOWWQDJK3P9W8PYEUU0M5CriiC5yT0vo4mz2ekny\ni/RY+O53CAnS4Z6OodAA+OFcbo3n3rP7nbcniOxhIFeZsTEd0LSJLw6duOLyLnJntZaU3Aqz10sC\nwDJnf9/Ry1WW2+t+d9T+qLwdALLex664PaHk84w8m0sDudFoxLx583D58mUYDAZMmzYNHTp0wNy5\nc6HRaNCxY0csXLgQXrzCbjCtlxcmP3o3Ho68w2U/Ss5qLdna7tNjejiw9M5lr5ekLioPUnTUfq68\nnbxCPfx8vQBooDdIsmzpluqN+PZkltV1jsigx9Y+KZ120aJFi1z1YZ999hmKi4uxZs0aDB48GE89\n9RTOnDmDadOm4dlnn8X+/fshSRLat29vdzulpYZGlcPfX9fobciZv78O+nIj/Jv4wFvb+B8ivVFC\nfmE5vL29rG4vee857Pk+E2X6m4ljyvQSfrlSiDJ9Be5u16LBn2tru6XlFegU3txuOSWTsFtmV+ry\nh2CU6Stwo9iAcn1Fvd6rN1Tg/rtvg38TH7v7OeKO5nWub/XtVEgCFZKosc3GHDt76vv9+/t/z+LX\nrCKr6yrvn4ZyxvnrCb8xrJ9r+fvbHuPk0hb5kCFDEBsbCwAQQkCr1eLUqVOIjIwEAAwYMACHDh3C\nQw895MpikQ11aak4K9+4ve2m/pSFhyPvsGy3ejl1vloAAuUGE1rIoHVVeSBhTkEp1nx80mZXe3Xm\nQYr29se3J7Pq3Jq0t53K5JIrXm+UcOZCvs31wYG6RuU5YL58UgOXBnJ/f38AQHFxMZ555hnMnDkT\nK1asgEajsawvKrJ+5V1ZcHBTeHs37ssVFhbYqPfLnSPqt+mzH63el2zaxBeTH70bAJCVW4L8IttT\n3rS+PggL9a/3Z9vbbu71sirbrV7OcsOtlLLWyuxObVo3R79zefj8m1/q9Pp+97RGm9bN7e6PcoNk\nqXNt9bW3ncoac+zqoq7nZ1ZuCQqKbbeM7oloiTata/bO1JWzzl+AvzFKp6T6uXywW1ZWFqZPn46E\nhATExcXhtddes6wrKSlBUFBQrdsoKChtVBnCwgKRk1P7BYNSOaJ+eqOEQycuW1136MQVS4tYMkoI\nCbQ95U0yGBtUFnvbDW3exLJde+W0VWZ3i+sbjtIyQ5U5+/d0bPG/Uet5VQYpxvUNR05Okd39YY2t\n+tZ1O405drWpz/lpr7x+vlqM7N+2UWV01vnL3xhlk2P97F1YuDSQ5+bmYtKkSViwYAH69u0LAOjS\npQvS0tLQp08fHDx4EFFRUa4sEtlQ1+QyzsoKZ2+7UV1vs2zXXjltldnd7M3ZH/2ABK2vDySDscq+\nq++gOVv1ret25JLRz1557+92G5rqGvcTxqyGpAYuDeTvvPMOCgsL8fbbb+Ptt98GALz00ktYunQp\nVq1ahXbt2lnuoVP9mafPBDZrYnV5fUaw1ye5jLOywtna7qS4u5CfX1JrOe2VWQ6szdnX+WgRFupv\ntTVQfX80D9ChVF9R5VaCmb36Vt5OfmH5/8YUAAajJMuMfs7OOsishqR0GiGEcHch6quxXR5y7DZp\njOqDvcKCm6Bb+xYY/UA7fHzglwZPq9m2J91qS2VQrzZW5+66ah559eNnq5x1KbMc1XZ+Vt4fO78+\nX69jZGs7gOvmkTf0++fsed6O3L7afmOqY/1cTzZd6+Qc1ZNlZBeUYc/3mTh78TouZRdbltc3iUZ9\nWyrOygpX23arl9PXnO7UICEkSH2tq8r7ozGtyer7VQ63HexxdtZBZjUkpWKL3MUc3arQGyXM35Rq\ntWvZSwOYrBzdFkF+WDq5j83Pr15GuWW8snX8lJSpzJ6GnJ9yO0b2yLG142hqryPr53pskcuAs7JH\n2RvsZS2IA7YHQtkroxJaKkprYToSW5NEnov5B13E3P2dV6i35Nfe830m3v3iNPTGW4OV9EYJ2QWl\nVZbZYx7sVR+2BkLZKuP2fRn12j4REbkOW+QuYDdL2elsHD+Xi353/w7QaHDiXG69Wuw6Hy26dQjF\n/mO1z6U2szathhmuiIiUiYHcBWqb66w3mrDv2JUqy+ozMG1QzzZ2A3lwgA43SvR2B0LVdd44ERHJ\nCwO5C9R1rrM1dWkNhwT5oYWN7bcI8sOCib1Qpq+wOxCqPvPGiYhIPniP3AXM2aMawtwabuj2e0SE\nIrCpryULW0O3wW51IiJ5YovcRcbGdMCZCwXIzCmp1/vq2hp2RHYqZrgiIlIeBnIXqZAEyur5LGqg\n7q3hyvm7reXqrgt7OcCJiEieGMhtcHSCjdoGvEXd1RJN/XxwotrTr+rbGraXq7s+2+DANiIiZWAg\nr8ZZiVvsDSZrEaTDE0M6Q+ejxR8fUE6GLiIicj8OdqvGWUlR7A8mC7MEbXNrmEGciIjqgoG8ktqS\notQ125otY2M6YFCvNmgR5Acvzc2pYYN6teFgMiIiajB2rVfi7KQoHExGRESOxhZ5JfbyljsyKQq7\nz4mIyFEYyCthUhQiIlIadq1Xw6QoRESkJAzk1fA+NhERKQkDuQ1MikJERErg8ffI9UYJ2QWljZ5a\nRkRE5A4e2yJ3VgY3IiIiV/LYQG7O4GZmzuAGAAmDItxVLCIionrxyKZnuaHCqRnciIiIXMUjA3lB\nYe0Z3IiIiJTAIwN5cJBrMrgRERE5m0cGcj9fb2ZwIyIiVfDYwW7M4EZERGrgsYGcGdyIiEgNPDaQ\nmzGDGxERKZlH3iMnIiJSCwZyIiIiBWMgJyIiUjAGciIiIgVjICciIlIwBnIiIiIFYyAnIiJSMAZy\nIiIiBdMIIYS7C0FEREQNwxY5ERGRgjGQExERKRgDORERkYIxkBMRESkYAzkREZGCMZATEREpmMc8\nj9xkMmHRokU4e/YsfH19sXTpUvz+9793d7Hq7cSJE1i5ciW2bNmCCxcuYO7cudBoNOjYsSMWLlwI\nLy8v7NixA8nJyfD29sa0adMQHR2N8vJyvPDCC8jLy4O/vz9WrFiBkJAQd1fHwmg0Yt68ebh8+TIM\nBgOmTZuGDh06qKZ+ACBJEubPn49ff/0VGo0Gixcvhk6nU1Ud8/LyMHLkSLz33nvw9vZWVd0AYMSI\nEQgICAAAtGnTBlOnTlVVHTds2IB9+/bBaDRi/PjxiIyMVE39PvnkE3z66acAAL1ej59//hnbtm3D\nsmXLlF8/4SF27dolEhMThRBCHD9+XEydOtXNJaq/jRs3imHDhok//vGPQgghpkyZIlJTU4UQQiQl\nJYmvvvpKZGdni2HDhgm9Xi8KCwst/3/vvffE2rVrhRBCfPHFF2LJkiVuq4c1H3/8sVi6dKkQQoiC\nggIxcOBAVdVPCCF2794t5s6dK4QQIjU1VUydOlVVdTQYDOKpp54SgwcPFhkZGaqqmxBClJeXi+HD\nh1dZpqY6pqamiilTpghJkkRxcbFYu3atqupX2aJFi0RycrJq6ucxXetHjx5F//79AQDdu3fHTz/9\n5OYS1V94eDjWrVtn+fvUqVOIjIwEAAwYMAApKSk4efIkevToAV9fXwQGBiI8PBxnzpypUv8BAwbg\n8OHDbqmDLUOGDMGzzz4LABBCQKvVqqp+ADBo0CAsWbIEAHDlyhUEBQWpqo4rVqzAuHHj0LJlSwDq\nOj8B4MyZMygrK8OkSZPw+OOP44cfflBVHb/99ltERERg+vTpmDp1Kh544AFV1c/sxx9/REZGBsaO\nHaua+nlMIC8uLrZ0iQGAVqtFRUWFG0tUf7GxsfD2vnU3RAgBjUYDAPD390dRURGKi4sRGBhoeY2/\nvz+Ki4urLDe/Vk78/f0REBCA4uJiPPPMM5g5c6aq6mfm7e2NxMRELFmyBHFxcaqp4yeffIKQkBDL\nDx2grvMTAPz8/PDnP/8Z7777LhYvXoznn39eVXUsKCjATz/9hDVr1qiyfmYbNmzA9OnTAajnHPWY\nQB4QEICSkhLL3yaTqUpQVCIvr1uHr6SkBEFBQTXqWVJSgsDAwCrLza+Vm6ysLDz++OMYPnw44uLi\nVFc/sxUrVmDXrl1ISkqCXq+3LFdyHXfu3ImUlBRMmDABP//8MxITE5Gfn29Zr+S6mbVt2xbx8fHQ\naDRo27Ytmjdvjry8PMt6pdexefPmuP/+++Hr64t27dpBp9NVCVZKrx8AFBYW4tdff0VUVBQA9fyG\nekwgv/fee3Hw4EEAwA8//ICIiAg3l6jxunTpgrS0NADAwYMH0atXL3Tr1g1Hjx6FXq9HUVERzp8/\nj4iICNx77734+uuvLa/t2bOnO4teQ25uLiZNmoQXXngBo0ePBqCu+gHAZ599hg0bNgAAmjRpAo1G\ng65du6qijh988AG2bt2KLVu2oHPnzlixYgUGDBigirqZffzxx3j11VcBANeuXUNxcTH69eunmjr2\n7NkT33zzDYQQuHbtGsrKytC3b1/V1A8Ajhw5gr59+1r+VstvjMc8NMU8aj09PR1CCCxbtgzt27d3\nd7HqLTMzE7Nnz8aOHTvw66+/IikpCUajEe3atcPSpUuh1WqxY8cObN++HUIITJkyBbGxsSgrK0Ni\nYiJycnLg4+OD119/HWFhYe6ujsXSpUvxn//8B+3atbMse+mll7B06VJV1A8ASktL8eKLLyI3NxcV\nFRWYPHky2rdvr5pjaDZhwgQsWrQIXl5eqqqbwWDAiy++iCtXrkCj0eD5559HcHCwqur417/+FWlp\naRBCYNasWWjTpo2q6rd582Z4e3tj4sSJAKCa31CPCeRERERq5DFd60RERGrEQE5ERKRgDOREREQK\nxkBORESkYAzkRERECsZATtQAixcvxvDhw/HII4+ga9euGD58OIYPH46dO3fafM+FCxcwf/58u9u9\ncOECHnrooRrL33jjDQwZMqRKApmUlBTLNJrGcNR2avPhhx8iJiYGK1eurLI8MzMTTz75JOLi4jBs\n2DDMnDmzSjIZR6uoqECXLl2ctn0iV1N2ajMiN1m4cCGAm0Ho8ccfxz//+c9a33P58mVkZmY2+DMz\nMzOxevVqJCYmNngb7vTFF1/glVdeqZKQAwCSkpIwZswYPPzwwwCAt956C4sXL8aaNWvcUUwixWEg\nJ3KwkpISJCUlIT09HRqNBpMnT0Z8fDyWLl2KrKwsLF26FImJiVi4cCEyMjKQm5uLDh06VHkgjjXj\nx4/Hv/71LwwePBg9evSosu75559H//79MXz4cFRUVKBbt244ffo03njjDeTk5ODMmTPIy8vDrFmz\ncOjQIZw8eRJdu3bF66+/DuDm40cnTZqEnJwcdO/eHUlJSfD19cWBAwewbt06SJKE8PBwvPzyy2je\nvDkGDBiAnj174vTp00hOTkZwcLClLB999BH+/ve/WzLXLViwABs3bsTp06excOFCJCUlVcnJnpub\ni/Lycsvfjz/+OE6dOgXgZtre+fPno7CwELm5uYiPj8esWbPw0Ucf4dChQ8jKysK1a9cwceJEXLp0\nCd999x1atGiBjRs3IisrCzNmzEDr1q1x6dIltGnTBq+99hqaNm1q+azi4mK8/PLLyMjIgMlkwpNP\nPolHHnnEUlZJkuDn54cVK1bgjjvuaPhJQeRMrnzUGpHaXLp0SURHR1dZtmzZMrFs2TIhhBB5eXki\nOjpanDt3Thw6dEg88cQTQgghDh8+bHkMoiRJYty4cWL37t3it99+E4MGDarxOatWrRJvvfWW+M9/\n/iNiY2NFeXl5le0999xz4rPPPhNCCGE0GkXnzp0t7xszZowwGo0iJSVFdO7cWZw/f14YDAYRExMj\n0tBGPV0AAAUqSURBVNPTxaFDh0T37t3FhQsXhMlkEjNmzBBbt24VOTk5Yvjw4eLGjRtCCCG2bt0q\nkpKShBBC9O/f3/J5lZ0+fVoMHjxYXL9+XZhMJpGUlCRWrlwphBBi3Lhx4siRIzXes3//ftG7d28x\nYMAAkZiYKL788kshSZIQQogNGzZYPuf69euie/fu4vr162LHjh0iOjpaFBcXiwsXLoiIiAiRkpIi\nhBBi/PjxYv/+/eK3334Td955p+UzlyxZIpYtW1Zl/7z66qti69atQgghCgsLxSOPPCIyMzPF888/\nL7766ishhBCff/65+Pzzz22dAkRuxxY5kYOlpqZa7gOHhIQgOjoaaWlpaNu2reU1UVFRCAkJwQcf\nfIBffvkFly5dQmlpaa3bHjJkCP773/9i9erVVVq19tx3333w9vZG69at8bvf/c6SBrdly5a4ceMG\nAKBPnz4IDw8HAAwbNgxffPEFWrVqhStXrmDChAkAAEmS0KJFC8t277nnnhqflZaWhpiYGDRr1gwA\nMGbMGCxatMhu+R544AEcPHgQaWlpOHz4MFasWIH//ve/WLt2LSZPnozU1FRs3rwZGRkZMBqNltZ7\nr1694O/vD51OBy8vL/Tp0wcA0Lp1a0u92rdvj169egEARowYgXnz5lX57JSUFBiNRuzYsQMAUFZW\nhoyMDDzwwANYuHAhDhw4gOjoaMTExNRpXxO5AwM5kYOZTKYqfwshIElSlWW7d+/GW2+9hccffxwj\nR45ETk4ORB2zJS9YsADx8fFVHsur0Wgs76/+eF4fHx/L/7VardVtVl4uhICPjw8kSUJkZCTefPNN\nAIBer6/yVCg/P78a26leB2t1ryw/Px8bN27E3LlzMXDgQAwcOBDTpk3D/fffjxs3bmDdunW4du0a\nhg4disGDB1se6lG9XhqNpsqTrKzVy2Qy1ai/yWTCqlWr0KlTJwA3u/mbNWsGHx8f9OzZE/v27cN7\n772Hb775BosXL7ZZDyJ34qh1IgeLiorCxx9/DOBmoNq3bx8iIyOh1WotQe3QoUMYOnQoRo4ciRYt\nWuDYsWM1LgBsCQkJwfz587F+/XrLsuDgYGRkZAAA9uzZU+8yf//997h69SokScKnn36Kvn37onv3\n7vj+++9x8eJFAMDatWst99RtiYyMxN69ey0t4o8++sjSUrYmKCgIX331Ff71r39Zll24cAGtWrVC\nYGAgUlJSMHnyZAwZMgSZmZnIzc21e2FQ3fnz53H27FkAN5+ZPmDAgCrr+/Tpgw8//BDAzSeaxcXF\nITs7GzNmzMDp06eRkJBg+T+RXLFFTuRgzzzzDBYtWoS4uDhIkoTp06ejU6dOyM/PR35+PubOnYsn\nnngCL7zwAr788kv4+vqie/fuyMzMxL333lunzzB3sV+/fh0AkJCQgNmzZyM+Ph59+/ZFSEhIvcrc\noUMHzJkzB3l5ebjvvvswcuRIeHl5YenSpXj66adhMpnQunVr/PWvf7W7nbvuuguTJk3CY489hoqK\nCtx99912R9l7e3tj06ZNWL58Od544w3odDq0atUK77zzDry8vDBlyhTMnj0bQUFBCA0NRZcuXeo1\n8j84OBhvvPEGLl68iM6dO2POnDlV1j/77LNVjtXcuXNx++23Y9q0aZg/fz7Wrl0LHx8fxc4UIM/A\np58RkSpduHABf/nLX7B79253F4XIqdi1TkREpGBskRMRESkYW+REREQKxkBORESkYAzkRERECsZA\nTkREpGAM5ERERArGQE5ERKRg/w++hN8rI1A4RwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n9++PI0eOQKvVQq1W49y5cwgObrn7CERERC1B5a5ASHCA2W0hwf5QubfcE9fs0iPX6/VYtWoVbr31\nVsyfPx8AMGTIEDz11FOIj49HXFwchBBYsGABVCqVPZpERETUrGIjewCovSdeoq6Cr7cHQoL9Te+3\nFJkQQrToGVqAteEJDh3VYhwYAyPGgTEwYhxqtXQctDo9SjVatPNSNVtP3NrQul3vkRMRETk7lbsC\ngb5t7XY+VnYjIiKSMCZyIiIiCWMiJyIikjAmciIiIgljIiciIpIwJnIiIiIJYyInIiKSMCZyIiIi\nCWMiJyIikjAmciIiIgljIicicgFanR55heXQ6vSObgo1M9ZaJyJyYnqDAdvTzyIruwDFai38vFUI\nCQ5AbGQPKOTsyzkDJnIiIie2Pf0s9vyYY3pdVKbFnh9zoNcbEB/V24Eto+bCRE5E5KS0Oj2ysgvM\nbvv2WC4gkyFubE/2zCWOPz0iIidVqtGiuExrdptBAN8cvYTt6Wft3CpqbkzkREROqp2XCn4+Kqv7\nZGUXcgKcxDGRExE5KZW7AiHBAVb3KVFXoVRjvtdO0sBETkTkxGIjeyAi5DbIZea3+3p7oJ2X9V47\ntW5M5ERETkwhlyM+qjfCQzqa3R4S7A+Vu8LOraLmxFnrREQuIG5sT3h7qnDgeC5K1FXw9fZASLA/\nYiN7OLppdJOYyImIXIBCLsdjk/vhrtDOKNVo0c5LxZ64k2AiJyJyISp3BQJ92zq6GdSMeI+ciIhI\nwpjIiYiIJIyJnIiISMKYyImIiCSMiZyIiEjCmMiJiIgkjImciIhIwpjIiYiIJIyJnIiISMKYyImI\niCSMiZyIiEjCmMiJiIgkjImciIhIwpjIiYiIJIyJnIiISMKYyImIiCSMiZyIiEjCmMiJiIgkrEUT\n+fHjxxEfHw8A+P3333H//fcjLi4Oy5Ytg8FgAADs2LED9957L+677z588803LdkcIiIip9NiiXzT\npk1ITk6GVqsFAKxevRoJCQnYunUrhBDYu3cvCgoKsHnzZmzbtg3vvfce1q1bh+rq6pZqEhG5qKrq\nGuSXVECr0zu6KUTNzq2lDtylSxekpqbiueeeAwCcPHkSoaGhAICwsDAcOHAAcrkcISEhUCqVUCqV\n6NKlC06fPo3+/fu3VLOIyIXoDQZsTz+LE+eKUFBSCT8fFUKCAxAb2QMKOe8sknNosUQeFRWFnJwc\n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\nSUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# What does k_func look like?\n", + "X_plot = [] # number of samples\n", + "Y_plot = [] # number of positives\n", + "Z_plot = [] # k (number of components in PCA)\n", + "for query in query_list:\n", + " X_plot.append(query[2]['total'])\n", + " Y_plot.append(query[2]['positive'])\n", + " Z_plot.append(k_func(query[2]['total'], query[2]['positive']))\n", + "\n", + "\n", + "plt.scatter(X_plot, Z_plot)\n", + "plt.title('Number of Components vs. Query Size')\n", + "plt.ylabel('K')\n", + "plt.xlabel('Total Number of Samples')\n", + "plt.show()\n", + "\n", + "plt.scatter(Y_plot, Z_plot)\n", + "plt.title('Number of Components vs. Number of Positives')\n", + "plt.ylabel('K')\n", + "plt.xlabel('Number of Positives')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "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", + "
num_samplesnum_positivebalancen_componentsalphatrain_auroctest_aurocoverfit
mean3150.92128.1040.069393843.05660.5227450.7837740.7078360.0759387
median2941930.0336463390.5227450.7808190.72160.0637825
\n", + "
" + ], + "text/plain": [ + " num_samples num_positive balance n_components alpha train_auroc \\\n", + "mean 3150.92 128.104 0.0693938 43.0566 0.522745 0.783774 \n", + "median 2941 93 0.0336463 39 0.522745 0.780819 \n", + "\n", + " test_auroc overfit \n", + "mean 0.707836 0.0759387 \n", + "median 0.7216 0.0637825 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean testing Auroc improved by -0.72%\n", + "Median testing Auroc improved by -1.00%\n", + "Mean overfitting reduced by -0.1%\n", + "Median overfitting reduced by -1.6%\n", + "Wall time: 31min 58s\n" + ] + } + ], + "source": [ + "%%time\n", + "# k function.\n", + "metrics_df = evaluate_classifier(X = X,\n", + " y = y,\n", + " list_of_queries = query_list,\n", + " set_k_range = None,\n", + " k_function = k_func,\n", + " alpha_range = [10** x for x in range(-3, 1)],\n", + " l1_ratio = [0.15])\n", + "display_stats(metrics_df, metrics_df_current_setup, verbose = False)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "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", + "
num_samplesnum_positivebalancen_componentsalphatrain_auroctest_aurocoverfit
mean3150.92128.1040.069393843.05661.16461e+070.8383620.7641750.0741869
median2941930.0336463391000.8420110.7798170.0430844
\n", + "
" + ], + "text/plain": [ + " num_samples num_positive balance n_components alpha \\\n", + "mean 3150.92 128.104 0.0693938 43.0566 1.16461e+07 \n", + "median 2941 93 0.0336463 39 100 \n", + "\n", + " train_auroc test_auroc overfit \n", + "mean 0.838362 0.764175 0.0741869 \n", + "median 0.842011 0.779817 0.0430844 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean testing Auroc improved by 4.92%\n", + "Median testing Auroc improved by 4.82%\n", + "Mean overfitting reduced by 0.1%\n", + "Median overfitting reduced by 0.5%\n", + "Wall time: 36min 48s\n" + ] + } + ], + "source": [ + "%%time\n", + "# k function and alpha and l1_ratio.\n", + "metrics_df = evaluate_classifier(X = X,\n", + " y = y,\n", + " list_of_queries = query_list,\n", + " set_k_range = None,\n", + " k_function = k_func,\n", + " alpha_range = [10** x for x in range(-10, 10)],\n", + " l1_ratio = [0])\n", + "display_stats(metrics_df, metrics_df_current_setup, verbose = False)" + ] + } + ], + "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.5.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/explore/number-of-components/number_of_pca_components_(subset_by_disease).py b/explore/number-of-components/number_of_pca_components_(subset_by_disease).py new file mode 100644 index 0000000..e69de29 From 95d1ec2f8133694c3fcf99dd7275bb1fd32263fb Mon Sep 17 00:00:00 2001 From: Ryan Velazquez Date: Thu, 21 Sep 2017 12:28:20 -0400 Subject: [PATCH 3/3] revise subset_by_disease notebook --- ...f_pca_components_(subset_by_disease).ipynb | 3902 +++++++++++++---- ...r_of_pca_components_(subset_by_disease).py | 533 +++ 2 files changed, 3548 insertions(+), 887 deletions(-) diff --git a/explore/number-of-components/number_of_pca_components_(subset_by_disease).ipynb b/explore/number-of-components/number_of_pca_components_(subset_by_disease).ipynb index 68b7ae0..bfe18e8 100644 --- a/explore/number-of-components/number_of_pca_components_(subset_by_disease).ipynb +++ b/explore/number-of-components/number_of_pca_components_(subset_by_disease).ipynb @@ -102,7 +102,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Wall time: 5.24 s\n" + "Wall time: 7.6 s\n" ] } ], @@ -215,7 +215,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Wall time: 3.04 s\n" + "Wall time: 3.49 s\n" ] } ], @@ -307,9 +307,9 @@ "outputs": [ { "data": { - "image/png": "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\ncg2tAAAAAElFTkSuQmCC\n", + "image/png": "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\nB1wZq1Pi/ukpAAAAAElFTkSuQmCC\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -317,9 +317,9 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\nFxERaYH+P7t5tQnGyQPDAAAAAElFTkSuQmCC\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -327,9 +327,9 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfIAAAFXCAYAAABZQMyNAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl4lNXd//H3LJmETCYkgbATIBAEhQjKpigKLrijFnkU\nC63+rj5IoQrVCoKArbiwiFqta+1lDWKKgj5a21oFWhQ0IlKQQEBTtrAkgSRkZpJMlrl/f0QiEcJk\nQiYzk/m8rsur5p7JzDffgp+cM+c+x2QYhoGIiIiEJXOwCxAREZGmU5CLiIiEMQW5iIhIGFOQi4iI\nhDEFuYiISBhTkIuIiIQxBblIK5OXl0f//v0ZN25c3T833XQT77zzTpNeb+7cuWzcuBGAhx9+mO3b\nt59yXUSCx6T7yEVal7y8PG688Ua2bNlSdy0/P58bbriBjIwM+vXr1+TXHjNmDM8++ywDBw5sjlJF\npBlYg12AiARex44d6dGjB3v37mXNmjV8+OGHWCwWevXqxbx580hOTuaf//wnL774IiaTCYvFwoMP\nPsjQoUOZNGkSd955Jzt37qSgoIAHHniAxYsXs3TpUu6880527NiBy+Vi/vz5AKxfv57nnnuOt99+\nm6+//pqlS5dSXl6OyWTiV7/6FaNHj6awsJBZs2ZRXFwMwGWXXcaMGTOC2SKRsKWpdZEIsGXLFvbv\n309ubi6ffvop77zzDh988AFpaWnMnj0bgMWLF7NgwQJWr17NfffdR1ZWVr3XmDlzJh06dGDp0qWc\nf/75dddvu+02/va3v1FZWQnA6tWrmTBhAsePH+ehhx5i8eLFvPvuu7z44os88sgjHDp0iJUrV9Kt\nWzfeffdd3nzzTfbt24fT6Wy5hoi0IhqRi7RCFRUVjBs3DoCamhoSExNZsmQJq1ev5tZbbyU2NhaA\nyZMn89JLL1FZWcn111/P9OnTueyyyxg5ciS/+MUvGvVe3bt3p1+/fqxdu5aLLrqIzz//nMcee4yv\nvvqKwsJCpk2bVvdck8nErl27uPTSS/nf//1fDh8+zMUXX8z999+Pw+Fo/kaIRAAFuUgrFBMTw//9\n3/+dcn3VqlX1vvZ6vVRXVwO1I+7x48fz2WefsXr1al555RVWr17dqPe77bbbeO+99zh27BhXXXUV\ndrudmpoaevfuzdtvv133vPz8fJKSkoiKimLNmjV8/vnnfPHFF9x222384Q9/4IILLjiLn1okMmlq\nXSSCXHLJJaxevZqysjIAMjIyGDp0KGazmTFjxlBWVsYdd9zBggULyM3NrQv5EywWyynXAK666iqy\ns7NZuXIlEyZMAGDQoEHs27ePTZs2AbBz507Gjh1LQUEBS5cu5YUXXuDKK69k7ty59OnTh7179wb2\nhxdppTQiF4kg48eP5/Dhw9x22214vV569OjB0qVLsVqtzJkzhwceeACr1YrJZOLxxx/HZrPV+/4r\nr7ySmTNnsnDhwnrXbTYb1113HRs3biQ9PR2ApKQkfv/737N48WI8Hg+GYbB48WK6du3Kz372M2bP\nns0NN9yAzWbjnHPO4YYbbmixPoi0Jrr9TEREJIxpal1ERCSMKchFRETCmIJcREQkjCnIRUREwpiC\nXEREJIyF5e1nhYXNu5VjYmIsxcVlzfqakUB985965j/1rGnUN/+Fes+Sk0+/+6FG5IDVagl2CWFJ\nffOfeuY/9axp1Df/hWvPFOQiIiJhTEEuIiISxhTkIiIiYUxBLiIiEsYU5CIiImFMQS4iIhLGFOQi\nIiJhTEEuIiISxhTkIiIiYUxBLiIiEsYU5CIiIs3o6PFyvt5d2GLvpyAXERFpRivX5fL86m/wVNa0\nyPspyEVERJrR/iNO4tpEYYtqmYhVkIuIiDSTck81BSXldO8Qh8lkapH3VJCLiIg0k4OFbgC6d4hr\nsfdUkIuIiDSTAwVOQEEuIiISlg4UuAAFuYiISFg6UODCYjbRuZ29xd5TQS4iItIMvIZBXqGbzu1i\nibK2XLwqyEVERJpBYXE5nqqaFp1WBwW5iIhIs/jh83FHi76vglxERKQZ7A/CQjdQkIuIiDSLPAW5\niIhI+DpQ4KSt3Ua83dai76sgFxEROUvuiiqOlXpafDQOYA3ki7/88susXbuWqqoq7rjjDoYNG8bs\n2bMxmUykpaWxYMECzGYzK1euJDMzE6vVytSpUxk9enQgyxIREWlWwZpWhwCOyLOystiyZQtvvfUW\nGRkZHDlyhCeeeIIZM2awYsUKDMNgzZo1FBYWkpGRQWZmJq+99hrLli2jsrIyUGWJiIg0uxML3bq1\npiD/7LPP6Nu3L9OmTeOee+7h8ssvJzs7m2HDhgEwatQoNm7cyLZt2xg8eDA2mw2Hw0FKSgo5OTmB\nKktERKTZBWNr1hMCNrVeXFzMoUOHeOmll8jLy2Pq1KkYhlF3rJvdbsfpdOJyuXA4frjnzm6343K5\nAlWWiIhIsztQ4MJqMdEpKbbF3ztgQZ6QkEBqaio2m43U1FSio6M5cuRI3eNut5v4+Hji4uJwu931\nrp8c7KeTmBiL1Wpp1nqTk1v2Bv7WQn3zn3rmP/WsadQ3/zWlZzU1Xg4ddZPSKZ7OndoGoKozC1iQ\nX3jhhbzxxhvcddddFBQUUF5ezkUXXURWVhbDhw9n/fr1jBgxgvT0dJ555hk8Hg+VlZXk5ubSt2/f\nM752cXFZs9aanOygsNDZrK8ZCdQ3/6ln/lPPmkZ9819Te3boqJuqai+dk9oEtOcN/ZIRsCAfPXo0\nmzZtYvz48RiGwfz58+nWrRvz5s1j2bJlpKamMnbsWCwWC5MmTWLixIkYhsHMmTOJjo4OVFkiIiLN\nKlhbs54Q0NvPHnzwwVOuLV++/JRrEyZMYMKECYEsRUREJCAOHq39eLhbcssdXXoybQgjIiJyFkqc\nHgDaxccE5f0V5CIiImehxF0b5G3jWnZr1hMU5CIiImehxFlJjM1CjC2gn1Y3SEEuIiJyFkpcHhLi\ngrdIW0EuIiLSRNU1XlzlVSQEaVodFOQiIiJNdtxVezaIRuQiIiJh6MRCNwW5iIhIGCpx1o7Ig7Vi\nHRTkIiIiTVbi0ohcREQkbB2vm1rXiFxERCTsnJha14hcREQkDAV7VzdQkIuIiDRZibOSNtHB29UN\nFOQiIiJNVuLy0NYe3KO3FeQiIiJNEAq7uoGCXEREpElCYVc3UJCLiIg0SSjs6gYKchERkSb54dYz\nTa2LiIiEnRO7urXViFxERCT8hMKubqAgFxERaZJQ2NUNFOQiIiJN8sPUukbkIiIiYafEFfxd3UBB\nLiIi0iShsKsbKMhFRET8Fiq7uoGCXERExG91u7o5NCIXEREJOycWuiVoal1ERCT8lLhCY1c3UJCL\niIj4LVR2dQMFuYiIiN9CZVc3UJCLiIj4rW5XNy12ExERCT9a7CYiIhLGTuzqFm2zBLsUBbmIiIi/\nSlyeoB+WcoKCXERExA8ndnVraw/+QjdQkIuIiPgllHZ1AwjokS233HILcXFxAHTr1o177rmH2bNn\nYzKZSEtLY8GCBZjNZlauXElmZiZWq5WpU6cyevToQJYlIiLSZKG00A0CGOQejwfDMMjIyKi7ds89\n9zBjxgyGDx/O/PnzWbNmDYMGDSIjI4NVq1bh8XiYOHEiI0eOxGYLjSkLERGRE44eL+fz7CNAaNxD\nDgEM8pycHMrLy7n77ruprq7m17/+NdnZ2QwbNgyAUaNGsWHDBsxmM4MHD8Zms2Gz2UhJSSEnJ4f0\n9PRAlSYiItJoXsPgX1sO8vn2I+QeKgXAajGR2rVtkCurFbAgj4mJ4f/9v//Hbbfdxt69e/nFL36B\nYRiYTCYA7HY7TqcTl8uFw+Go+z673Y7L5TrjaycmxmK1Nu+S/+Rkh+8nySnUN/+pZ/5Tz5pGffPf\n6Xq2dXchy/+5G7MJzk9rz6WDunLRwC7Eh8hit4AFea9evejRowcmk4levXqRkJBAdnZ23eNut5v4\n+Hji4uJwu931rp8c7KdTXFzWrLUmJzsoLHQ262tGAvXNf+qZ/9SzplHf/NdQz77eWTuVPmXcAIb2\n6wCAp8xDYZmnxes7nYCtWn/nnXd48sknAcjPz8flcjFy5EiysrIAWL9+PUOGDCE9PZ3Nmzfj8Xhw\nOp3k5ubSt2/fQJUlIiLilz2Ha6fTe3eJD3IlpxewEfn48eN56KGHuOOOOzCZTDz++OMkJiYyb948\nli1bRmpqKmPHjsVisTBp0iQmTpyIYRjMnDmT6OjQWAkoIiKy94iTtnYbiSFyu9mPBSzIbTYbTz31\n1CnXly9ffsq1CRMmMGHChECVIiIi0iTHXR6KnR7O792ubo1XqNGGMCIiIg3Yc6T2M/OenUNzWh0U\n5CIiIg3a+/3n4706h+4dAApyERGRBuw9MSLvpBG5iIhIWDEMg72HS2kXHx0y94yfjoJcRETkNIqd\nHkrLqkJ6NA4KchERkdM6cf94zxD+fBwU5CIiIqe1NwxWrIOCXERE5LTqRuSdNCIXEREJK7UL3Zx0\nSGyDPSYq2OWckYJcRETkRwpLyinzVIf8aBwU5CIiIqfYc7j28/FeIf75OCjIRURETrH3SHh8Pg4K\nchERkVPsPezEBKR0VJCLiIiEleoaL3vznXRub6dNdMAOCW02oV+hiIhICznu8vCH97bjqayhX0pC\nsMtpFAW5iIgIkLO3iIWvb+K4q5Kh/Tow/vLewS6pURTkIiIS8T7deoiMf+6ixmswYXQfxg7rjslk\nCnZZjaIgFxGRiLY/38nr/8ghro2N/73pXM7rmRTskvyiIBcRkYhlGAYrPt6NYcADP72Q7kltgl2S\n37RqXUREItaXOwvYnXecwWntueCcDsEup0kU5CIiEpE8lTWsXPcdVouZ/7kiLdjlNJmCXEREItJf\nP99LsdPDNcNT6JAQflPqJyjIRUQk4hQUl/HRl/tJdERz/YgewS7nrCjIRUQkoni9Bhn/3E11jcH/\njOlDtM0S7JLOil9B7nK5+PbbbwNVi4iISEAZhsGbn+wme08RA1KTGNovPBe4ncxnkL/99ts89NBD\nFBUVcd1113Hvvffy9NNPt0RtIiIizeofWftZ9/VBuiXbueemAWGz6cuZ+Azyt956i1mzZvHXv/6V\nK664gg8++IBPP/20JWoTERFpNl9kH+Htf+WS6Ihmxm3nExvTOrZSadTUekJCAv/+97+5/PLLsVqt\neDyeQNclIiLSbHbtL+a1D3fSJtrCzNvOJyk+JtglNRufQd6nTx+mTJlCXl4eF110Effddx8DBw5s\nidpERESaReaa7zAMmH7LQLp1iAt2Oc3K57zC448/zpYtW+jbty82m41x48YxatSolqhNRETkrOUV\nutiX72RQn/b0D7N91BvD54jc6/Xy1Vdf8fjjj+NyudixYwder7clahMRETlrn28/AsDFAzoFuZLA\n8Bnkv/vd7ygvLyc7OxuLxcL+/fuZO3duS9QmIiJyVrxeg8+zjxAbbeX8Pu2CXU5A+Azy7Oxsfv3r\nX2O1WmnTpg2LFi1i586dLVGbiIjIWdm5r5gSVyXD+ncgyhreG780xGeQm0wmKisr6+61Ky4ubhX3\n3YmISOu3cfthAC4e0DnIlQSOz8VukydP5q677qKwsJDHHnuMTz75hGnTprVEbSIiIk1W7qlm8+5C\nOiS0oXfX+GCXEzA+g/zmm29mwIABZGVlUVNTw4svvki/fv1aojYREZEm+3p3IZVVXi4e0KlVzyT7\nDPKbbrqJcePGccMNN9CxY0e/XvzYsWPceuut/OlPf8JqtTJ79mxMJhNpaWksWLAAs9nMypUryczM\nxGq1MnXqVEaPHt3kH0ZEROSEjd+vVh/RSlern+DzM/KnnnqK0tJSJk+ezM9//nNWr16N2+32+cJV\nVVXMnz+fmJja3XOeeOIJZsyYwYoVKzAMgzVr1lBYWEhGRgaZmZm89tprLFu2jMrKyrP/qUREJKIV\nlVaQs6+YtG5tw/qs8cbwGeRpaWnMnDmTjz76iOnTp7N8+XJGjhzp84UXLVrE7bffTocOtSfLZGdn\nM2zYMABGjRrFxo0b2bZtG4MHD8Zms+FwOEhJSSEnJ+csfyQREYl0n3yVh0HrvXf8ZD6n1mtqavjs\ns8/48MMP2bRpE5dccglz5sw54/esXr2apKQkLr30Ul555RWg9ui4E59R2O12nE4nLpcLh8NR9312\nux2Xy+Wz6MTEWKzNfBtBcrLD95PkFOqb/9Qz/6lnTROpffvky/3848v9dEiK5bpLexMbE9Xo7w3H\nnvkM8ssuu4zzzz+fm266iYULF2Kz2Xy+6KpVqzCZTHz++efs3LmTWbNmUVRUVPe42+0mPj6euLi4\netP0bre7XrA3pLi4zOdz/JGc7KCw0NmsrxkJ1Df/qWf+U8+aJlL7tn3PMZ5/exv2GCv3/WQgbmcF\nbmdFo7431HvW0C8ZPoP8r3/9KwkJCX692Ztvvln375MmTeKRRx5hyZIlZGVlMXz4cNavX8+IESNI\nT0/nmWeewePxUFlZSW5uLn379vXrvURERAD25zv5w7vbMZlM/Oon6XRuZw92SS2iwSCfMmUKL7/8\nMrfeemu9ZfsnpsjXrFnj1xvNmjWLefPmsWzZMlJTUxk7diwWi4VJkyYxceJEDMNg5syZREdHN/2n\nERGRiFTs9PD021uprKxh6s0D6NvdvwFoODMZhmGc7oGCggI6dOjAwYMHT/uNXbt2DWhhZ9LcUx+h\nPp0SqtQ3/6ln/lPPmibS+vbBxr28u/6//OSyVK6/qGeTXiPUe9bQ1HqDq9ZPrDZ/8skn6dq1a71/\nfC12ExERaUn782sD+KLzWv8q9R9rcGp92rRp5OTkkJ+fzxVXXFF3vaamhk6dIq9RIiISug4UuIhr\nE0WiI/I+nm0wyBctWkRJSQmPPfYYDz/88A/fYLXSrl3rPApORETCT7mnmoLicvr3SGzVW7E2pMEg\n37dvH+eddx533XUXhw4dqvfY/v37GTp0aMCLExER8SWvsHb/ke4d4oJcSXA0GORvvfUWCxcu5Lnn\nnjvlMZPJxBtvvBHQwkRERBpjf35tkKd0VJDXs3DhQgAyMjLqXXe5XMTFRWazREQk9BwoqF3oltIh\n/HZlaw4+91pft24dS5Yswe12c+2113LFFVfU2/BFREQkmPbnu7BaTHRqFxvsUoLCZ5A///zz3Hrr\nrfztb38jPT2dtWvXsmrVqpaoTURE5IxqvF7yCt10bR+H1eIz0lqlRv3UvXv35l//+hdjxozBbrdT\nVVUV6LpERER8OnKsjOoaL90j9PNxaESQt2/fnkcffZRvvvmGSy+9lCeffJIuXbq0RG0iIiJntL/g\n+4VuEbpiHRoR5E899RQDBw5k+fLlxMbG0r17d5566qmWqE1EROSMDtStWI/MhW7QiNPP7HY7breb\npUuXUl1dzfDhw4mNjcwFBSIiElr2f79ivVty5I7IfQb54sWL2bdvHz/5yU8wDIPVq1eTl5fH3Llz\nW6I+ERGR0zIMg/35LpITYoiN8RlnrZbPn3zDhg289957mM21s/CXX345N954Y8ALExEROZMSVyWu\n8irOiaAjS0/H52fkNTU1VFdX1/vaYrEEtCgRERFfTpx4Fskr1qERI/Ibb7yRyZMnc/311wPw4Ycf\ncsMNNwS8MBERkTP5YcV65C50g0YE+T333EP//v354osv6r6+/PLLA12XiIjIGR34fkQeqXusn9Co\nDWGqqqqorKzE6/USFRUV6JpERER8OlDgwh5jjcgzyE/mM8iffPJJ/vjHP9KzZ0+6dOnCs88+y8sv\nv9wStYmIiJzWiTPIUzo6IvIM8pP5nFpft24dH374IVZr7VNvv/12br75ZqZMmRLw4kRERE7nQIEL\ng8g9g/xkPkfk7dq1o7S0tO7rqqoqEhMTA1qUiIjImWzcfhiAc3sqj3yOyNu2bcu4ceMYM2YMVquV\n9evX065dOx566CEAnnjiiYAXKSIicoK7ooovsvNp3zaGAb3aBbucoPMZ5FdffTVXX3113dcDBgwI\naEEiIiJnsmHbYSqrvYy+oCtmc2R/Pg6NCPJbbrmlJeoQERHxyWsYrP36IFFWM5em6yROaOTtZyIi\nIqEge08RBSXlDO/fkbg2uh0azhDk+/bta8k6REREfFq7OQ+AMRd2DXIloaPBIJ8xYwYAv/zlL1us\nGBERkYYUlpSzLfcYqV3i6dkpPtjlhIwGPyM3m83ccccd7Nq1i8mTJ5/y+BtvvBHQwkRERE62bstB\nDOCKC7oFu5SQ0mCQ//nPf2bnzp3MnTuX6dOnt2RNIiIi9VRV1/Dp1kM4YqMY0q9DsMsJKQ0GeVxc\nHEOHDiUzMxOArVu3UlNTw6BBg2jfvn2LFSgiIrL3iBN3RTVXXNiNKKvWaZ/MZzeys7MZN24cq1ev\n5t133+Wmm25i3bp1LVGbiIgIAAePugGddHY6Pu8jf/rpp1mxYgXdu3cH4MCBA0yfPp3Ro0cHvDgR\nERGAQ98HeZf29iBXEnp8jsirq6vrQhyge/fueL3egBYlIiJysrogb6cg/zGfQd6lSxdef/11XC4X\nLpeL119/na5ddf+eiIi0nENH3STFR9Mm2udEcsTxGeSPPfYY//nPf7jyyiu54oor2LJlC7/73e9a\nojYRERHKKqoocVVqWr0BPn+1adeuHc8880xL1CIiInKKQ0fLAE2rNyRgcxQ1NTU8/PDD7NmzB5PJ\nxG9/+1uio6OZPXs2JpOJtLQ0FixYgNlsZuXKlWRmZmK1Wpk6daoW0omISJ1Dx2o/H++qEflpBSzI\nT9yilpmZSVZWFk8//TSGYTBjxgyGDx/O/PnzWbNmDYMGDSIjI4NVq1bh8XiYOHEiI0eOxGazBao0\nEREJIwcLtWL9THx+Rv7000836YWvvPJKHn30UQAOHTpEfHw82dnZDBs2DIBRo0axceNGtm3bxuDB\ng7HZbDgcDlJSUsjJyWnSe4qISOtzYkSuID89nyPydevWMWPGDEwm/w9vt1qtzJo1i48//pjf//73\nbNiwoe517HY7TqcTl8uFw+Go+x673Y7L5Trj6yYmxmK1Wvyu50ySkx2+nySnUN/8p575Tz1rmtbS\ntyNFZbRvG0NKt8SAv1c49sxnkCckJHDNNddw3nnnER0dXXf9iSeeaNQbLFq0iAceeIAJEybg8Xjq\nrrvdbuLj44mLi8Ptdte7fnKwn05xcVmj3ruxkpMdFBY6m/U1I4H65j/1zH/qWdO0lr6VVVRz7HgF\nA3olBfznCfWeNfRLhs8gv+WWW5r0hu+99x75+flMmTKFNm3aYDKZGDBgAFlZWQwfPpz169czYsQI\n0tPTeeaZZ/B4PFRWVpKbm0vfvn2b9J4iItK6aFrdt0YFeV5eHt999x2XXHIJhw8frrfTW0Ouvvpq\nHnroIe68806qq6uZM2cOvXv3Zt68eSxbtozU1FTGjh2LxWJh0qRJTJw4EcMwmDlzZr2Rv4iIRC5t\nzeqbzyD/29/+xosvvkhFRQWZmZncfvvtPPjgg4wbN+6M3xcbG8uzzz57yvXly5efcm3ChAlMmDDB\nj7JFRCQSKMh987lq/dVXX+Wtt97CbrfTrl073n33XV555ZWWqE1ERCKc9lj3zWeQm81m4uJ+ODau\nQ4cOmM06C1ZERALv4FE3iY5oYmO0x3pDfHYmLS2N5cuXU11dzc6dO1mxYgX9+vVridpERCSClXuq\nKXZ6OK9XUrBLCWk+h9bz588nPz+f6Oho5syZQ1xcHAsWLGiJ2kREJIJpWr1xfI7IY2Njuffee7n+\n+uuJioqiZ8+eWCzNuxmLiIjIj50I8q7JCvIz8RnkX375JQ8++CBJSUkYhoHb7eapp55i4MCBLVGf\niIhEqIMakTeKzyB/8sknefnllznnnHMA+Oabb/jtb3/LO++8E/DiREQkcv2wGUxskCsJbY1afn4i\nxAEGDhxITU1NwAoSERGB2qn1hDgbsTFRwS4lpDU4It+0aRMAvXr1Yv78+YwfPx6r1coHH3ygaXUR\nEQmootIKiko9DEjVinVfGgzy3//+9/W+XrJkSd2/N+UkNBERkcb6PPsIAEPO6RDkSkJfg0GekZHR\nknWIiIgAYBgGG7cfwWoxK8gbwedit6+++oo///nPHD9+vN71N954I2BFiYhI5Np7xMnhY2UM699B\nO7o1gs8OzZ49m+nTp9OlS5eWqEdERCLcxu210+oXndcpyJWEB59B3rFjR26++eaWqEVERCJcdY2X\nrB35xMdGaWvWRvIZ5JMmTeKBBx5gxIgRWK0/PF3hLiIize2b/x7DVV7FVUO6Y7XogK7G8BnkK1as\nAGDz5s31rivIRUSkuZ2YVr94gKbVG8tnkBcWFvL3v/+9JWoREZEI5iqvYut3R+mabCelY5zvbxCg\nETu7DRkyhHXr1lFdXd0S9YiISITalFNAdY3BxQM6ab8SP/gcka9bt46333673jWTycTOnTsDVpSI\niLR+BwtdZO3Mp6jUQ7HTw/58JyZgxLmaVveHzyD/7LPPWqIOERGJIEWlFSxasQVXeVXdtfjYKK4a\n2p1ER3QQKws/PoP8+eefP+316dOnN3sxIiLS+nm9Bq98sANXeRW3jkplWP8OJDqiibJagl1aWPJr\nbX9VVRVr167l2LFjgapHRERauQ827mX3gRIuPCeZ6y/qQYfEWIX4WfA5Iv/xyHvatGncfffdAStI\nRERar137i3l/wx7axUfz82v7aVFbM/D7bnu3282hQ4cCUYuIiLRizrJKXvlgByZMTLlpAHadM94s\nfI7Ix4wZU/cbk2EYlJaWakQuIiKNZhgGm3cVsnLddxQ7PfzkslT6dGsb7LJaDZ9BfvJxpiaTifj4\neOLidKO+iIj4tvdIKZmffMvuvONYzCauHZ7CtSN6BLusVqVRh6Z89tlnlJSU1LuuLVpFRORMPt50\ngLfWfAvA4LT2TBjdh45JsUGuqvXxGeT3338/hw4donfv3vUWJSjIRUSkIZtyCnhrzbe0jbPxvzec\nS/+eOsksUHwG+a5du/jHP/7RErWIiEgrsPtACa9+sIMYm4WZt51PSkdHsEtq1XyuWu/duzcFBQUt\nUYuIiIS0FJFlAAAVa0lEQVS5w8fcPLdqG4ZhMO2WgQrxFuBzRF5RUcE111xD3759sdlsddffeOON\ngBYmIiLh5bu847zyQTbuimruvq4/5/XSdHpL8BnkU6ZMaYk6REQkDHm9Blu+Pco/vtxH7sFSAG65\ntBeXpHcOcmWRw2eQDxs2rCXqEBGRMHP0eDlPr9zK4WNlAAzq056xw7pzTkpikCuLLD6DXERE5Mc8\nVTU8v/obDh8rY+SATlx3UQ86t7MHu6yIpCAXERG/GIbBn/+Rw/58F6PO78LPr+0X7JIimt97rYuI\nSGT7eNMBvsjOp3eXeO68qm+wy4l4ARuRV1VVMWfOHA4ePEhlZSVTp06lT58+zJ49G5PJRFpaGgsW\nLMBsNrNy5UoyMzOxWq1MnTqV0aNHB6osERE5Czv3FrFyXS5t7TZ+ectAoqwaDwZbwIL8/fffJyEh\ngSVLllBSUsLNN99Mv379mDFjBsOHD2f+/PmsWbOGQYMGkZGRwapVq/B4PEycOJGRI0fWu9VNRESC\np7rGy469RWTtKODr3YWYTDDtloEkOqKDXZoQwCC/5pprGDt2LFD7eYrFYiE7O7tuFfyoUaPYsGED\nZrOZwYMHY7PZsNlspKSkkJOTQ3p6eqBKExGRRjAMg/c+3cPar/NwV1QD0C4+mttG99HpZSEkYEFu\nt9euXnS5XNx7773MmDGDRYsW1e3XbrfbcTqduFwuHA5Hve9zuVxnfO3ExFisVkuz1pucrN2HmkJ9\n85965j/1rGnOtm8ffbGXDzbuJcERzU1DU7h0UFfO6ZFY79yN1iYc/6wFdNX64cOHmTZtGhMnTuTG\nG29kyZIldY+53e66I1Hdbne96ycH++kUF5c1a53JyQ4KC53N+pqRQH3zn3rmP/Wsac62bwcLXbz8\n7jfYY6zM/emFtGsbA8DRo2ceaIWzUP+z1tAvGQFbpXD06FHuvvtufvOb3zB+/HgAzj33XLKysgBY\nv349Q4YMIT09nc2bN+PxeHA6neTm5tK3r1ZBiogES2VVDS/9XzZV1V7uuq5/XYhLaArYiPyll16i\ntLSUF154gRdeeAGAuXPnsnDhQpYtW0Zqaipjx47FYrEwadIkJk6ciGEYzJw5k+hoLaAQEQmWzDXf\ncvComysu6MYFfZODXY74YDIMwwh2Ef5q7qmPUJ9OCVXqm//UM/+pZ03T1L59lVPAC+9tp3uHOB6e\nfCFRzbweKZSF+p+1Fp9aFxGR8LPq37lEWc3cM+68iArxcKYgFxERAI4dryC/uJzzeiZp3/QwoiAX\nEREAcvYXA9Cvh04vCycKchERAWDH3togP1dBHlYU5CIigmEY5OwvxhEbRZdkTauHEwW5iIiQX1xO\nsdNDv5REzK1457bWSEEuIiLs3Fc7rd5f0+phR0EuIiLs3FsEQP+eCvJwoyAXEYlwXsMgZ38JSfHR\ndEhoE+xyxE8KchGRCJdX4MJVXkX/lNZ9sllrpSAXEYlwOft0/3g4U5CLiES4HVroFtYU5CIiEay6\nxsuuAyV0TIolKV7HlYYjBbmISATbd8SJp7JGo/EwpiAXEYlgun88/CnIRUQiVFFpBR9/dQCL2US/\nlIRglyNNpCAXEYlAlVU1PL/6G5xlVdx+RRqOWFuwS5ImUpCLiEQYwzDI+GgXe484GTmwE2Mu6Brs\nkuQsKMhFRCLM2q8PsmH7EXp1djB57DnaBCbMKchFRCJI9t4iMtd8S3xsFNNuGUiU1RLskuQsWYNd\ngIiItIyvcgp45YNsAH55y0DdN95KKMhFRCLAui0HWf7RLmw2C7+6dSB9u2uVemuhIBcRaWVKXB4q\nvFBU5AYga0c+H2zciyM2ipkTzqdnp/ggVyjNSUEuItJKGIbB37P2886/ck95rH3bGO7/n0F0TIoN\nQmUSSApyEZFWwGsYrFz7Hf/cdIBERzQjBnSmvKIKgBibhauHdichLjrIVUogKMhFRMJcdY2XP324\nky925NOlvZ1fTzifc3onU1joDHZp0gIU5CIiYaSq2svfv9jH4aKyumv5RWXsPeKkd9d47ht/PnFt\nooJYobQ0BbmISJgodnp44d1vyD1Uespjg/q0Z8q484iO0n3hkUZBLiISBnYfKOGF97ZT6q5kxLkd\n+cllvTGba3dkM5tNtLVrr/RIpSAXEQlhNV4vn3yVxzv/ysUw4PYr0rhqSDdtqyp1FOQiIiHqm/8e\nI3PNtxw+VkZcmyh+efMA+unccPkRBbmISAgwDANnWRVFzgqOHfewfushvvnvMUwmuGxQF26+NFXT\n53JaCnIRkQA6dryCj786wBc78qmqrmnweVXVXqprjHrX+vdI5PYr0ujeIS7QZUoYU5CLiJwlT2UN\nRc4Kqqq9ddfKPdX8e+shvtxRgNcwcMRGkdy2TYOvYbGYSXREk+SIJik+hh4d4+jXI1GfhYtPCnIR\nET9UVXvJ3lPEppwCDhS4KHZW4K6obvD5XZPtXDMsheHndsRq0cnR0vwU5CIi36uu8VLs9FBUWkGR\n04O7vKruMQM4kO/i692FlHlqgzvaZiHJEU3PzvEkOaLr3cNtMpk4r1cSA1OTNKqWgApokG/dupWl\nS5eSkZHBvn37mD17NiaTibS0NBYsWIDZbGblypVkZmZitVqZOnUqo0ePDmRJItJKGYaBu6K6NoRL\nPRQ5f/S/pRWUuDzUeI0zvIbv90l0RHNJemeG9e9Ir84OhbQEXcCC/NVXX+X999+nTZvaz4SeeOIJ\nZsyYwfDhw5k/fz5r1qxh0KBBZGRksGrVKjweDxMnTmTkyJHYbFqZKRLpPFU1FDs9HCqu4L8HiusC\n2V3xwygZA8o81RQ5PRSXVlB50mfUJzMBbeNsdO8Qd8bpbYvZRIIjmiRHDEnx0ThibZwc0wmOaFK7\nxGNWeEsICViQp6Sk8Nxzz/Hggw8CkJ2dzbBhwwAYNWoUGzZswGw2M3jwYGw2GzabjZSUFHJyckhP\nTw9UWSISIJ7KGrbmHmVTTgHHjlc0+XWqawxKXB5cJ01r+xLXJopO7WLrAjgpPqZu0ViSI5oER7Q+\nn5ZWK2BBPnbsWPLy8uq+NgyjbgrKbrfjdDpxuVw4HI6659jtdlwul8/XTkyMxWpt3v2Ek5Mdvp8k\np1Df/NeaemYYBl/vKuCTL/ezaWc+nsra26tsURaaOmg1m0wkxcfQp1sCyYltaJ/wwz/JCW2I/9G9\n1DHRVu0v3oDW9GetpYRjz1pssZvZ/MNvw263m/j4eOLi4nC73fWunxzsDSkuLvP5HH8kJzt03F8T\nqG/+ay09q67x8kV2Ph99uZ+DR2v/DndMbMPQIR0Z1r8D3ZKb777nH/essryy3uM//lpqtZY/ay0p\n1HvW0C8ZLRbk5557LllZWQwfPpz169czYsQI0tPTeeaZZ/B4PFRWVpKbm0vfvn1bqiQRaSTDMCgq\n9fDdweN8d/A4m3cVUOKqxGwyMeK8jlw1pDs9O2nhl0gwtFiQz5o1i3nz5rFs2TJSU1MZO3YsFouF\nSZMmMXHiRAzDYObMmURHR7dUSSLiQ4nLw5rNeWzcfoRip6fueozNwtVDu3PVkO60axsTxApFxGQY\njbnhIrQ099RHqE+nhCr1zX/h0rODhS4++vIAX+w4QnWNgT3GSr+URHp3bUufbm3p0dFBlLVlFo+F\nS89Cjfrmv1DvWdCn1kUktBWVVvDlzgI25eSz53Dtf8w6JsUydlh3Lj6vEzYtKBMJSQpykQjx4w1T\njpVWUOSsoLjUQ35xWV14m7/fkWzMBV05v0973TMtEuIU5CJhynumHcowOHa84vvFaaXkHjxOflFZ\nwxummKBfSgLD+nfkgnOSiY/Vpkwi4UJBLhKGPti4l/c/23PG7UZPFmU107ldLO3iY+o2TUmM/2EH\ns4Q4bZgiEq4U5CJh5l//Oci76/9LW7uNLu3tDT4vrk0Ufb5fnOZra1IRCV8KcpEwsi33KMs/2k1c\nmyhm//QCOibGBrskEQky/YouEib2HC7lhfe2Y7WYuG98ukJcRACNyEWCptRdyXF3w9uLer0Gx92e\nuqM41289TFW1l+m3DKR317YtWKmIhDIFuUgL23fEyUdf7ufLnQV4/diPyQTceXVfBvdNDlxxIhJ2\nFOQiAVRZVUOR00NRaQXHjlfw9XdH2frtUQC6Jtvp1z0RGrhN22SCtnZb3cryDomxJDq0hbGI1Kcg\nF2mA1zAocXrYc9jJdwdL+O7gcfbnu6ipafwo+nQj7nN7JnLNsBTO65WkQ0ZE5KwpyKVVqfF6+S7v\nOEePV9SNhN3lVY3+fgNwllVRVFpBsdNT7z5ts8lE12Q70bbGb1Vqs5rrRtRJ8TFccG4n4qK0xlRE\nmo+CXFqNck81f3j3G3bsLT6r1zEB8XE2enRykOSIJqWjgz5d29Krc7xfIX46oX4og4iEHwW5tAql\n7kqefnsr+444GdAriQvOSSbJEUO7+GgcsbYGP4c+ndhoqzZPEZGwoSCXsFdYUs5Tf/kPBcXlXJre\nmcnXnIPFrCAWkcigIJewYhgGuYdKOXzU/f3pXR625R6j1F3JDRf34JZLU7WATEQiioJcwobXMMhc\n8y2ffJVX77rVYuKOK9O4akj3IFUmIhI8CnIJC9U1Xv704U6+2JFPl/Z2xg7tTlLbGJIctavBo6PO\nbhGaiEi4UpBLyKuorOYP724ne08Rfbq25d7x6cS1iQp2WSIiIUFBLiGprKKa/x4+znd5x9m8q5CD\nR92k927H1JsHaPQtInISBbmEjBqvl827Cvl40wH+e6iUk/dEG3V+F356dV/dFiYi8iMKcgk6T2UN\n67cd4uNNBzh6vAITkNatLWndE+jdtS19urbVVLqISAMU5BJUBcVlLPvLVgpKyomymhk9uCtXD+1O\nxySdtS0i0hgKcgmafUecPL3yP5SWVXHVkO5cf3EP4mNtwS5LRCSsKMglKHbuK+a5VdvwVNbw06v7\nMuaCbsEuSUQkLCnIpcWUe6rZc7iUXftL+HvWPgDuuXkAQ/t1CHJlIiLhS0EuTWYYBq7y2iM/S1yV\neE868rO6xkuxy0NxqYciZwVHjpVxoNDFieO5Y2wWfnXrQPr3TApS9SIirYOCPIJVVZ8I2wqKSj2U\neaobfO4Poe2p2+O8xOXBU1nTqPeyWsz0+X4Fep+utSvStRJdROTsKcgDyGsYOMuq6o1UffFU1VD0\nfbAWOSuo8DQuKBujqsZLsdNT+/pOD6Xuyia/VlybKLomxxHfJoqk+GgSHdH1Thwzm00kxNlIio+h\nXXwMbe02zGYdZiIi0twiPsgLS8rJ+Hg3zrMItZMZhkGpu5Ki0toRa40fId5SrBYzSY5ouqQkkOiI\nISk+mnbxMdjbRJ3x2O7YGCvt4mNIdERji7KQnOygsNDZYnWLiMipIj7I8wpd/OvrvLrPbpuDyQQJ\ncdH07OwgMS7ar93IrFZz3UEgSY5oYmOiaK5TOc0mE4mOaByxUTrqU0SklYj4IB+clsyKR68jP7+0\n2V7T3sZab5pZREQkUCI+yKH2895yuzYiERGR8KNho4iISBhTkIuIiIQxBbmIiEgYC4nPyL1eL488\n8gi7du3CZrOxcOFCevToEeyyREREQl5IjMg/+eQTKisr+ctf/sL999/Pk08+GeySREREwkJIBPnm\nzZu59NJLARg0aBDbt28PckUiIiLhISSm1l0uF3FxcXVfWywWqqursVpPX15iYixWq6VZa0hOdjTr\n60UK9c1/6pn/1LOmUd/8F449C4kgj4uLw+12133t9XobDHGA4uKyZn1/bTXaNOqb/9Qz/6lnTaO+\n+S/Ue9bQLxkhMbV+wQUXsH79egD+85//0Ldv3yBXJCIiEh5CYkR+1VVXsWHDBm6//XYMw+Dxxx8P\ndkkiIiJhISSC3Gw287vf/S7YZYiIiIQdk2E057lfIiIi0pJC4jNyERERaRoFuYiISBhTkIuIiIQx\nBbmIiEgYU5CLiIiEMQW5iIhIGAuJ+8iDRcenNk5VVRVz5szh4MGDVFZWMnXqVPr06cPs2bMxmUyk\npaWxYMECzGb9Xng6x44d49Zbb+VPf/oTVqtVffPh5ZdfZu3atVRVVXHHHXcwbNgw9ewMqqqqmD17\nNgcPHsRsNvPoo4/qz5kPW7duZenSpWRkZLBv377T9mrlypVkZmZitVqZOnUqo0ePDnbZDYro/2d1\nfGrjvP/++yQkJLBixQr++Mc/8uijj/LEE08wY8YMVqxYgWEYrFmzJthlhqSqqirmz59PTEwMgPrm\nQ1ZWFlu2bOGtt94iIyODI0eOqGc+/Pvf/6a6uprMzEymTZvGM888o56dwauvvsrDDz+Mx+MBTv93\nsrCwkIyMDDIzM3nttddYtmwZlZWVQa68YREd5Do+tXGuueYa7rvvPgAMw8BisZCdnc2wYcMAGDVq\nFBs3bgxmiSFr0aJF3H777XTo0AFAffPhs88+o2/fvkybNo177rmHyy+/XD3zoVevXtTU1OD1enG5\nXFitVvXsDFJSUnjuuefqvj5dr7Zt28bgwYOx2Ww4HA5SUlLIyckJVsk+RXSQN3R8qtRnt9uJi4vD\n5XJx7733MmPGDAzDwGQy1T3udIbuiUHBsnr1apKSkup+WQTUNx+Ki4vZvn07zz77LL/97W954IEH\n1DMfYmNjOXjwINdeey3z5s1j0qRJ6tkZjB07tt7pmqfrlcvlwuH44aQxu92Oy+Vq8VobK6I/I/f3\n+NRIdvjwYaZNm8bEiRO58cYbWbJkSd1jbreb+Pj4IFYXmlatWoXJZOLzzz9n586dzJo1i6KiorrH\n1bdTJSQkkJqais1mIzU1lejoaI4cOVL3uHp2qtdff51LLrmE+++/n8OHD/Ozn/2MqqqqusfVszM7\nee3AiV79OBvcbne9YA81ET0i1/GpjXP06FHuvvtufvOb3zB+/HgAzj33XLKysgBYv349Q4YMCWaJ\nIenNN99k+fLlZGRk0L9/fxYtWsSoUaPUtzO48MIL+fTTTzEMg/z8fMrLy7nooovUszOIj4+vC5m2\nbdtSXV2tv59+OF2v0tPT2bx5Mx6PB6fTSW5ubkjnQ0QfmnJi1fru3bvrjk/t3bt3sMsKOQsXLuTv\nf/87qampddfmzp3LwoULqaqqIjU1lYULF2KxWIJYZWibNGkSjzzyCGazmXnz5qlvZ7B48WKysrIw\nDIOZM2fSrVs39ewM3G43c+bMobCwkKqqKiZPnsyAAQPUszPIy8vj17/+NStXrmTPnj2n7dXKlSv5\ny1/+gmEYTJkyhbFjxwa77AZFdJCLiIiEu4ieWhcREQl3CnIREZEwpiAXEREJYwpyERGRMKYgFxER\nCWMKchERkTCmIBcREQljCnIREZEw9v8BRc0RZKEkvaQAAAAASUVORK5CYII=\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -352,7 +352,7 @@ " number_of_samples.append(query[2]['total'])\n", "number_of_samples.sort()\n", "plt.plot(number_of_samples)\n", - "plt.title('Disease')\n", + "plt.title('Samples')\n", "plt.ylabel('number of samples')\n", "plt.show()\n", "\n", @@ -612,394 +612,394 @@ " \n", " \n", " \n", - " 46094258\n", - " 4258\n", + " 58944691\n", + " 4691\n", " 20\n", - " 0.00469704\n", + " 0.00426348\n", " 40\n", " max\n", + " 0.001\n", + " min\n", + " 0.782923\n", + " 0.74492\n", + " 0.0380031\n", + " \n", + " \n", + " 74861460\n", + " 1460\n", + " 20\n", + " 0.0136986\n", + " 20\n", + " min\n", " 0.01\n", " OK\n", - " 0.803337\n", - " 0.644458\n", - " 0.158879\n", + " 0.817329\n", + " 0.600694\n", + " 0.216634\n", " \n", " \n", - " 74861311\n", - " 1311\n", + " 251283\n", + " 1283\n", " 20\n", - " 0.0152555\n", - " 40\n", - " max\n", + " 0.0155885\n", + " 20\n", + " min\n", " 0.001\n", " min\n", - " 0.754118\n", - " 0.560811\n", - " 0.193307\n", + " 0.800495\n", + " 0.508893\n", + " 0.291602\n", " \n", " \n", - " 47713242\n", - " 3242\n", + " 51592405\n", + " 2405\n", + " 21\n", + " 0.00873181\n", " 20\n", - " 0.00616903\n", - " 40\n", - " max\n", - " 0.001\n", " min\n", - " 0.820309\n", - " 0.443798\n", - " 0.376511\n", + " 1\n", + " max\n", + " 0.761282\n", + " 0.707547\n", + " 0.0537348\n", " \n", " \n", - " 51591000\n", - " 1000\n", - " 20\n", - " 0.02\n", + " 4763502\n", + " 502\n", + " 21\n", + " 0.0418327\n", " 20\n", " min\n", - " 0.01\n", - " OK\n", - " 0.821189\n", - " 0.816327\n", - " 0.00486288\n", + " 0.001\n", + " min\n", + " 0.774203\n", + " 0.25\n", + " 0.524203\n", " \n", " \n", - " 238588\n", - " 588\n", + " 56043310\n", + " 3310\n", + " 21\n", + " 0.00634441\n", " 20\n", - " 0.0340136\n", - " 40\n", - " max\n", - " 0.1\n", - " OK\n", - " 0.738436\n", - " 0.778509\n", - " -0.0400726\n", + " min\n", + " 0.001\n", + " min\n", + " 0.765153\n", + " 0.659195\n", + " 0.105959\n", " \n", " \n", - " 67144685\n", - " 4685\n", + " 20641064\n", + " 1064\n", + " 21\n", + " 0.0197368\n", " 20\n", - " 0.00426894\n", - " 40\n", - " max\n", - " 0.01\n", - " OK\n", - " 0.855238\n", - " 0.689979\n", - " 0.16526\n", + " min\n", + " 0.001\n", + " min\n", + " 0.684652\n", + " 0.328947\n", + " 0.355705\n", " \n", " \n", - " 4763178\n", - " 178\n", + " 1956951\n", + " 951\n", " 21\n", - " 0.117978\n", + " 0.022082\n", " 40\n", " max\n", " 0.001\n", " min\n", - " 0.828235\n", - " 0.46875\n", - " 0.359485\n", + " 0.909588\n", + " 0.895722\n", + " 0.0138656\n", " \n", " \n", - " 56043480\n", - " 3480\n", + " 74903360\n", + " 3360\n", " 21\n", - " 0.00603448\n", - " 40\n", - " max\n", - " 0.01\n", + " 0.00625\n", + " 20\n", + " min\n", + " 0.1\n", " OK\n", - " 0.830566\n", - " 0.600072\n", - " 0.230494\n", + " 0.702381\n", + " 0.593563\n", + " 0.108818\n", " \n", " \n", - " 3265721\n", - " 721\n", + " 59791559\n", + " 1559\n", " 21\n", - " 0.0291262\n", + " 0.0134702\n", " 40\n", " max\n", - " 0.01\n", - " OK\n", - " 0.896243\n", - " 0.741135\n", - " 0.155109\n", + " 0.001\n", + " min\n", + " 0.856815\n", + " 0.842532\n", + " 0.0142825\n", " \n", " \n", - " 58943535\n", - " 3535\n", + " 47712813\n", + " 2813\n", " 21\n", - " 0.00594059\n", + " 0.00746534\n", " 40\n", " max\n", " 0.01\n", " OK\n", - " 0.840417\n", - " 0.968706\n", - " -0.128289\n", + " 0.827375\n", + " 0.57737\n", + " 0.250005\n", " \n", " \n", - " 42213157\n", - " 3157\n", + " 46093624\n", + " 3624\n", " 22\n", - " 0.00696864\n", + " 0.00607064\n", " 40\n", " max\n", - " 1\n", - " max\n", - " 0.677348\n", - " 0.411226\n", - " 0.266122\n", + " 0.01\n", + " OK\n", + " 0.640422\n", + " 0.408807\n", + " 0.231615\n", " \n", " \n", - " 4089623\n", - " 623\n", + " 67145174\n", + " 5174\n", " 22\n", - " 0.035313\n", + " 0.00425203\n", " 20\n", " min\n", - " 0.001\n", - " min\n", - " 0.757986\n", - " 0.704545\n", - " 0.0534407\n", + " 0.01\n", + " OK\n", + " 0.696595\n", + " 0.630213\n", + " 0.0663813\n", " \n", " \n", - " 49212171\n", - " 2171\n", + " 673774\n", + " 774\n", " 22\n", - " 0.0101336\n", - " 40\n", - " max\n", + " 0.0284238\n", + " 20\n", + " min\n", " 0.01\n", " OK\n", - " 0.806429\n", - " 0.454176\n", - " 0.352252\n", + " 0.843964\n", + " 0.817881\n", + " 0.026083\n", " \n", " \n", - " 2074280\n", - " 4280\n", + " 40873727\n", + " 3727\n", " 22\n", - " 0.00514019\n", + " 0.00590287\n", " 40\n", " max\n", " 1\n", " max\n", - " 0.844425\n", - " 0.700998\n", - " 0.143427\n", + " 0.579837\n", + " 0.584569\n", + " -0.00473223\n", " \n", " \n", - " 74902120\n", - " 2120\n", - " 22\n", - " 0.0103774\n", + " 2074011\n", + " 4011\n", + " 23\n", + " 0.00573423\n", " 20\n", " min\n", " 1\n", " max\n", - " 0.579758\n", - " 0.591667\n", - " -0.011909\n", + " 0.791884\n", + " 0.918797\n", + " -0.126913\n", " \n", " \n", - " 1956605\n", - " 605\n", - " 22\n", - " 0.0363636\n", - " 20\n", - " min\n", + " 7157331\n", + " 331\n", + " 23\n", + " 0.0694864\n", + " 40\n", + " max\n", " 0.1\n", " OK\n", - " 0.740939\n", - " 0.373932\n", - " 0.367008\n", - " \n", - " \n", - " 1630986\n", - " 986\n", - " 23\n", - " 0.0233266\n", - " 20\n", - " min\n", - " 0.001\n", - " min\n", - " 0.787879\n", - " 0.704663\n", - " 0.0832156\n", - " \n", - " \n", - " 37912902\n", - " 2902\n", - " 24\n", - " 0.00827016\n", - " 20\n", - " min\n", - " 0.001\n", - " min\n", - " 0.657049\n", - " 0.375347\n", - " 0.281702\n", + " 0.834688\n", + " 0.683871\n", + " 0.150817\n", " \n", " \n", - " 6751083\n", - " 1083\n", + " 60981740\n", + " 1740\n", " 24\n", - " 0.0221607\n", - " 20\n", - " min\n", - " 1\n", + " 0.0137931\n", + " 40\n", " max\n", - " 0.730131\n", - " 0.416981\n", - " 0.31315\n", + " 0.01\n", + " OK\n", + " 0.713535\n", + " 0.405831\n", + " 0.307705\n", " \n", " \n", - " 5925567\n", - " 567\n", + " 49211918\n", + " 1918\n", " 24\n", - " 0.042328\n", + " 0.012513\n", " 40\n", " max\n", - " 1\n", - " max\n", - " 0.908319\n", - " 0.86055\n", - " 0.0477687\n", + " 0.001\n", + " min\n", + " 0.726003\n", + " 0.77467\n", + " -0.0486671\n", " \n", " \n", - " 253003\n", - " 3003\n", + " 37911502\n", + " 1502\n", " 25\n", - " 0.00832501\n", + " 0.0166445\n", " 40\n", " max\n", - " 0.01\n", - " OK\n", - " 0.751134\n", - " 0.830537\n", - " -0.0794034\n", + " 0.001\n", + " min\n", + " 0.808637\n", + " 0.84527\n", + " -0.0366335\n", " \n", " \n", - " 6721378\n", - " 1378\n", + " 42212708\n", + " 2708\n", " 26\n", - " 0.0188679\n", - " 20\n", - " min\n", - " 1\n", + " 0.00960118\n", + " 40\n", " max\n", - " 0.662482\n", - " 0.678229\n", - " -0.015747\n", + " 0.01\n", + " OK\n", + " 0.856765\n", + " 0.472998\n", + " 0.383767\n", " \n", " \n", - " 59791939\n", - " 1939\n", + " 5728769\n", + " 769\n", " 26\n", - " 0.013409\n", - " 20\n", - " min\n", + " 0.0338101\n", + " 40\n", + " max\n", " 0.001\n", " min\n", - " 0.813788\n", - " 0.937859\n", - " -0.124071\n", + " 0.886965\n", + " 0.92349\n", + " -0.036525\n", " \n", " \n", - " 40872837\n", - " 2837\n", - " 27\n", - " 0.0095171\n", + " 6751044\n", + " 1044\n", + " 26\n", + " 0.0249042\n", " 40\n", " max\n", " 0.1\n", " OK\n", - " 0.721002\n", - " 0.50373\n", - " 0.217272\n", + " 0.892769\n", + " 0.760784\n", + " 0.131985\n", " \n", " \n", - " 20641561\n", - " 1561\n", - " 29\n", - " 0.0185778\n", + " 6721239\n", + " 1239\n", + " 27\n", + " 0.0217918\n", " 20\n", " min\n", " 0.001\n", " min\n", - " 0.882981\n", - " 0.636265\n", - " 0.246716\n", + " 0.631297\n", + " 0.685597\n", + " -0.0542992\n", " \n", " \n", - " 10292674\n", - " 2674\n", - " 37\n", - " 0.0138369\n", + " 2381528\n", + " 1528\n", + " 31\n", + " 0.020288\n", " 20\n", " min\n", " 1\n", " max\n", - " 0.81198\n", - " 0.860931\n", - " -0.0489503\n", + " 0.683542\n", + " 0.551111\n", + " 0.132431\n", " \n", " \n", - " 57281036\n", - " 1036\n", - " 41\n", - " 0.0395753\n", - " 20\n", - " min\n", + " 3265502\n", + " 502\n", + " 31\n", + " 0.061753\n", + " 40\n", + " max\n", " 0.1\n", " OK\n", - " 0.833543\n", - " 0.810625\n", - " 0.022918\n", + " 0.972553\n", + " 0.866667\n", + " 0.105887\n", " \n", " \n", - " 60981278\n", - " 1278\n", - " 43\n", - " 0.0336463\n", + " 48931566\n", + " 1566\n", + " 33\n", + " 0.0210728\n", " 20\n", " min\n", " 1\n", " max\n", - " 0.627739\n", - " 0.508322\n", - " 0.119417\n", + " 0.876302\n", + " 0.863192\n", + " 0.0131097\n", + " \n", + " \n", + " 59251891\n", + " 1891\n", + " 37\n", + " 0.0195664\n", + " 20\n", + " min\n", + " 0.1\n", + " OK\n", + " 0.749618\n", + " 0.657834\n", + " 0.0917835\n", " \n", " \n", - " 6732113\n", - " 2113\n", - " 51\n", - " 0.0241363\n", + " 10291371\n", + " 1371\n", + " 37\n", + " 0.0269876\n", " 40\n", " max\n", - " 1\n", - " max\n", - " 0.842048\n", - " 0.810896\n", - " 0.0311518\n", + " 0.01\n", + " OK\n", + " 0.601626\n", + " 0.439765\n", + " 0.161861\n", " \n", " \n", - " 48931568\n", - " 1568\n", - " 52\n", - " 0.0331633\n", + " 1630687\n", + " 687\n", " 40\n", - " max\n", - " 0.1\n", + " 0.0582242\n", + " 20\n", + " min\n", + " 0.01\n", " OK\n", - " 0.938394\n", - " 0.726645\n", - " 0.211749\n", + " 0.771639\n", + " 0.667308\n", + " 0.104332\n", " \n", " \n", " ...\n", @@ -1015,394 +1015,394 @@ " ...\n", " \n", " \n", - " 59254479\n", - " 4479\n", - " 115\n", - " 0.0256754\n", + " 74281897\n", + " 1897\n", + " 123\n", + " 0.0648392\n", " 40\n", " max\n", - " 0.01\n", - " OK\n", - " 0.827722\n", - " 0.663977\n", - " 0.163744\n", + " 1\n", + " max\n", + " 0.982454\n", + " 0.940056\n", + " 0.0423975\n", " \n", " \n", - " 52901308\n", - " 1308\n", - " 120\n", - " 0.0917431\n", + " 74283618\n", + " 3618\n", + " 125\n", + " 0.0345495\n", " 40\n", " max\n", - " 0.1\n", - " OK\n", - " 0.876952\n", - " 0.752976\n", - " 0.123976\n", + " 1\n", + " max\n", + " 0.984603\n", + " 0.960801\n", + " 0.0238016\n", + " \n", + " \n", + " 20645727\n", + " 5727\n", + " 126\n", + " 0.022001\n", + " 20\n", + " min\n", + " 1\n", + " max\n", + " 0.775\n", + " 0.688528\n", + " 0.0864719\n", " \n", " \n", - " 74283073\n", - " 3073\n", + " 10291657\n", + " 1657\n", " 127\n", - " 0.0413277\n", + " 0.0766445\n", " 40\n", " max\n", - " 0.001\n", - " min\n", - " 0.967671\n", - " 0.97539\n", - " -0.00771864\n", + " 1\n", + " max\n", + " 0.88398\n", + " 0.869967\n", + " 0.0140128\n", " \n", " \n", - " 6732569\n", - " 2569\n", + " 37914907\n", + " 4907\n", " 127\n", - " 0.0494356\n", + " 0.0258814\n", " 40\n", " max\n", - " 0.001\n", - " min\n", - " 0.905741\n", - " 0.830429\n", - " 0.0753113\n", + " 1\n", + " max\n", + " 0.735143\n", + " 0.649446\n", + " 0.0856966\n", " \n", " \n", - " 74285463\n", - " 5463\n", - " 135\n", - " 0.0247117\n", + " 3845977\n", + " 977\n", + " 129\n", + " 0.132037\n", " 40\n", " max\n", " 1\n", " max\n", - " 0.974953\n", - " 0.949204\n", - " 0.0257487\n", + " 0.877724\n", + " 0.809729\n", + " 0.0679958\n", " \n", " \n", - " 74286969\n", - " 6969\n", - " 135\n", - " 0.0193715\n", + " 7157214\n", + " 214\n", + " 145\n", + " 0.67757\n", " 40\n", " max\n", - " 0.1\n", - " OK\n", - " 0.986278\n", - " 0.940827\n", - " 0.0454505\n", + " 0.001\n", + " min\n", + " 0.893574\n", + " 0.655172\n", + " 0.238401\n", " \n", " \n", - " 38451520\n", - " 1520\n", - " 143\n", - " 0.0940789\n", - " 20\n", - " min\n", + " 10293699\n", + " 3699\n", + " 180\n", + " 0.0486618\n", + " 40\n", + " max\n", " 1\n", " max\n", - " 0.876278\n", - " 0.891411\n", - " -0.0151331\n", + " 0.895897\n", + " 0.890191\n", + " 0.0057065\n", " \n", " \n", - " 38452016\n", - " 2016\n", - " 154\n", - " 0.0763889\n", + " 6756299\n", + " 6299\n", + " 200\n", + " 0.0317511\n", " 40\n", " max\n", - " 1\n", - " max\n", - " 0.971356\n", - " 0.941019\n", - " 0.0303376\n", + " 0.1\n", + " OK\n", + " 0.702508\n", + " 0.611045\n", + " 0.0914631\n", " \n", " \n", - " 7157516\n", - " 516\n", - " 188\n", - " 0.364341\n", + " 52902178\n", + " 2178\n", + " 200\n", + " 0.0918274\n", " 20\n", " min\n", " 0.1\n", " OK\n", - " 0.863893\n", - " 0.868421\n", - " -0.00452792\n", + " 0.710983\n", + " 0.679861\n", + " 0.0311218\n", " \n", " \n", - " 16305971\n", - " 5971\n", - " 200\n", - " 0.0334952\n", + " 38453433\n", + " 3433\n", + " 204\n", + " 0.0594232\n", + " 20\n", + " min\n", + " 1\n", + " max\n", + " 0.954642\n", + " 0.959903\n", + " -0.00526127\n", + " \n", + " \n", + " 57284327\n", + " 4327\n", + " 208\n", + " 0.0480703\n", " 40\n", " max\n", " 1\n", " max\n", - " 0.729231\n", - " 0.711169\n", - " 0.0180624\n", + " 0.737891\n", + " 0.771816\n", + " -0.0339252\n", " \n", " \n", - " 57284125\n", - " 4125\n", - " 203\n", - " 0.0492121\n", + " 59255055\n", + " 5055\n", + " 210\n", + " 0.041543\n", " 40\n", " max\n", " 0.1\n", " OK\n", - " 0.772411\n", - " 0.695713\n", - " 0.0766984\n", + " 0.802516\n", + " 0.774387\n", + " 0.0281295\n", " \n", " \n", - " 6755851\n", - " 5851\n", - " 214\n", - " 0.0365749\n", + " 19566525\n", + " 6525\n", + " 215\n", + " 0.0329502\n", " 40\n", " max\n", " 1\n", " max\n", - " 0.598853\n", - " 0.484517\n", - " 0.114336\n", + " 0.836085\n", + " 0.748185\n", + " 0.0879003\n", " \n", " \n", - " 19566054\n", - " 6054\n", + " 3241566\n", + " 1566\n", " 218\n", - " 0.0360093\n", + " 0.139208\n", " 40\n", " max\n", " 1\n", " max\n", - " 0.77925\n", - " 0.834424\n", - " -0.0551744\n", - " \n", - " \n", - " 47635628\n", - " 5628\n", - " 228\n", - " 0.0405117\n", - " 40\n", - " max\n", - " 0.001\n", - " min\n", - " 0.666018\n", - " 0.580777\n", - " 0.085241\n", - " \n", - " \n", - " 7157581\n", - " 581\n", - " 233\n", - " 0.401033\n", - " 20\n", - " min\n", - " 0.1\n", - " OK\n", - " 0.718477\n", - " 0.725228\n", - " -0.00675113\n", + " 0.925639\n", + " 0.881229\n", + " 0.0444103\n", " \n", " \n", - " 59256254\n", - " 6254\n", - " 245\n", - " 0.0391749\n", + " 16306753\n", + " 6753\n", + " 221\n", + " 0.0327262\n", " 40\n", " max\n", " 1\n", " max\n", - " 0.853584\n", - " 0.770094\n", - " 0.08349\n", + " 0.713161\n", + " 0.666864\n", + " 0.0462971\n", " \n", " \n", - " 38454604\n", - " 4604\n", - " 246\n", - " 0.0534318\n", + " 47635733\n", + " 5733\n", + " 240\n", + " 0.0418629\n", " 40\n", " max\n", " 1\n", " max\n", - " 0.912692\n", - " 0.898919\n", - " 0.0137734\n", + " 0.701727\n", + " 0.690476\n", + " 0.0112513\n", " \n", " \n", - " 10297113\n", - " 7113\n", - " 270\n", - " 0.0379587\n", + " 10295881\n", + " 5881\n", + " 267\n", + " 0.0454004\n", " 40\n", " max\n", " 1\n", " max\n", - " 0.809378\n", - " 0.799719\n", - " 0.0096597\n", + " 0.84765\n", + " 0.852951\n", + " -0.00530103\n", " \n", " \n", - " 6732623\n", - " 2623\n", - " 323\n", - " 0.123141\n", - " 40\n", - " max\n", - " 0.1\n", - " OK\n", - " 0.973517\n", - " 0.965652\n", - " 0.00786485\n", - " \n", - " \n", - " 3246885\n", - " 6885\n", - " 344\n", - " 0.0499637\n", + " 3243430\n", + " 3430\n", + " 270\n", + " 0.0787172\n", " 20\n", " min\n", - " 1\n", - " max\n", - " 0.832237\n", - " 0.806852\n", - " 0.0253854\n", + " 0.1\n", + " OK\n", + " 0.824933\n", + " 0.791842\n", + " 0.0330905\n", " \n", " \n", - " 52902972\n", - " 2972\n", - " 391\n", - " 0.131561\n", + " 71571090\n", + " 1090\n", + " 318\n", + " 0.291743\n", " 40\n", " max\n", " 1\n", " max\n", - " 0.860922\n", - " 0.842186\n", - " 0.0187356\n", + " 0.829466\n", + " 0.826603\n", + " 0.00286332\n", " \n", " \n", - " 3246784\n", - " 6784\n", + " 6734374\n", + " 4374\n", " 401\n", - " 0.0591097\n", + " 0.0916781\n", " 20\n", " min\n", " 1\n", " max\n", - " 0.876826\n", - " 0.877702\n", - " -0.000876018\n", + " 0.940301\n", + " 0.934182\n", + " 0.00611882\n", + " \n", + " \n", + " 52905130\n", + " 5130\n", + " 413\n", + " 0.0805068\n", + " 40\n", + " max\n", + " 0.001\n", + " min\n", + " 0.642355\n", + " 0.660249\n", + " -0.0178934\n", " \n", " \n", - " 6734462\n", - " 4462\n", - " 425\n", - " 0.0952488\n", + " 3246956\n", + " 6956\n", + " 414\n", + " 0.059517\n", " 40\n", " max\n", " 1\n", " max\n", - " 0.958936\n", - " 0.947685\n", - " 0.0112516\n", + " 0.876185\n", + " 0.862895\n", + " 0.01329\n", " \n", " \n", - " 38453310\n", - " 3310\n", - " 435\n", - " 0.13142\n", + " 6735286\n", + " 5286\n", + " 462\n", + " 0.0874007\n", " 40\n", " max\n", " 1\n", " max\n", - " 0.926787\n", - " 0.935612\n", - " -0.00882559\n", + " 0.941026\n", + " 0.934816\n", + " 0.00620965\n", " \n", " \n", - " 52903245\n", - " 3245\n", - " 450\n", - " 0.138675\n", + " 38455657\n", + " 5657\n", + " 467\n", + " 0.0825526\n", " 40\n", " max\n", " 1\n", " max\n", - " 0.832369\n", - " 0.849354\n", - " -0.0169847\n", + " 0.928862\n", + " 0.929254\n", + " -0.000391796\n", " \n", " \n", - " 71571871\n", - " 1871\n", - " 457\n", - " 0.244254\n", - " 20\n", - " min\n", + " 38455925\n", + " 5925\n", + " 500\n", + " 0.0843882\n", + " 40\n", + " max\n", " 1\n", " max\n", - " 0.92595\n", - " 0.937778\n", - " -0.0118286\n", + " 0.937897\n", + " 0.93447\n", + " 0.00342684\n", " \n", " \n", - " 6737306\n", - " 7306\n", + " 6736820\n", + " 6820\n", " 500\n", - " 0.0684369\n", + " 0.0733138\n", " 40\n", " max\n", " 1\n", " max\n", - " 0.912144\n", - " 0.893605\n", - " 0.0185391\n", + " 0.916291\n", + " 0.919691\n", + " -0.00340091\n", " \n", " \n", - " 38456768\n", - " 6768\n", - " 503\n", - " 0.0743203\n", + " 71572135\n", + " 2135\n", + " 501\n", + " 0.23466\n", " 40\n", " max\n", " 1\n", " max\n", - " 0.930587\n", - " 0.91884\n", - " 0.0117467\n", + " 0.887948\n", + " 0.893028\n", + " -0.00507907\n", " \n", " \n", - " 71571089\n", - " 1089\n", - " 591\n", - " 0.5427\n", + " 52905973\n", + " 5973\n", + " 510\n", + " 0.0853842\n", " 40\n", " max\n", " 1\n", " max\n", - " 0.842856\n", - " 0.788051\n", - " 0.0548051\n", + " 0.788651\n", + " 0.759414\n", + " 0.0292372\n", " \n", " \n", - " 52905297\n", - " 5297\n", - " 639\n", - " 0.120634\n", + " 71572073\n", + " 2073\n", + " 580\n", + " 0.279788\n", " 40\n", " max\n", " 1\n", " max\n", - " 0.756724\n", - " 0.742992\n", - " 0.0137313\n", + " 0.868897\n", + " 0.871555\n", + " -0.00265732\n", " \n", " \n", "\n", @@ -1411,130 +1411,130 @@ ], "text/plain": [ " num_samples num_positive balance n_components n_comp_status \\\n", - "46094258 4258 20 0.00469704 40 max \n", - "74861311 1311 20 0.0152555 40 max \n", - "47713242 3242 20 0.00616903 40 max \n", - "51591000 1000 20 0.02 20 min \n", - "238588 588 20 0.0340136 40 max \n", - "67144685 4685 20 0.00426894 40 max \n", - "4763178 178 21 0.117978 40 max \n", - "56043480 3480 21 0.00603448 40 max \n", - "3265721 721 21 0.0291262 40 max \n", - "58943535 3535 21 0.00594059 40 max \n", - "42213157 3157 22 0.00696864 40 max \n", - "4089623 623 22 0.035313 20 min \n", - "49212171 2171 22 0.0101336 40 max \n", - "2074280 4280 22 0.00514019 40 max \n", - "74902120 2120 22 0.0103774 20 min \n", - "1956605 605 22 0.0363636 20 min \n", - "1630986 986 23 0.0233266 20 min \n", - "37912902 2902 24 0.00827016 20 min \n", - "6751083 1083 24 0.0221607 20 min \n", - "5925567 567 24 0.042328 40 max \n", - "253003 3003 25 0.00832501 40 max \n", - "6721378 1378 26 0.0188679 20 min \n", - "59791939 1939 26 0.013409 20 min \n", - "40872837 2837 27 0.0095171 40 max \n", - "20641561 1561 29 0.0185778 20 min \n", - "10292674 2674 37 0.0138369 20 min \n", - "57281036 1036 41 0.0395753 20 min \n", - "60981278 1278 43 0.0336463 20 min \n", - "6732113 2113 51 0.0241363 40 max \n", - "48931568 1568 52 0.0331633 40 max \n", + "58944691 4691 20 0.00426348 40 max \n", + "74861460 1460 20 0.0136986 20 min \n", + "251283 1283 20 0.0155885 20 min \n", + "51592405 2405 21 0.00873181 20 min \n", + "4763502 502 21 0.0418327 20 min \n", + "56043310 3310 21 0.00634441 20 min \n", + "20641064 1064 21 0.0197368 20 min \n", + "1956951 951 21 0.022082 40 max \n", + "74903360 3360 21 0.00625 20 min \n", + "59791559 1559 21 0.0134702 40 max \n", + "47712813 2813 21 0.00746534 40 max \n", + "46093624 3624 22 0.00607064 40 max \n", + "67145174 5174 22 0.00425203 20 min \n", + "673774 774 22 0.0284238 20 min \n", + "40873727 3727 22 0.00590287 40 max \n", + "2074011 4011 23 0.00573423 20 min \n", + "7157331 331 23 0.0694864 40 max \n", + "60981740 1740 24 0.0137931 40 max \n", + "49211918 1918 24 0.012513 40 max \n", + "37911502 1502 25 0.0166445 40 max \n", + "42212708 2708 26 0.00960118 40 max \n", + "5728769 769 26 0.0338101 40 max \n", + "6751044 1044 26 0.0249042 40 max \n", + "6721239 1239 27 0.0217918 20 min \n", + "2381528 1528 31 0.020288 20 min \n", + "3265502 502 31 0.061753 40 max \n", + "48931566 1566 33 0.0210728 20 min \n", + "59251891 1891 37 0.0195664 20 min \n", + "10291371 1371 37 0.0269876 40 max \n", + "1630687 687 40 0.0582242 20 min \n", "... ... ... ... ... ... \n", - "59254479 4479 115 0.0256754 40 max \n", - "52901308 1308 120 0.0917431 40 max \n", - "74283073 3073 127 0.0413277 40 max \n", - "6732569 2569 127 0.0494356 40 max \n", - "74285463 5463 135 0.0247117 40 max \n", - "74286969 6969 135 0.0193715 40 max \n", - "38451520 1520 143 0.0940789 20 min \n", - "38452016 2016 154 0.0763889 40 max \n", - "7157516 516 188 0.364341 20 min \n", - "16305971 5971 200 0.0334952 40 max \n", - "57284125 4125 203 0.0492121 40 max \n", - "6755851 5851 214 0.0365749 40 max \n", - "19566054 6054 218 0.0360093 40 max \n", - "47635628 5628 228 0.0405117 40 max \n", - "7157581 581 233 0.401033 20 min \n", - "59256254 6254 245 0.0391749 40 max \n", - "38454604 4604 246 0.0534318 40 max \n", - "10297113 7113 270 0.0379587 40 max \n", - "6732623 2623 323 0.123141 40 max \n", - "3246885 6885 344 0.0499637 20 min \n", - "52902972 2972 391 0.131561 40 max \n", - "3246784 6784 401 0.0591097 20 min \n", - "6734462 4462 425 0.0952488 40 max \n", - "38453310 3310 435 0.13142 40 max \n", - "52903245 3245 450 0.138675 40 max \n", - "71571871 1871 457 0.244254 20 min \n", - "6737306 7306 500 0.0684369 40 max \n", - "38456768 6768 503 0.0743203 40 max \n", - "71571089 1089 591 0.5427 40 max \n", - "52905297 5297 639 0.120634 40 max \n", + "74281897 1897 123 0.0648392 40 max \n", + "74283618 3618 125 0.0345495 40 max \n", + "20645727 5727 126 0.022001 20 min \n", + "10291657 1657 127 0.0766445 40 max \n", + "37914907 4907 127 0.0258814 40 max \n", + "3845977 977 129 0.132037 40 max \n", + "7157214 214 145 0.67757 40 max \n", + "10293699 3699 180 0.0486618 40 max \n", + "6756299 6299 200 0.0317511 40 max \n", + "52902178 2178 200 0.0918274 20 min \n", + "38453433 3433 204 0.0594232 20 min \n", + "57284327 4327 208 0.0480703 40 max \n", + "59255055 5055 210 0.041543 40 max \n", + "19566525 6525 215 0.0329502 40 max \n", + "3241566 1566 218 0.139208 40 max \n", + "16306753 6753 221 0.0327262 40 max \n", + "47635733 5733 240 0.0418629 40 max \n", + "10295881 5881 267 0.0454004 40 max \n", + "3243430 3430 270 0.0787172 20 min \n", + "71571090 1090 318 0.291743 40 max \n", + "6734374 4374 401 0.0916781 20 min \n", + "52905130 5130 413 0.0805068 40 max \n", + "3246956 6956 414 0.059517 40 max \n", + "6735286 5286 462 0.0874007 40 max \n", + "38455657 5657 467 0.0825526 40 max \n", + "38455925 5925 500 0.0843882 40 max \n", + "6736820 6820 500 0.0733138 40 max \n", + "71572135 2135 501 0.23466 40 max \n", + "52905973 5973 510 0.0853842 40 max \n", + "71572073 2073 580 0.279788 40 max \n", "\n", " alpha alpha_status train_auroc test_auroc overfit \n", - "46094258 0.01 OK 0.803337 0.644458 0.158879 \n", - "74861311 0.001 min 0.754118 0.560811 0.193307 \n", - "47713242 0.001 min 0.820309 0.443798 0.376511 \n", - "51591000 0.01 OK 0.821189 0.816327 0.00486288 \n", - "238588 0.1 OK 0.738436 0.778509 -0.0400726 \n", - "67144685 0.01 OK 0.855238 0.689979 0.16526 \n", - "4763178 0.001 min 0.828235 0.46875 0.359485 \n", - "56043480 0.01 OK 0.830566 0.600072 0.230494 \n", - "3265721 0.01 OK 0.896243 0.741135 0.155109 \n", - "58943535 0.01 OK 0.840417 0.968706 -0.128289 \n", - "42213157 1 max 0.677348 0.411226 0.266122 \n", - "4089623 0.001 min 0.757986 0.704545 0.0534407 \n", - "49212171 0.01 OK 0.806429 0.454176 0.352252 \n", - "2074280 1 max 0.844425 0.700998 0.143427 \n", - "74902120 1 max 0.579758 0.591667 -0.011909 \n", - "1956605 0.1 OK 0.740939 0.373932 0.367008 \n", - "1630986 0.001 min 0.787879 0.704663 0.0832156 \n", - "37912902 0.001 min 0.657049 0.375347 0.281702 \n", - "6751083 1 max 0.730131 0.416981 0.31315 \n", - "5925567 1 max 0.908319 0.86055 0.0477687 \n", - "253003 0.01 OK 0.751134 0.830537 -0.0794034 \n", - "6721378 1 max 0.662482 0.678229 -0.015747 \n", - "59791939 0.001 min 0.813788 0.937859 -0.124071 \n", - "40872837 0.1 OK 0.721002 0.50373 0.217272 \n", - "20641561 0.001 min 0.882981 0.636265 0.246716 \n", - "10292674 1 max 0.81198 0.860931 -0.0489503 \n", - "57281036 0.1 OK 0.833543 0.810625 0.022918 \n", - "60981278 1 max 0.627739 0.508322 0.119417 \n", - "6732113 1 max 0.842048 0.810896 0.0311518 \n", - "48931568 0.1 OK 0.938394 0.726645 0.211749 \n", + "58944691 0.001 min 0.782923 0.74492 0.0380031 \n", + "74861460 0.01 OK 0.817329 0.600694 0.216634 \n", + "251283 0.001 min 0.800495 0.508893 0.291602 \n", + "51592405 1 max 0.761282 0.707547 0.0537348 \n", + "4763502 0.001 min 0.774203 0.25 0.524203 \n", + "56043310 0.001 min 0.765153 0.659195 0.105959 \n", + "20641064 0.001 min 0.684652 0.328947 0.355705 \n", + "1956951 0.001 min 0.909588 0.895722 0.0138656 \n", + "74903360 0.1 OK 0.702381 0.593563 0.108818 \n", + "59791559 0.001 min 0.856815 0.842532 0.0142825 \n", + "47712813 0.01 OK 0.827375 0.57737 0.250005 \n", + "46093624 0.01 OK 0.640422 0.408807 0.231615 \n", + "67145174 0.01 OK 0.696595 0.630213 0.0663813 \n", + "673774 0.01 OK 0.843964 0.817881 0.026083 \n", + "40873727 1 max 0.579837 0.584569 -0.00473223 \n", + "2074011 1 max 0.791884 0.918797 -0.126913 \n", + "7157331 0.1 OK 0.834688 0.683871 0.150817 \n", + "60981740 0.01 OK 0.713535 0.405831 0.307705 \n", + "49211918 0.001 min 0.726003 0.77467 -0.0486671 \n", + "37911502 0.001 min 0.808637 0.84527 -0.0366335 \n", + "42212708 0.01 OK 0.856765 0.472998 0.383767 \n", + "5728769 0.001 min 0.886965 0.92349 -0.036525 \n", + "6751044 0.1 OK 0.892769 0.760784 0.131985 \n", + "6721239 0.001 min 0.631297 0.685597 -0.0542992 \n", + "2381528 1 max 0.683542 0.551111 0.132431 \n", + "3265502 0.1 OK 0.972553 0.866667 0.105887 \n", + "48931566 1 max 0.876302 0.863192 0.0131097 \n", + "59251891 0.1 OK 0.749618 0.657834 0.0917835 \n", + "10291371 0.01 OK 0.601626 0.439765 0.161861 \n", + "1630687 0.01 OK 0.771639 0.667308 0.104332 \n", "... ... ... ... ... ... \n", - "59254479 0.01 OK 0.827722 0.663977 0.163744 \n", - "52901308 0.1 OK 0.876952 0.752976 0.123976 \n", - "74283073 0.001 min 0.967671 0.97539 -0.00771864 \n", - "6732569 0.001 min 0.905741 0.830429 0.0753113 \n", - "74285463 1 max 0.974953 0.949204 0.0257487 \n", - "74286969 0.1 OK 0.986278 0.940827 0.0454505 \n", - "38451520 1 max 0.876278 0.891411 -0.0151331 \n", - "38452016 1 max 0.971356 0.941019 0.0303376 \n", - "7157516 0.1 OK 0.863893 0.868421 -0.00452792 \n", - "16305971 1 max 0.729231 0.711169 0.0180624 \n", - "57284125 0.1 OK 0.772411 0.695713 0.0766984 \n", - "6755851 1 max 0.598853 0.484517 0.114336 \n", - "19566054 1 max 0.77925 0.834424 -0.0551744 \n", - "47635628 0.001 min 0.666018 0.580777 0.085241 \n", - "7157581 0.1 OK 0.718477 0.725228 -0.00675113 \n", - "59256254 1 max 0.853584 0.770094 0.08349 \n", - "38454604 1 max 0.912692 0.898919 0.0137734 \n", - "10297113 1 max 0.809378 0.799719 0.0096597 \n", - "6732623 0.1 OK 0.973517 0.965652 0.00786485 \n", - "3246885 1 max 0.832237 0.806852 0.0253854 \n", - "52902972 1 max 0.860922 0.842186 0.0187356 \n", - "3246784 1 max 0.876826 0.877702 -0.000876018 \n", - "6734462 1 max 0.958936 0.947685 0.0112516 \n", - "38453310 1 max 0.926787 0.935612 -0.00882559 \n", - "52903245 1 max 0.832369 0.849354 -0.0169847 \n", - "71571871 1 max 0.92595 0.937778 -0.0118286 \n", - "6737306 1 max 0.912144 0.893605 0.0185391 \n", - "38456768 1 max 0.930587 0.91884 0.0117467 \n", - "71571089 1 max 0.842856 0.788051 0.0548051 \n", - "52905297 1 max 0.756724 0.742992 0.0137313 \n", + "74281897 1 max 0.982454 0.940056 0.0423975 \n", + "74283618 1 max 0.984603 0.960801 0.0238016 \n", + "20645727 1 max 0.775 0.688528 0.0864719 \n", + "10291657 1 max 0.88398 0.869967 0.0140128 \n", + "37914907 1 max 0.735143 0.649446 0.0856966 \n", + "3845977 1 max 0.877724 0.809729 0.0679958 \n", + "7157214 0.001 min 0.893574 0.655172 0.238401 \n", + "10293699 1 max 0.895897 0.890191 0.0057065 \n", + "6756299 0.1 OK 0.702508 0.611045 0.0914631 \n", + "52902178 0.1 OK 0.710983 0.679861 0.0311218 \n", + "38453433 1 max 0.954642 0.959903 -0.00526127 \n", + "57284327 1 max 0.737891 0.771816 -0.0339252 \n", + "59255055 0.1 OK 0.802516 0.774387 0.0281295 \n", + "19566525 1 max 0.836085 0.748185 0.0879003 \n", + "3241566 1 max 0.925639 0.881229 0.0444103 \n", + "16306753 1 max 0.713161 0.666864 0.0462971 \n", + "47635733 1 max 0.701727 0.690476 0.0112513 \n", + "10295881 1 max 0.84765 0.852951 -0.00530103 \n", + "3243430 0.1 OK 0.824933 0.791842 0.0330905 \n", + "71571090 1 max 0.829466 0.826603 0.00286332 \n", + "6734374 1 max 0.940301 0.934182 0.00611882 \n", + "52905130 0.001 min 0.642355 0.660249 -0.0178934 \n", + "3246956 1 max 0.876185 0.862895 0.01329 \n", + "6735286 1 max 0.941026 0.934816 0.00620965 \n", + "38455657 1 max 0.928862 0.929254 -0.000391796 \n", + "38455925 1 max 0.937897 0.93447 0.00342684 \n", + "6736820 1 max 0.916291 0.919691 -0.00340091 \n", + "71572135 1 max 0.887948 0.893028 -0.00507907 \n", + "52905973 1 max 0.788651 0.759414 0.0292372 \n", + "71572073 1 max 0.868897 0.871555 -0.00265732 \n", "\n", "[106 rows x 10 columns]" ] @@ -1576,25 +1576,25 @@ " \n", " \n", " mean\n", - " 3150.92\n", - " 128.104\n", - " 0.0693938\n", - " 33.3962\n", - " 0.479868\n", - " 0.790023\n", - " 0.714858\n", - " 0.0751646\n", + " 3041.51\n", + " 124.623\n", + " 0.0639019\n", + " 32.2642\n", + " 0.484962\n", + " 0.789995\n", + " 0.722518\n", + " 0.0674771\n", " \n", " \n", " median\n", - " 2941\n", - " 93\n", - " 0.0336463\n", + " 2627\n", + " 81\n", + " 0.0318417\n", " 40\n", " 0.1\n", - " 0.80167\n", - " 0.731576\n", - " 0.0477687\n", + " 0.791884\n", + " 0.726322\n", + " 0.0456447\n", " \n", " \n", "\n", @@ -1602,12 +1602,12 @@ ], "text/plain": [ " num_samples num_positive balance n_components alpha train_auroc \\\n", - "mean 3150.92 128.104 0.0693938 33.3962 0.479868 0.790023 \n", - "median 2941 93 0.0336463 40 0.1 0.80167 \n", + "mean 3041.51 124.623 0.0639019 32.2642 0.484962 0.789995 \n", + "median 2627 81 0.0318417 40 0.1 0.791884 \n", "\n", " test_auroc overfit \n", - "mean 0.714858 0.0751646 \n", - "median 0.731576 0.0477687 " + "mean 0.722518 0.0674771 \n", + "median 0.726322 0.0456447 " ] }, "metadata": {}, @@ -1617,7 +1617,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Wall time: 37min 46s\n" + "Wall time: 31min 44s\n" ] } ], @@ -1642,9 +1642,9 @@ "outputs": [ { "data": { - "image/png": "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\nsPOgJkWtVFpauiqWKqbhvdrL3/dvYxyzQ3NXbpBJkreXpwZ2b6vq5cIkSRE/bNHCH39WclqaqpYp\noREvdpCnB7/SJGlzzCZNnzpFaampCq9QQe8PGiI/f/9ctWvxaBOFFi6c2bZr955q3qJl5vHZM2f0\nbPcumjz1U1WpWs34TjmRjVt+0qQZs5WWmqYK5ctp+MC35e/nZ1eb9PR0jf54irbv2i1JalS/rt7q\n87JMJpN+3rFTE6bNlCXdIm9PL737Zl/VqMrvwP/5ZUuM5n02TZa0VJUOr6DX3v1Avn7ZX9eSZLPZ\nNHn0MJUuF652nbtnnl+5+FutWbZEqakpCq9YWa+9O0genp551QXcpZjZ+n9FK4frjeivdW+HVo4O\nxSVdTkjSkMi1+qhnKy15t4dKFgrS5BVbsrQ5cCpWX/z4q77o114L3+mmUiEFNO37nyRJx2PjFeDj\nrai3umQ+SLSyS7p2RatnfaQ2/QbruQ8/V1DhYoqJnJOt3YVjh7Vj1QJ1GjRJPcfMUoGiJbR54ReS\npIOboxV/7pR6jP5M3UfO0Onf9uj3XzbldVec1uXriRo09ztNfLWjlo16TSVDC2rSwrVZ2hw7f1Ef\nL1ijGW9014Ihr+ilVg/pjU8jJUkfRn4vX29PfTeir+a/10sxe//Qht2HHNEVp3X5WoIGzYrUpNd7\naPlH/1HJwsGaGLkyS5tjZ2M14ZsV+uydXlo4ur9ebvuI3pg8T5L0wy97Nf+HzZo98CUtGfuWUtLS\nNG/VRkd0xenEx1/WqGFDNObD8Ypc9J1KlCipT6d+kqt2J44fV0BgoOZ9HZn5+GuilZKSoqGD3pcl\nLS3P+uUsLsdf0aBR4zVx1FAti/hCJYsX06Tps+1us+z7H3T85CktmjdbC76Ype0792jN+o1KS0vT\nO4NHaui7/bXwi1l66dmuem/4GEd00SldjY/XJ2OGa+DIcZr+9UIVLV5CX8yYetO2p44f0wdvvKqY\n9Vnft7dsWKflC6M0YtI0TZ0XqdTUFC2J+jovws9XTG5ml3o4A+eIwgk83KeHts79VjuiVjg6FJe0\n9dBJVQsrotKhBSRJ7RvU0KpfD8lms2W2qRpWWEsH9lCAj5dS0iyKvZqoIL+MT7J3HT8nN7NJvT5d\nqPYfzddna7Yp3Wp1SF+c2Yl9O1S0XCUVLFpCklSraWsd3LouyzhLUpGyFfXch3Pl5esnS2qqEuIv\n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\nMZKk2Wt+Unq6Vd+++5wWDHxOKalpmvPDT47oilO7fOWqPhg/VZOGvqMVX0xVyWJF9PHsL7O1O3Li\ntJ5/e4hWb9h8058zJ2Kxduw9aHS4Lik+MVlDv9uijzo21uJ+bVWiYICmrN2Zpc2Bs5f05ZYDmvvC\n4/q2zxMqFRyoT9fvliRNWL1dvp7uWtCnjb7o9bg2/35GGw+ddkRXnNbl64kaNPc7TXy1o5aNek0l\nQwtq0sK1WdocO39RHy9YoxlvdNeCIa/opVYP6Y1PIyVJH0Z+L19vT303oq/mv9dLMXv/0IbdhxzR\nFacVn5SikWt2aEyruorq2UzFA/00bfP+m7Y9GZ+gKZv2yWazZXvuy+2HtfvsJaPDdWkJV69o4bQP\n1eWdYer/yTwFFymm1fNnZmt35sghbVoaqd6jpuqNiXNVqFhJ/RDxeebzv/64WjMHvaZrly/mZfj5\nisnN7FIPZ+AcURhs66GTqhZWRKVDC0iS2jeooVW/Hsryplc1rLCWDuyhAB8vpaRZFHs1UUF+GZ8A\n7jp+Tm5mk3p9ulDtP5qvz9ZsU7rV6pC+uLKH+/TQ1rnfakfUCkeH4pK2/nZM1UsVVenCwZKkDg1r\na+X2A1lfx6WKaungF/98HV+5rgK+PpKkOuEl9eLj9WU2m+RmNqtyWBGdu3zNIX1xZlu271L1SuVV\numRxSVKnJx7XiuhN2f5I+mbJKrV7vKmaN34w28/YtnOvYn7ZqQ5tHsuTmF3N1iNnVa1EiEoVCpQk\ntb+volbtPZb1tVy8kL577UkFeHsqJS1dsdeTFPT/s7gHz15Sq5rl5GY2y8PdTQ0rllT0gRMO6Yuz\n2rL/iKqVKa7SRQpJkjo+fL9WbNuTZYw93d00rGdbhRYIkCRVK1NcF68mKM1i0YET59SmXq3/H2N3\nPVSzgtbsOOCQvjirbSdjVaVIQZUqmFH18lTNslr926ls7xXJaRYN/X67XnuoRrafseNUnH46fkHt\napTNk5hd1R+7f1HJ8pUUUqykJKlu87batSk621iXCK+kt6Z8JW8/f6Wlpura5Yvy9c94n7l2+aIO\n/LxZPd8bm+fx4+52VyRbF64kqGiBP0sAiwT5KyE5VYkpqVnaebi5ad3eI2o+/HPtOHpGbe+vKklK\nt1pVr2IpffpSW83p84y2HDqpb2J252kf8oOIfkO07avFjg7DZZ2Pv64iBQMyj4sUCMh4HSff5HW8\n+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\nipCQEHbt2kVISAgjRoywRV4iIiIiIiJ2zWLPVqdOnZg3b54tchERERERkTzKaHkRc/kbi8WWt7c3\nW7dupWTJkjg4pHWElSpVyuqJiYiIiIiI2DOLxVZkZCRff/21edtgMLBw4UJr5iQiIiIiImL3LBZb\nixYtskUeIiIiIiIi+YrFYqthw4YYDAbztpeXF2vXrrVqUiIiIiIikrcYjZqzlVMWi62NGzcCYDKZ\nOH78uHlbREREREREsmZx6XcXFxdcXFxwdXXliSee4OTJk7bIS0RERERExK5Z7NmaOHGieRhheHi4\neUVCERERERF5eKRqFGGOWSy2Spcubf69YsWKPPPMM1ZNSEREREREJD+w2E3VvHlzSpYsSXBwMH5+\nfmzbts0WeYmIiIiIiNg1iz1bXbp0ITk5mfDwcFJTUwkICOCll16yRW4iIiIiIpJHGE0aR5hTFnu2\noqOj+eqrr6hWrRqrV68mMTHRFnmJiIiIiIjYNYvFlpubGwD379/Hzc0t3XduiYiIiIiISOYsFlvP\nPfccM2bMoGLFirz22mu4uLjYIi8RERERERG7ZnHO1htvvIHJZMJgMPDss89SokQJALZs2ULjxo2t\nnqCIiIiIiOS+VM3ZyrFsfWnW/w8drFChgnlY4cKFC62XlYiIiIiIiJ37x99QbFJlKyIiIiIikiWL\nwwizooUyREREREQeHkajOlty6h/3bImIiIiIiEjWNIxQRERERETECv7xMMJ33nnn38xDRERERETy\nsFT1teSYxWJr9uzZfPnll+ZVCAF27txJw4YNrZqYiIiIiIiIPbNYbP3www/s2LGDAgUK2CIfERER\nERGRfMHinK3g4OB0vVoiIiIiIiJimcWereTkZJo3b0758uWBtCXfJ06caPXEREREREQk7zBqgbwc\ns1hsdezY0RZ5iIiIiIiI5CtZFlu//PILDRo04OLFixn21axZ06pJiYiIiIiI2Lssi62YmBgAIiIi\nbJaMiIiIiIjkTakaRphjWRZbLVu2BKBLly6Eh4eTkpKCyWQiPDzcZsmJiIiIiIjYQkJCAn369CEy\nMhIPDw/GjRuHr69vhjij0cgHH3xAo0aNaNeu3QOPaXHO1oABAzh8+DD3798nISGBkJAQvv3223/e\nChERERERkTxm6dKllC9fnq5du7JhwwZmzpxJaGhohrgpU6YQGxubrWNaXPr99OnTbNiwgbp167Jh\nwwZcXV1znrmIiIiIiEgeduDAAZ555hkA6tWrx+7duzPEbNy4EYPBYI6zxGLPVqFChTAYDMTHx2fa\njSYiIiIiIvlfqjH/zNlasWIFCxYsSPdY4cKF8fLyAsDDw4O7d++m2//HH3+wfv16pk6dyowZM7L1\nOhaLrSpVqvDVV18REBBAjx49SEhIyG4bRERERERE8pzWrVvTunXrdI916dKFuLg4AOLi4vD29k63\nf+3atdy6dYsOHTpw/fp1nJ2dKVasGPXq1cvydSwWWy1atCAgIAA3Nze2b99OtWrV/kl7RERERERE\n8qzq1auzbds2qlWrxvbt23niiSfS7e/bt6/592nTpuHn5/fAQguyMWdr4MCBeHp64uTkRMOGDfHz\n8/uH6YuIiIiIiL1KNZrs6ien2rVrx9mzZ2nXrh3Lly+nS5cuAMyfP5+tW7f+o3NmMJkevGD+e++9\nR5kyZShVqhQODmm1WZs2bf7Ri4mIiIiIiH2atON8bqeQIz2fKZPbKVgeRrhr1y4ef/xxIiMjAUhM\nTMzRCyTdvvbPMpNscfELJnpWv9xOI18r9NFYkm9dzO008jXnwFIAJMZG5XIm+Zurty+pp3fkdhr5\nmmPFZ9j3fMPcTiNfq7nxZzoZSuZ2GvnebNMlHh/4Y26nka8dGtUst1MQG8iy2FqxYgUrV67E3d2d\nHTvS/jgbjUZSUlLo1auXzRIUEREREZHcl59WI7SVLIutl19+mdq1azNnzhw6deoEgIODA4ULF7ZZ\nciIiIiIiIvYqy2LLxcWF4OBgRowYYct8RERERERE8gWLqxGKiIiIiIhIzllcIENERERERERztnJO\nPVsiIiIiIiJWoGJLRERERETECjSMUERERERELNIwwpxTz5aIiIiIiIgVqNgSERERERGxAhVbIiIi\nIiIiVqA5WyIiIiIiYpHmbOWcerZERERERESsQMWWiIiIiIiIFWgYoYiIiIiIWKRhhDmnni0RERER\nERErULElIiIiIiJiBRpGKCIiIiIiFmkYYc6pZ0tERERERMQKVGyJiIiIiIhYgYotERERERERK9Cc\nLRERERERsUhztnJOPVsiIiIiIiJWoGJLRERERETECjSMUERERERELNIwwpxTz5aIiIiIiIgVqNgS\nERERERGxAhVbIiIiIiIiVqA5WyIiIiIiYlGK5mzlmHq2RERERERErEDFloiIiIiIiBVoGKGIiIiI\n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\ngg==\n", + "image/png": "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\n1H7WGjWtXl61yhW96zmBO7Fab30fOzmZMm2r+2BFbRjWVR0bPa2O38y57b7IzJaN63z1erK6jp6h\nE+cvqH/7tB7DN+o+oa9aN5FrARf5eHqodYPaitp266FF9yqbbvNMvukaL9x9LO2Z/ECp236ffg0e\n1aoPXtKV62ZNYWj3bd3uZ+CtlnB+9qHK2jiqm95/+Rm9N/J7WemVvS2rHZ8tFu76U85OTnq5aunb\nfp/+jR7T6o9e0eXrZk359eBdz5kf2Gy3vg9vtwz5fY/WVPepP6lu09aaHvZFhvv49LHDmtzrYz32\nwquqWOMJQ/LmZ7k9LDDfDiMcOHCgwsPDVahQIb3++usaM2aM0bnuqiCfgrqQeC39dWzCNfm4u8rD\n9UbH3rJ9f+vg2Ti9NXWVPlmwQcmWVL01dZViE9L2W33whDrNXa9OtavqnSfvy/FzAEL8fRR701yr\nmEsJ8inoroJurunbTsTEaeefJ9NfN36yms7GXdaVq9cE+4QU8VPspSvpr2PiLsvH00MF3TNOoj5z\nIV4t+n4jZyeTInp+IJ//DddcsnG7Dp84k97OZpNcnJ1zJryDCPIuqAtJ19NfxyZek497AXnctOjQ\n8gPHdehcvFrOiFSXRZuVbElVyxmRik28pt/+PqfY/z3TC7q66PlKoTocE5/j5+Eogv19FXs5If11\n2rPDI+Oz4/xF7Tx6PP1145rVdfbiJV25el24tWCfgrp4832c8L/7+J+fLc7FqcW01eqycKOSLalq\nMW21YhOuaUv0ufTPGAVdXVS/cgn9cZ77+P9FzZ2qsZ+109jP2mlH1AolxN+Yz5YQFysPT2+5untk\n2Ofi2dM6fujGL7eq13lRl2LP63pS2v2/d/MaTR/wueq1aK/aTVrmzIngnmd3yVeyZMm0lV38/eXp\nmXn1l7zs8dLB2n/mok7Epf3P9sOuY3q6fMaeqemt62leuxc1u219jXrjabm5OGt22/oK8PZQ1B8n\nNSxyp8Y0q60X7i+ZG6cA6InKZbQ3+oyOx8RJkhZs3Kk61SpkaBN7OVFfTFms+MS0OYXLf9+vckUD\nmHuRDU8+UFF7jx7X8bOxkqR5Ub+qbo0qGdpcSkxSmwFjVe+RqhrWuZXcXW98aD166qy+XfCzUq1W\nXTebNWf1Jr3wRMa5Gve6x0oFav/ZOJ2IT3smL9oTrVplMz6TI1rU1Zw29TSz1XMa2eQpubk4a2ar\n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\nvcbHy0sN69XWkeP580PqzOmf6LVXW+q1V1vqu2XfKi4uzrotNjZG/v7+8vKyvQeHhoXdsd3p06d0\n4cIFTZk8Ua+92lJLlyzWurVrNHrkCCVdv66fN/z1jGiFihVVtlw5nTjxu/EHmUsVKeSnuGvJ1uWY\nq0ny9yogrwLu1nXn4hK199QF63LjRx/QxYTrunbzlpbvOqrjF/76d7BYLHJzzR0fXHKLIkGFFZtw\n1bp8+Uqi/H295f1fk5BciI1XmwEfyNXVRXNH9pL/33rIV27aqTeHT1Gvtk3VuXnDHMuemxUJC1Xs\n3+4BMbGx8vf3l/ff7hX3arNl23bFxMZKkry9vfV8g2d19Ldjunb9umZ/Ptf2Cx2LRW5u+WaQFxzE\nrmIrMTFRzZs3l5ubm6pVq6Z0Jxm3Xbv563pj7Ey9MXam2o74UBdOHFX8pT8lSfvWL1eZ6o9n2icp\nMV7ffTRaN65n3ECPbNmgoIgS8vLzV/lH/6Vjv/6i1JTbslgsOr5ri4qUKpejx5RbPV6xlA6cvqCz\nMRkfMr/ZtEdPPWh7bmKvJunfn32rhKQbkqQVvx5SmfBgBTDrIHKRJx55SAeOHtPZPzM+hEb/sEb1\nnnjU7v3X/LxZn8xbKIvFopSUVK35eYtqPpw/v63u3LWb5i+I1vwF0fps7jwdOnhQ585l9DYtXbxY\ntevUzbRPzccev2O7KlUf1A8rV1tfr2mz5qr/bAMNGjpMLq6uiho5XPv37ZMknTp5UmfOnFGlylVy\n7Fhzm8fLFdeBs5d0NjZRkrR420HVrVzKpk3ctWT1m79KCUkZX3it3HNMZcICFeDjpROX4vXJ6u1K\nS0/XrVSzFm45oGcfKpvjx5Gb1XroAR04fkpnLlyWJEWv+UX1Hn3Qpk3i9WS1HzxB9R97SBN7d7KZ\naXDN1t0a82m0Ph3WXS/8y/57TF73+GM1deDQIZ09d06S9M2SpXqqTm2726z9cZ1mzPr0P/fgFK35\ncZ1qPvKIfLy9Ff3NYq3b8JMk6ehvx3Tw8BHVeiLzZ0HgfrK7nD95MuOb2UuXLmUa9uEMfAoWUsPO\nfbRs6iilmVNVKCRcjbr+W5J08dQxrZ49SW+MnamIClX0ROPWWhDVRy4uLvItFKimPYdLkh5+5kXd\nTLquLwZ1k8WSrtASZVSvTWcHHlXuEejvo1HtXlDvWUuUmpamiKBCGv36Szp89oKGz1+hbwZ1UvWy\n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\n1af7u/Lx8VWVqg8qKChIC+bP1/atW5SamqJXX2un4pGROXqMTotntrLNrjN2+fJlnThxQqdPn9bA\ngQN19OhRo3PdV+n/9U3I/3Nxzd4F88W3K9Xl1Sb3I1KeY0m/yzl2MWVad+PWbfWaOk/nLsdpZKeW\nkqQW9R7XwPZN5eHuJn8fL7VvWEfrdx40NLOzsVju3NPn4pK963jcwJ7avGyerl6/rulfLrof0YBs\nSb/r/YJf4vfLXX/v3eEc37h1Wz0/mKFzF2M18p32RkfLM+56Hdv52aJfpzYymUxq+s4gvTtqsp54\nuLLc3fLFd+BZuutniv8qRu/V7uUmTdWrbz95eHjIz89Prdq8po0/b5DZbNaF8+fl4+ujmZ/P1cgx\n7+vDSRP129Ej9/04AMnOYqt3796Ki4vT5MmTVatWLY0ZM8boXPdVkeBAxf5tzPnluHj5+/rI29Pz\nHnvZOnLitNLS0lWjakUjIjq9IkEBik28Zl2Oib8qfx8veXsWsGl3IS5BbYZ/KFcXk+YM7iZ/n4xv\nWL/ftEvHzl2wtrNYxDd8/6VISLBiryRYl2Nir8jfz1feXvZdx5t37lVMXLwkycfLSw3r1daR4ycN\nyQrcS5HQYMX9/VqOi8vWtYysFQkurNiEq9bly1cS5e/rnfmeHHtFbfqNlauLi+ZG9ZG/b+bJHXBn\nRUIyf7YomI3PFkk3bqrPm6/qhxnj9PmYATKZXFQ8PDTrHfOo2TM+UfvWLdW+dUv98N23iouLs26L\njY2Rn7+/vLxsJ3gJDQu7a7tVK5brxO/HrdssFovc3NwUFJzxuEOjF16SJBWLKK6qDz2kI4fvPKoJ\n+F/ZVWyZTCbVqFFD165dU6NGjZzu28da1avqwG+/68z5i5Kk6BXrVO/xR7L1GrsOHlXNByvJZMrc\nUwPpiSrldeD3szp7MVaSFL1+q+pVr2zTJjEpWa+P+ljP1KiqCe+1k6eHh3Xb739e1LRvVistPV23\nUlK0YO1mPff4Qzl6DLndE488pANHj+nsnxlFafQPa1TviUft3n/Nz5v1ybyFslgsSklJ1Zqft6jm\nw1WNigvc1RM1qmn/kd909s/zkqTo71eqXq07PyuLf6bWQ5V04NhJnfnPTLrRq39WvUdt76mJ15PU\nfuB41X+8mib27SzPAh53eincRa1qVbT/txM6c/6SJCl65XrVe9z+iZ2iV67XR18uliTFJVzV4tU/\n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\n7Oxs5gwREREREclvUrVkK8fMJltBQUFMnDiRqlWrcvToUYKDg60Rl4iIiIiIiE0zu2Zr3LhxBAUF\nceDAAYKCghgzZow14hIREREREbFpZme2evTowcKFC60Ri4iIiIiI5FHa+j3nzCZbXl5ebN++ncce\neww7u7SJsMcff9zigYmIiIiIiNgys8lWREQEixcvTj82GAwsXbrUkjGJiIiIiIjYPLPJ1hdffGGN\nOERERERERPIVs8lW/fr1MRgM6ceenp5s2LDBokGJiIiIiEjeYjRqzVZOmU22vv32WwBMJhMnT55M\nPxYREREREZGsmd363cnJCScnJ5ydnXnmmWc4ffq0NeISERERERGxaWZntqZMmZJeRhgWFpa+I6GI\niIiIiDw6UlVFmGNmk60SJUqkf1+uXDlq165t0YBERERERETyA7PTVK+88gqPPfYYgYGB+Pn5sXv3\nbmvEJSIiIiIiYtPMzmz17NmT5ORkwsLCSE1Nxd/fn5dfftkasYmIiIiISB5hNKmOMKfMzmxFRkay\nYMECKleuzLp160hMTLRGXCIiIiIiIjbNbLLl4uICQHx8PC4uLhk+c0tEREREREQezGyy1ahRIz77\n7DPKlStHmzZtcHJyskZcIiIiIiIiNs3smq3XXnsNk8mEwWDghRdeoHjx4gBs27aNhg0bWjxAERER\nERHJfalas5Vj2frQrD9KB8uWLZteVrh06VLLRSUiIiIiImLj/vEnFJuU2YqIiIiIiGTJbBlhVrRR\nhoiIiIjIo8No1GRLTv3jmS0RERERERHJmsoIRURERERELOAflxF27dr134xDRERERETysFTNteSY\n2WRrzpw5fP755+m7EALs27eP+vXrWzQwERERERERW2Y22dq8eTN79+7F1dXVGvGIiIiIiIjkC2bX\nbAUGBmaY1RIRERERERHzzM5sJScn88orr1CmTBkgbcv3KVOmWDwwERERERHJO4zaIC/HzCZb3bp1\ns0YcIiIiIiIi+UqWydbOnTupV68ely9fznRftWrVLBqUiIiIiIiIrcsy2YqKigIgPDzcasGIiIiI\niEjelKoywhzLMtlq0aIFAD179iQsLIyUlBRMJhNhYWFWC05ERERERMQaEhISGDBgABEREbi7uzNp\n0iR8fHwytTMajbz99ts0aNCA9u3bP/Rnml2zNXjwYI4dO0Z8fDwJCQkEBQWxevXqf94LERERERGR\nPGbFihWUKVOGXr16sWnTJmbNmsXQoUMztfvkk0+4d+9etn6m2a3ff/31VzZt2kStWrXYtGkTzs7O\nOY9cREREREQkD/vxxx+pXbs2AHXq1OHgwYOZ2nz77bcYDIb0duaYndkqWLAgBoOB+/fvP3AaTURE\nRERE8r9UY/5ZsxUSEsKSJUsy3Obr64unpycA7u7uxMTEZLj/3LlzbNy4kenTp/PZZ59l63HMJlsV\nKlRgwYIF+Pv7069fPxISErLbBxERERERkTyndevWtG7dOsNtPXv2JC4uDoC4uDi8vLwy3L9hwwZC\nQ0Pp0qULN2/exNHRkWLFilGnTp0sH8dsstW8eXP8/f1xcXFhz549VK5c+Z/0R0REREREJM+qUqUK\nu3fvpnLlyuzZs4dnnnkmw/0ffPBB+vczZszAz8/voYkWZGPN1pAhQ/Dw8MDBwYH69evj5+f3D8MX\nERERERFblWo02dRXTrVv357z58/Tvn17Vq1aRc+ePQFYtGgR27dv/0fXzGAyPXzD/DfffJOSJUvy\n+OOPY2eXlpu1bdv2Hz2YiIiIiIjYpql7L+Z2CDnyXu2SuR2C+TLCAwcO8PTTTxMREQFAYmJijh4g\nMSbqn0Um2eLsWYDoBZm3pJR/j/ebY0k9vSu3w8jX7MvXBcB46WjuBpLP2ZWoSsLm2bkdRr7m0uQd\ndlSultth5Gv1jx+mh+Gx3A4j35tjusLTQ7bkdhj52s/jGud2CGIFWSZbISEhrFmzBjc3N/bu3Quk\nfYBXSkoK/fv3t1qAIiIiIiKS+/LTboTWkmWy1axZM2rUqMHcuXPp0aMHAHZ2dvj6+lotOBERERER\nEVuVZbLl5OREYGAgY8aMsWY8IiIiIiIi+YLZ3QhFREREREQk58xukCEiIiIiIqI1WzmnmS0RERER\nERELULIlIiIiIiJiASojFBERERERs1RGmHOa2RIREREREbEAJVsiIiIiIiIWoGRLRERERETEArRm\nS0REREREzNKarZzTzJaIiIiIiIgFKNkSERERERGxAJURioiIiIiIWSojzDnNbImIiIiIiFiAki0R\nERERERELUBmhiIiIiIiYpTLCnNPMloiIiIiIiAUo2RIREREREbEAJVsiIiIiIiIWoDVbIiIiIiJi\nltZs5ZxmtkRERERERCxAyZaIiIiIiIgFqIxQRERERETMUhlhzmlmS0RERERExAKUbImIiIiIiFiA\nki0REREREREL0JotERERERExK0VrtnJMM1siIiIiIiIWoGRLRERERETEAlRGKCIiIiIiZmnr95zT\nzJaIiIiIiIgFKNkSERERERGxAJURioiIiIiIWSojzDnNbImIiIiIiFiAki0RERERERELULIlIiIi\nIiJiAfl2zdaeffv4dOZskpKSKFO6FKOGDcHDwyNbbWJiYxkxeiyXr1zFZDLy36ZNeeP1zgBER0cz\n4eMpXLp0mYTERLq98TqvNG2SG13Mc/Zd/I1Ze06QlJJKKf8CDP1PVTycHR/Ydtf5m4zadJidfVsA\nEJuYzNgtR7hyNwaTyUSTio/RpXo5a4ZvE3YfPcG0ZetJSk6hTPFijO3ZGQ831wxtvt71A4u++h4A\nV2cnBr/VloqlHiMhMYkx81Zw8sIVjCYTlUs/zrC32+Pi7JQbXcnTdh3+mWmLVpGUnELZx4MY27cb\nHu5umdqZTCYGT51L6eJBvNGqKQBRMbGMmrmQXy9ew9XFmZYv1qFjs5es3YU8b8+py0zftJ+klFTK\nFPVjZLuGeLg4Z2izYu8xVu8/jsFgIMjPm+FtGuLrmfH30G/hNxTy9mDwq/WsGb5N8K1dk5J93sXg\n5ETcuQucGTGW1Li49PsLv9KEoE4d0o8dPD1w9vdn/4svk3z3bvrtFadOIik8nHMTJls1/vyky6LJ\n3Dp5lu+nzM/tUGxWrbKF6NWoDE72dpy/HcOo9SeJS0zJ0Oblp4rSsdbj6ccezg74e7vwn0k7uRuX\nBECAtwtLe9Sg7Yx9RN1Ptmof8oNUk9Zs5VS+nNm6GxnJsFFjmfrRBL5ZF0JgsWJ8MnNWttt8Nnsu\nAQH+rF+9guVLF7N67Tp+OX4CgKEjxxDg78/q5V8wb9YMJk6eyu3QUKv3Ma+JvJ/ImC1HmNisBmu6\nNaaYtzuf7T7xwLbX7sYwfecvGP/yH3bO3pP4e7qx8o2XWNypIet+vsjxmxHWCt8m3I2OYciMJXzy\nQXc2fzaaoMJ+TP1ifYY2l2/eZvLStcwb1pv104bRvXUTek+aA8DcNZtJNRpZP20YG6YNJzEpmflr\nv82NruRpd6PuMWTqPD4d2pctn08msLA/UxatytTu4rWbdB00nm/3Hspw+8S5y3BzcWHj3I9YOW0U\ne47+ws5DP1krfJtwN/Y+w1duZUrXpnw9uAvFfL34dOP+DG1OXw9l6c4fWdqnLesGdiLYrwCfbTmQ\noc2i7Uf5+dIta4ZuMxwLFuCJMcM48d6HHPpva+Jv3KRk3/9laHP7m80cadORI206crRDF5LuRHBu\nwscZEq3grp0oUOUpa4efbxQuV5K+25fzTJumuR2KTSvo5sSolpUYsPxnWnyylxuR8fR+qUymdhuP\n3aLdzP20m7mfjrMOEBGbyKRvTqcnWi8/VZSF3arj7+Vi7S7IIyxfJlsHfzhExfJPUDw4GIA2rVqy\necu3mP7y4v5hbQa+/x79+/QG4M6dOyQlJeHh4U50dDQ/HD5Mj7ffAqBwQABfLl6It7e3lXuY9xy6\nfJvyhQsS7OMJwKtPl+Tb01czXHOAhOQURmw6TN96Gf9492/wFL3rVQbgTlwCSanGLGfFHlX7j52m\nYuniPFY0AIB2/3mBjXsOZbjGTo4OjHm3M4V80sZkxZLFuRN1j6TkFKpWKEOPVk2ws7PD3t6OJ0oE\ncStcCe3f7f/pBBXLlOCxYoUBaP9yQzbu3J9pLC/f+D0tXqzDf2pXz3D7qQuXadagFvb2djg5OvBC\ntafYuu+w1eK3BQfPXqNiUADFCxUEoE3Nymz+8dcM17h8UABfD3kdT1dnEpNTCIuOpYD7n7O4h89f\nZ/+vV2j1fCWrx28LfGpU597J08Rfuw7AzdVrKdzkP1m2L961C0l373JrzZ9v4BR49hl8a9bgZsg6\ni8ebX9X9X2cOLgrhx9WbcjsUm/ZcaT9O3YzmWsR9AEIOXaPxk0Ufes7rdUpwNy6JtUfS/g8U8nSm\nbvkAei350eLxivxVjsoIk5OTcXTM+y+Ab4eGUjggIP04wN+f2Lg44uLi0ksJzbVxcHBg0LARfL99\nB/XrvsBjxYtz+syv+Pn58sWy5ew7cJCk5CS6dHyNx4oHW72PeU1oTDz+fynv8fd0JS4phbiklAxJ\n04TvfqTFkyUo5Z8xQTUYDDgYDAzfeIgdZ29Qt3Qxiv+euEma23ciKezrk34c4FuQ2PsJxMUnpJcS\nFvP3o5i/H5BW4jZpUQj1n30SJ0cHaj5VPv3cm2ERLP1mO6Pe6WjdTtiA23ciKFLoL9fZz4fY+/HE\n3Y/PUEo47N3XAfjh2KkM51cuW5Kvtu/j6fJlSEpO4fv9R3Cwt7dK7LbidmQMAQX+/P8d4O1JbEIS\ncYlJGUoJHe3t2XHiAqNWbcPRwZ53G9cAICw6lo/W72Z29xasOXjc6vHbApfCASTeDks/TgwNw8HT\nA3t39wylhACOBbwJ6tKBI207p9/mVMiPMgPf41iP3hRr3dJqcec3K3uNAKBcg5q5HIltK+ztQmh0\nQvpx2L0EPF0ccXd2yFRKCFDAzZFOtR6n/Wd/zpiHxyTy/vKfrRJvfqat33PO7MzW6tWrmTRpEgDd\nu3dnw4YNFg/q/8uYxUCw+8sLnuy0mTBmFHu2fce9e/eY8/kCUlJSuHnzFu4e7ixdOJ+Pxo/l46mf\ncPrMmX+3AzbImEUNr73BkP79mp8vYG9nx38rP/7AtgCjX67O1l7NiE5IYsGB0/96nLbMaDI+8HY7\nu8z/je8nJNLv43lcux3O6P91ynDfqYtX6TTkYzo0qUvdZytbJFZblvVzQ/YKAQZ2ew2DwUDLnkPo\nNWYazz9dEUeHfLs89h/5+yzhH+wMma9x/Uql2D22B++89BzvzFlPUkoKA5duYUCLFyjk7W7pUG3X\nA54XAEzG1Ey3FW3Vgjs795BwM60k0+BgT8WPxnH+o2kk3dHst+S+v7yUyCCrF/4tnw1i15lQbkXG\nWzAqkewx+wpgxYoVhISEADB37lw6duxI8+bNLR7Y/0eRwgGcOHky/TgsPBwvLy/cXF2z1Wb/wR8o\nXaok/oUK4ebmRuOXGvH9jp00e/llAJq9nFZ7HRwUxNNPPcmJU6cp/8QTVupd3lTYy41Tv/1Z5x8e\nE4+XiyOuTn8OsY0nrpCQkspri7eSkmok8ffvP3m1NhfuRFPKz5tCnq64OTnw0hPB7Dh3Ize6kmcV\n8fPh+Lkr6cehEVF4ebjh9rdNBW6F3+V/4z+jRGBhFo9+L8MGGJv3HmH0vOUM7dael+tUs1boNqWI\nvy/Hz15IPw69cxdvD3fcXLJX4x97P57332xPAc+0WfT5q78huGiAmbMeLYULenLi2u3047DoWLzc\nnHH7yyz4tfAo7sTEUaVEMQCaV6/A2JAdnLoWxs270UzZsBuAOzH3MRpNJCWnMLLdi9btSB6W8Ntt\nvCpVSD929i9EcnQ0xviETG39X3qR8xP/3PzCs3x5XIoVpdT7fQFw8vPFYGeHnbMzv44cZ/ngRYB3\nGpTmhSf8AXB3duBCaEz6ff5ezkTfTyIhOfObBwAvVSrCRxv1RrjkDWbfqrWzs8Ph93dlHR0dMWT1\n9kIeUuO56hw/eZKr164BELJ2HfVeqJ3tNlu/38aceZ9jMplISkriu++3Ub1qVQKLFeWJcmX5euNm\nACIiIvjl+AkqPOKJFkD1xwI4eSuCa3fTngzXHbtEnVLFMrRZ3LkhK994iS9fb8S0VrVxdrDny9cb\nUcjTlW2/XufzA6fTrnlKKtvOXqdqsH9udCXPqvlUeY6fu8SVW2kbsqz6bg/1qz2ZoU1UTBxdhk6m\n4XNPMaV/twyJ1ncHfmT856v4fEQfJVoPUbNKJX759QJXbqYlA6s2b6d+jWeyff6qzduZ8cUaAO5E\nRrPm2528XPd5i8Rqq2qULc7xK7e5Gh4JQMiB49StWDJDmzv34hi4dAuRsWnvTG/+8VdKFfHl6RJF\n2TriLVYP6MjqAR1p/XwlGj1dRonW39w9eAjvyhVxDQ4CoGjrltzZuSdTOwdPT9yCA4n+5c9yzHvH\nT3Cg0Svpm2fcCllH2HffK9ESq5q9/Xz6Zhed5xykUlABgn3TSrlbVQtm15mwB57n6eJAkK8bv1yL\ntGa4IlkyO7PVoEEDOnToQOXKlTl16hT169e3Rlz/L74+PowZPoz+AweRnJxCUGAxxo0awanTZxg5\ndhwhy5dl2Qagf78+jB0/kZZtO2AwGKhftw6vtW8LwCeTP2LcpI8JWbcOo9FE97feoGKF8g8L55Hg\n4+7CsMbP8uFXB0lJNVKsgAcjm1bj9G93GffdUb58vdFDz+9b70kmbv2J9ou2YgBeKF2MdlVLWyd4\nG+FbwIuxvbrQ7+N5aWO2cCEm9OnKyQtXGPbZF6yfNoyV3+7mtzt32fbDMbb9cCz93EWj+jFt2QZM\nmBj22Rfpt1cpV5Jh3Ts86OEeWb4FvBnXrzt9x31KckoKQUX8mfj+O5w8d4lhn85n/WcTHnr+223+\ny8DJs3mlx0BMJhP/69iSSmVLPvScR42vpxuj27/I+4s3kZySSqBfAcZ1eIlT10IZtep7Vg/oSJWS\nxej24rO8+dkaHOwMFPL2YNobr+R26DYj+W4kZ4aNoeKUidg5OhB//Sanh4zEs/wTlBs5hCNt0tZr\nugYHkhh+B1PKg2cIRPKCyLgkRq49wcftn8bB3o4bd+8zbE3aGwTli3kxvEUl2s1MW58V5OtOeEwi\nKVpbZBFas5VzBlNWxfN/cebMGS5fvkyJEiUoVy5nn32UGBP1j4MT85w9CxC9YGhuh5Gveb85ltTT\nu3I7jHzNvnxdAIyXjuZuIPmcXYmqJGyendth5GsuTd5hR2XNHFtS/eOH6WF4LLfDyPfmmK7w9JAt\nuR1GvvbzuMa5HUKOvbnStjYZWdDu6dwOwfzM1u3bt5k9ezYXLlzg8ccfZ9CgQQQGBlojNhERERER\nEZtlNtkaOnQo7du359lnn+Xw4cMMGTKEJUuWWCM2ERERERHJI1RGmHNmN8hITEykQYMGeHl50bBh\nQ1JTVdctIiIiIiJijtlkKzU1lbNnzwKk/ysiIiIiIiIPZ7aMcNiwYQwePJjw8HD8/f0ZO3asNeIS\nEREREZE8JNVozO0QbI7ZZOvAgQOsXbvWGrGIiIiIiIjkG2bLCHfv3q11WiIiIiIiIjlkdmYrMjKS\n2rVrExgYiMFgwGAwsHLlSmvEJiIiIiIiYrPMJltz5syxRhwiIiIiIpKHaev3nDObbK1fvz7TbT17\n9rRIMCIiIiIiIvmF2WTLz88PAJPJxOnTpzFqFxIRERERERGzzCZb7dq1y3D81ltvWSwYERERERHJ\nm1RGmHNmk63Lly+nfx8eHs6tW7csGpCIiIiIiEh+YDbZGj58ePr3zs7ODBw40KIBiYiIiIiI5Adm\nk60vvvgiw3FycrLFghEREREREckvzCZbK1euZNGiRaSkpGAymXB0dOS7776zRmwiIiIiIpJHpGjN\nVo7ZmWvw5Zdf8sUXX1CnTh0mTJhAyZIlrRGXiIiIiIiITTObbPn7++Pv709cXBzVq1cnJibGGnGJ\niIiIiIjYNLNlhJ6enmzbtg2DwcDKlSuJioqyRlwiIiIiIpKHaOv3nDM7szV27FiKFi3Ke++9x5Ur\nVxg6dCgASUlJFg9ORERERETEVplNtjw8PChfvjwBAQF8+OGHVK9eHdCHG4uIiIiIiDyM2TLCrJhM\nmkYUEREREXlUqIww58zObGXFYDD8m3GIiIiIiIjkK/842RIREREREZGs/eNkS2WEIiIiIiIiWTO7\nZuv27dsULlw4/fjSpUuUKFGCUqVKWTQwERERERHJO7RmK+eyTLbOnTtHaGgokydPZsCAAQCkpqYy\ndepUvvrqK0aMGGG1IEVERERERGxNlsnWvXv32Lx5MxEREWzatAlI2xSjQ4cOVgtORERERETEVmWZ\nbFWtWpWqVaty6tQpKlSoAIDRaMTOTntqiIiIiIg8alRGmHNmM6eLFy+yadMm1q9fT61atViwYIE1\n4hIREREREbFpZpOtpUuX8vzzz/P111+za9cudu7caY24REREREREbJrZZMvZ2RkAd3d3nJycSElJ\nsXhQIiIiIiIits7s1u/BwcG0bduWQYMGMXPmTMqWLWuNuEREREREJA/Rmq2cM5tsTZgwgbi4ONzd\n3alYsSKFChWyRlwiIiIiIiI2zWyydf78eUaMGMG9e/f473//S+nSpalXr541YhMREREREbFZZtds\njR07lgkTJlCwYEFatWrFjBkzrBGXiIiIiIjkISajyaa+8oJsfWhW8eLFMRgM+Pj44O7ubumYRERE\nREREbJ7ZZMvb25uVK1cSHx/Ppk2b8Pb2tkZcIiIiIiIiNs3smq0yZcpw8+ZNfHx8OHnyJD4+PtaI\nS0RERERE8hBjHinNsyVZJlshISGsWbOGixcvUrJkSQCOHj2qz9kSERERERHJBoPJZHpgipqUlERY\nWBhz586lR48eANjZ2eHr64uTk5NVgxQRERERkdxV75M9uR1CjuzsWye3Q8h6ZsvJyYnAwEDGjBnz\n/3qA786G/b/Ol4d7qaw/q4/fyu0w8rU2lYuSGBOV22Hka86eBQCIiLmfy5Hkb76ebiw8ei23w8jX\n3qgazF2NY4vy8XTj6SFbcjuMfO/ncY3pYXgst8PI1+aYruR2CGIFZtdsiYiIiIiIZFEQJw+Rra3f\nRUREREREJGeUbImIiIiIiFiAyghFRERERMQsk7Z+zzHNbImIiIiIiFiAki0RERERERELULIlIiIi\nIiJiAVqzJSIiIiIiZhm1ZivHNLMlIiIiIiJiAUq2RERERERELEBlhCIiIiIiYpbJmNsR2B7NbImI\niIiIiFiAki0RERERERELUBmhiIiIiIiYZTJpN8Kc0syWiIiIiIiIBSjZEhERERERsQAlWyIiIiIi\nIhagNVsiIiIiImKW0ag1WzmlmS0RERERERELULIlIiIiIiJiASojFBERERERs0wqI8wxzWyJiIiI\niIhYgJItERERERERC1CyJSIiIiIiYgFasyUiIiIiImZpzVbOaWZLRERERETEApRsiYiIiIiIWIDK\nCEVERERExCyjSWWEOaWZLREREREREQtQsiUiIiIiImIBKiMUERERERGztBthzmlmS0RERERExAKU\nbImIiIiIiFiAki0REREREREL0JotERERERExS2u2ck4zWyIiIiIiIhagZEtERERERMQCVEYoIiIi\nIiJmGVVGmGOa2RIREREREbGAR2pm69SRA3yzdC4pKckULV6S9r0/xNXNPVO7Izu/Y/v6FRgMBhyd\nXWjVrQ/BpcthTE0lZO40Lpw6BkCFZ2rQrOu7GAwGa3clzzr740G+X/45KcnJFPU4gyMAACAASURB\nVC5egubvDMDlAdf4hy3rObz1KwwGAz4BRWnW4308vAuSnJjIxgWfcOPCWUwmI0Gln+DlN/vi6Oyc\nC73JG/bs28enM2eTlJREmdKlGDVsCB4eHtlqExMby4jRY7l85Somk5H/Nm3KG693BmDXnr0MHTma\nIoUD0n/O4vlzcXfP/Pt6FOzft5c5M2eQnJREydKlGTxsBO5/u87m2jVpWI9C/v7pbTt06sJLjZtw\nLzqaqR9P4vKlSyQmJtLljTdp3PRlq/Utr7r48yF2r1pAakoyhYIep3G3/jg/4Pnix60b+HnbRgwG\nAwX8i/Cft/rh7l2Q9Z+MJir0Znq7qPDbBD9RmVf7j7FmN/Kc/fv2MvsvY3TIQ8ZyVu0a/20sv/b7\nWP7DN19tYPeunUye9qnlO5TH1SpbiF6NyuBkb8f52zGMWn+SuMSUDG1efqooHWs9nn7s4eyAv7cL\n/5m0k7txSQAEeLuwtEcN2s7YR9T9ZKv2Ib/osmgyt06e5fsp83M7FJF0j8zMVkx0JF9On8Abg8Yy\ndPZyfAsX5ZslczK1C71xja8Wz+KdkZMZ+OkiXmrTmQUThgBwZNd3hN28zqDpS/jw08VcOHmMY/t3\nWbkneVdcdBTrZ31E+/dH0Xf6UgoGFOH7L+dlanfz4ln2f7OKt8fOpNfURfgWCWT7yoUA7F63jNTU\nVP43+XN6Tl5AclISe9Z/ae2u5Bl3IyMZNmosUz+awDfrQggsVoxPZs7KdpvPZs8lIMCf9atXsHzp\nYlavXccvx08A8Mvx43Tp+Bohy5elfz2qiVZk5F3GjRrB+I8+ZuW6DRQtFsismdNz1O7qlSt4enmx\nZPmq9K8/XpyOHTmcQv4BLFm+kumz5vDJ5I8ICw21ah/zmvv3otg8bzLN+w6n2+RFFPAvwu5VCzK1\nu335HIc3raHTyE95c9J8ChYuxt41SwBo0Xc4XSfMpeuEufznrfdwcfPgxdd7WbsrecofY3TCRx+z\nat0GipkZyw9q98dYXrp8VfrXH2M5OjqaSePHMvXjSZhMKicq6ObEqJaVGLD8Z1p8spcbkfH0fqlM\npnYbj92i3cz9tJu5n46zDhARm8ikb06nJ1ovP1WUhd2q4+/lYu0u5AuFy5Wk7/blPNOmaW6HIpLJ\nI5Ns/frzEYJLl8O/aBAAtRo35+ju7zP9sXBwdKR9z4F4+/gBEFyqHPei7pKSnIwx1UhSYjwpKcmk\nJCeRkpKMg5OT1fuSV104foRiJcviWyQQgGqNmvHL3u2ZrnGxkmXpO30ZLu4eJCclce/uHdw8vQB4\nrHxl6r7aCTs7O+zs7SnyeCmi7jy6L0oP/nCIiuWfoHhwMABtWrVk85ZvM1zTh7UZ+P579O/TG4A7\nd+6QlJSEh0daQnXs+AkOHz1K246d6fLW2xz96Wcr9y7vOPzDDzxRvgJBwcUBaNmqNVu3bMk0dh/W\n7sTxX7Czs6dn9250ateGhfPnkpqayr3oaA4fPsSbb78NgH9AAPMXf4GXt5d1O5nHXD7xI4VLlMGn\ncNrzxdMNX+HU/szPF4UfL8PbUxbj7OZOSlISsZF3cPXwzNAmNSWZTXM+okGnd/Dy9edR9qAx+l02\nx/J3fxvL/+vejY7t2rDg97EMsP37rfj5FaJX337W7Vge9VxpP07djOZaxH0AQg5do/GTRR96zut1\nSnA3Lom1R64DUMjTmbrlA+i15EeLx5tf1f1fZw4uCuHH1ZtyO5R8z2Qy2dRXXpCtMsITJ05QqVKl\n9OPDhw9TrVo1iwVlCVF3wijo92e5VAG/QiTcjyMh/n6GUkLfgCL4BhQB0gbU+gUzqFitJg6OjlRv\n0Jif9+9k2OstMBpTKfdUNSpVq2n1vuRV0XfC8fb784WOl28hEuPjSIy/n6mU0N7BgdOH9/HVnI+x\nd3CiQduuAJR68tn0NlHhtzm4aS3Nuve3TgfyoNuhoRQO+HPcBvj7ExsXR1xcXHopobk2Dg4ODBo2\ngu+376B+3Rd4rHjai6sC3t683KQxDerV5adjx+jTfwAhy5dl+FmPitDQ2wT8pd+F/P2Ji4vlflxc\nhvKrh7VLTU3l2erV6dmnH4mJibzfpxfu7h5Uqvwkfn5+rFi2jB8O7Cc5OYn2HTsT/Pvv4VEVExGO\nl0+h9GNPn0Ikxd8nKf5+plJCewcHzh3dz7fzp2Lv6EitVl0y3H9817d4FPSlzLO1rBJ7XhYaehv/\nbI7lrNqlpqZS7S9juf/vY7ldh9do2ao1AJu++dp6ncrDCnu7EBqdkH4cdi8BTxdH3J0dMpUSAhRw\nc6RTrcdp/9n+9NvCYxJ5f/mj+2bXv2FlrxEAlGug12SS9zx0Zuvo0aOsXLmSAQMGsGrVKlatWsXy\n5csZPXq0teL715iMxgfebmf34EuQmBDPoknDCf/tJu17DgRgy8pFeHgXYNzSrxm9cB1xsffYsX6l\nxWK2NSZTzq5x+Wq1GLTwK+q36cKSsR9g/Mvv6ObFs3w+rA/V/9Ocss/UsEi8tiCrXX/s7O1z1GbC\nmFHs2fYd9+7dY87naaVa0z6eRIN6dQGo8tRTPFm5Mj8cOvwvRW5bsvqQxr9eQ3PtmrVoyXsDBuLk\n5ISnpyftXuvI7l07SElJ4dbNm7h7uDN34WJGj5/I9KlT+PXM6X+9H7Ykq+cLQxbPF2Wq1qT33LXU\nbNmZ1RMHZXhOP7JlLc83f80icdqa7DwfmGv397Hc/vexLJlltWQ7NYvr2/LZIHadCeVWZLwFoxKR\nvOShM1teXl7ppUfh4eEAGAwGBgwYYJXg/r82ffk5Jw+nvXuUcD+OIsVLpt8XHXEHNw9PnF1cM513\nNzyUeWMGUjioOL3GTcfp980Zjh/cw6tv98XB0TFtpqv+fzi2fxf1W7SzTofyoO0rF/Lr0QMAJMbf\nJyD4zwXAMXfDcXX3xOlv1zjit5vERt2l+BNps6VV6jXm63nTSIiLwc3Tm+P7d7Bx/ic0fbM3T9Zu\naL3O5EFFCgdw4uTJ9OOw8HC8vLxwc3XNVpv9B3+gdKmS+BcqhJubG41fasT3O3ZyLyaGVSFreatr\nlz83eDGZcHB4dPbMmT9nFvv27AYgLi6OEiVLpd8XHh6Gp5cXrq4Zx25A4cKcOnnige22bNpI6TJl\nKFU6bb2G6ffr6Vcobfam6cv/BSAwKJjKTz3F6VMnKfdEeYv2Ma/Zu2YxF348CKQ9XxQK+uvzxR1c\nHvB8EXn7JnHRkQSWrQhA5bovsXXhpyTExeLq6UXolQsYU1MJeqKy9TqSx8z721gumY2xXLhwYU7n\ncCxLmncalOaFJ9KqONydHbgQGpN+n7+XM9H3k0hITn3guS9VKsJHG89YJU4RS8jifTJ5iIc+e5Yp\nU4YyZcrQpk0b/P1trw6+6Wtv0fS1twCIiYpkYq8uhN26jn/RIPZt2UCl6plLTuJi7jF9UC+qN2hM\n4/ZdM9wXWLIMP+/bQZnKVUhNSeHEof08VraCVfqSVzVo9wYN2r0BQGx0JDP7v0nEbzfwLRLI4a3f\nUO7ZzFP6MVERhHwyhnc//hx3L29+2bcN/+DHcPP05uTB3WxeOIMuwz6mWMmy1u5OnlPjuepM/uRT\nrl67RvHgYELWrqPeC7Wz3Wbr99vYvmMnwwZ/SHJyMt99v40a1avj7ubGqpA1PFY8mBcb1OfMr2c5\nceo0Y0YOz41u5opuPd6lW493Abh79y6d2rXm+rWrBAUXZ8PaNdR+oW6mc6o9V4MZn0x9YLtLFy+y\na8d2xn80mZTkZNauXkWjxk0oWqwYZcs9weaN39C6XXvuRkRw4vgvvNb5det1No+o3ep1ard6HYC4\n6EgWfvg2d2/fwKdwIMe2b6TUA2axY6Pu8vXM8XSdMAc3T29O79+BX9BjuP6+zvPameMUr/DUI70r\n7Ns93uXtv4zljn8Zy+vXrqFOFmN5+l/G8l/b/XUsJycns2b1qgw7ET7qZm8/z+zt5wEo6O5ESO9a\nBPu6cS3iPq2qBbPrTNgDz/N0cSDI141frkVaM1wRyWUG00NWj/Xu3Zvp06dTq1bmpGTfvn3ZeoDv\nzj74SSc3nDp6kG+WziU1JQW/wkXp2G8o7p5eXDv/KytmTmLgp4v4bvVSNi9fQNHiJTKc23PMJwCs\nmfcJ1y+ew87OjjJPPkOLN3pin4vv+L1U1p/Vx2/l2uP/3bmffmDr8vmkpqTgE1CUV3sOws3Ti5sX\nz7Jh9sf8b/LnABz+7isOfbcBOzt7PH38eOXNPhQMKMK0Xh1JiIvF6/cNSgCCy1Xklbf65laXaFO5\nKIkxUbn2+Hv37efTz2aRnJxCUGAxxo0awY2btxg5dhwhy5dl2cbb25t7MTGMHT+R8xcvYTAYqF+3\nDu92fxs7OztOnT7DhI8nExd3HwcHewa815dqVavmSh+dPQsAEBFzP1ceH+DAvr3M+WwGyckpFAsM\nZPioMXh5e3Pm9Ckmjh3NkuWrHtouISGeKZMmcerkcVJSUqjf8EW6v9sTg8HA7du/MWXSRG7dvIHR\naKJt+w40f7WV1fvo6+nGwqPXrP64Wbl47BC7Vy0kNSWZgv5FafrOB7h6ePHbpbN8O38qXSfMBeDn\nbd/w0/dfY2dnh0dBX158vRcF/NPW1m5dNB2PAr483yJvlBG+UTWYu7k4jiFtjM7+2xj1/n0sTxg7\nmqV/GcsPapeQEM/kv43lHr+P5T9s+uZrdmzfxpRPMu90aGk+nm48PWSL1R83K7XKpG397mBvx427\n9xm25jj34pMpX8yL4S0q0W5mWoVN+WLeTGj7JM2m7snyZ/08rjH1xm3LE1u//zyuMT0Mj+V2GDli\na1u/zzFdye0QcuzJDzfndgg58svE3H+j6KHJ1rJly+jYsSPHjh3jqaee+kcPkJeSrfworyVb+VFu\nJ1uPgryQbD0K8lqylR/lhWQrv8tryVZ+ZYvJlq2xxWSr0ge2tePjiY9y/+MAHjol88UXXxAYGMi0\nadP44IMPMmyh+KDZLhEREREREUnz0GRrwIABbN26lYiICDZu3JjhPiVbIiIiIiIiWXtostWwYUMa\nNmzIhg0baN68ubViEhERERERsXkP/ZytP6xZs8bScYiIiIiISB5mMpps6isvyNY2eklJSTRv3pzH\nH388/QNqp0yZYtHAREREREREbFm2kq3333/f0nGIiIiIiIjkK9lKtsqXL8/8+fMJCwujXr16lC2r\nD5sVEREREXmU5JXSPFuSrTVbgwcPJigoiKtXr+Ln58eQIUMsHZeIiIiIiIhNy1ayFRUVRatWrXBw\ncKBKlSoYjUZLxyUiIiIiImLTspVsAVy8eBGA27dvY29vb7GARERERERE8oNsrdkaOnQogwcP5uLF\ni/Tu3ZsRI0ZYOi4REREREclDjCat2cqpbCVb165dY8WKFenbvouIiIiIiMjDZSt7OnjwIM2aNWPa\ntGlcv37d0jGJiIiIiIjYvGzNbA0bNoykpCS2b9/O6NGjSU5OZvHixRYOTURERERE8gpt/Z5z2a4L\nPH78OPv27SMiIoIaNWpYMiYRERERERGbl62ZrSZNmhAQEEDNmjXp378/Pj4+lo5LRERERETEpmVr\nZqtnz57cunWLn376ibZt2/LVV19ZOi4REREREclDTEaTTX3lBdma2VqyZAnr1q3D3d2d2NhYunTp\nQrNmzSwdm4iIiIiIiM3K1syWwWDA3d0dAA8PD5ydnS0alIiIiIiIiK3L1sxWUFAQEydOpGrVqhw9\nepTg4GBLxyUiIiIiImLTspVsTZgwgVWrVnHgwAFKlixJ//79LR2XiIiIiIjkIcY8sg7KlmQr2XJw\ncOC1116zdCwiIiIiIiL5RrY/Z0tERERERESyL1szWyIiIiIi8mgzmVRGmFOa2RIREREREbEAJVsi\nIiIiIiIWoGRLRERERETEArRmS0REREREzDLl863fExISGDBgABEREbi7uzNp0iR8fHwytFm4cCEb\nN27EYDDQo0cPXnzxxYf+TM1siYiIiIjII2/FihWUKVOG5cuX07x5c2bNmpXh/nv37rF06VJWrlzJ\nwoULGT9+vNmfqWRLREREREQeeT/++CO1a9cGoE6dOhw8eDDD/a6urhQtWpT4+Hji4+MxGAxmf6bK\nCEVERERExCxjPiojDAkJYcmSJRlu8/X1xdPTEwB3d3diYmIynVekSBGaNm1Kamoq3bt3N/s4SrZE\nREREROSR0rp1a1q3bp3htp49exIXFwdAXFwcXl5eGe7fs2cPYWFhbN++HYA333yTKlWqULly5Swf\nR2WEIiIiIiLyyKtSpQq7d+8G0hKrZ555JsP93t7euLi44OTkhLOzM56enty7d++hP1MzWyIiIiIi\nYpbJmJrbIVhU+/btGThwIO3bt8fR0ZEpU6YAsGjRIoKDg2nQoAEHDhygTZs22NnZUaVKFWrWrPnQ\nn6lkS0REREREHnmurq5Mnz490+1du3ZN/75379707t072z9TZYQiIiIiIiIWoGRLRERERETEAlRG\nKCIiIiIiZuX3NVuWoJktERERERERCzCYTKb88+lkIiIiIiJiEcXfWJ7bIeTI1YUdcjsElRGKiIiI\niIh5KiPMOZURioiIiIiIWICSLREREREREQtQsiUiIiIiImIBWrMlIiIiIiJmmVK1ZiunNLMlIiIi\nIiJiAUq2RERERERELEDJloXMmDGDFStW5HYY+UK/fv1ISkri1q1b7NixA4Bx48Zx69atXI7MMtat\nW8fkyZPNtjt06BD9+vWzQkSSm5YtW5bbIVhcp06duHjxYpb316xZ04rR5C2JiYmEhIRkq+26devY\nvn27hSPKv3Jyrf9w5MgRfv31VwtFJP+G77//nkaNGrF06VJ69uwJwNmzZzly5EguR2abTMZUm/rK\nC5RsSZ43bdo0nJyc+OGHH/jpp58AGDJkCEWLFs3lyEQsb/bs2bkdguSi8PDwbCcALVu2pEGDBhaO\nKP/KybX+w9q1awkLC7NQRPJv2LFjBx9++CGdO3dm5syZAGzdupULFy7kcmTyqMiTG2SsW7eO3bt3\nk5CQwLVr1+jWrRvr169n5MiRlCxZkhUrVnDnzh1atGhBv379KFKkCDdu3KBp06acP3+e06dPU7du\nXd57770H/vzExET69OlDbGws8fHx9OvXj1q1arFs2TK2bt1KfHw8BQsWZObMmWzcuJGdO3eSkJBA\neHg4nTt3Zvv27Zw/f54PPviAhg0b0qBBA5588kmuXbtG6dKlGTduXIbHmzJlCkePHsVoNPL666/T\n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\n8D/7J0sX46MR8AAAAABJRU5ErkJggg==\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -1699,7 +1699,9 @@ " num_positive\n", " balance\n", " n_components\n", + " n_comp_status\n", " alpha\n", + " alpha_status\n", " train_auroc\n", " test_auroc\n", " overfit\n", @@ -1707,156 +1709,2356 @@ " \n", " \n", " \n", - " mean\n", - " 3150.92\n", - " 128.104\n", - " 0.0693938\n", - " 18.1132\n", - " 2.95024e+07\n", - " 0.815365\n", - " 0.754271\n", - " 0.0610944\n", + " 58944691\n", + " 4691\n", + " 20\n", + " 0.00426348\n", + " 20\n", + " max\n", + " 100\n", + " OK\n", + " 0.786302\n", + " 0.791176\n", + " -0.00487428\n", " \n", " \n", - " median\n", - " 2941\n", - " 93\n", - " 0.0336463\n", + " 74861460\n", + " 1460\n", " 20\n", + " 0.0136986\n", + " 20\n", + " max\n", " 100\n", - " 0.825802\n", - " 0.772182\n", - " 0.0327842\n", + " OK\n", + " 0.887695\n", + " 0.671007\n", + " 0.216688\n", " \n", - " \n", - "\n", - "" - ], - "text/plain": [ - " num_samples num_positive balance n_components alpha \\\n", - "mean 3150.92 128.104 0.0693938 18.1132 2.95024e+07 \n", - "median 2941 93 0.0336463 20 100 \n", - "\n", - " train_auroc test_auroc overfit \n", - "mean 0.815365 0.754271 0.0610944 \n", - "median 0.825802 0.772182 0.0327842 " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Mean testing Auroc improved by 3.93%\n", - "Median testing Auroc improved by 4.06%\n", - "Mean overfitting reduced by 1.4%\n", - "Median overfitting reduced by 1.5%\n", - "Wall time: 1h 4min 33s\n" - ] - } - ], - "source": [ - "%%time\n", - "# alpha and L1_ratio.\n", - "metrics_df = evaluate_classifier(X = X,\n", - " y = y,\n", - " list_of_queries = query_list,\n", - " set_k_range = [10, 20],\n", - " k_function = None,\n", - " alpha_range = [10** x for x in range(-10, 10)],\n", + " \n", + " 251283\n", + " 1283\n", + " 20\n", + " 0.0155885\n", + " 20\n", + " max\n", + " 0.01\n", + " OK\n", + " 0.802908\n", + " 0.513834\n", + " 0.289074\n", + " \n", + " \n", + " 51592405\n", + " 2405\n", + " 21\n", + " 0.00873181\n", + " 20\n", + " max\n", + " 100\n", + " OK\n", + " 0.817391\n", + " 0.783019\n", + " 0.0343722\n", + " \n", + " \n", + " 4763502\n", + " 502\n", + " 21\n", + " 0.0418327\n", + " 10\n", + " min\n", + " 10\n", + " OK\n", + " 0.744026\n", + " 0.363402\n", + " 0.380624\n", + " \n", + " \n", + " 56043310\n", + " 3310\n", + " 21\n", + " 0.00634441\n", + " 10\n", + " min\n", + " 10\n", + " OK\n", + " 0.838196\n", + " 0.737842\n", + " 0.100354\n", + " \n", + " \n", + " 20641064\n", + " 1064\n", + " 21\n", + " 0.0197368\n", + " 20\n", + " max\n", + " 1000\n", + " OK\n", + " 0.720906\n", + " 0.351675\n", + " 0.369231\n", + " \n", + " \n", + " 1956951\n", + " 951\n", + " 21\n", + " 0.022082\n", + " 20\n", + " max\n", + " 100\n", + " OK\n", + " 0.891774\n", + " 0.836898\n", + " 0.0548758\n", + " \n", + " \n", + " 74903360\n", + " 3360\n", + " 21\n", + " 0.00625\n", + " 10\n", + " min\n", + " 0.1\n", + " OK\n", + " 0.590746\n", + " 0.688623\n", + " -0.0978768\n", + " \n", + " \n", + " 59791559\n", + " 1559\n", + " 21\n", + " 0.0134702\n", + " 20\n", + " max\n", + " 1\n", + " OK\n", + " 0.807987\n", + " 0.863636\n", + " -0.0556498\n", + " \n", + " \n", + " 47712813\n", + " 2813\n", + " 21\n", + " 0.00746534\n", + " 20\n", + " max\n", + " 100\n", + " OK\n", + " 0.836569\n", + " 0.567084\n", + " 0.269485\n", + " \n", + " \n", + " 46093624\n", + " 3624\n", + " 22\n", + " 0.00607064\n", + " 20\n", + " max\n", + " 100\n", + " OK\n", + " 0.868198\n", + " 0.778086\n", + " 0.0901118\n", + " \n", + " \n", + " 67145174\n", + " 5174\n", + " 22\n", + " 0.00425203\n", + " 20\n", + " max\n", + " 1\n", + " OK\n", + " 0.650638\n", + " 0.618089\n", + " 0.0325484\n", + " \n", + " \n", + " 673774\n", + " 774\n", + " 22\n", + " 0.0284238\n", + " 20\n", + " max\n", + " 0.001\n", + " OK\n", + " 0.83814\n", + " 0.720199\n", + " 0.117941\n", + " \n", + " \n", + " 40873727\n", + " 3727\n", + " 22\n", + " 0.00590287\n", + " 20\n", + " max\n", + " 0.1\n", + " OK\n", + " 0.547681\n", + " 0.597709\n", + " -0.0500282\n", + " \n", + " \n", + " 2074011\n", + " 4011\n", + " 23\n", + " 0.00573423\n", + " 10\n", + " min\n", + " 100\n", + " OK\n", + " 0.805886\n", + " 0.819549\n", + " -0.0136624\n", + " \n", + " \n", + " 7157331\n", + " 331\n", + " 23\n", + " 0.0694864\n", + " 20\n", + " max\n", + " 0.01\n", + " OK\n", + " 0.661472\n", + " 0.535484\n", + " 0.125989\n", + " \n", + " \n", + " 60981740\n", + " 1740\n", + " 24\n", + " 0.0137931\n", + " 20\n", + " max\n", + " 1\n", + " OK\n", + " 0.826312\n", + " 0.278717\n", + " 0.547595\n", + " \n", + " \n", + " 49211918\n", + " 1918\n", + " 24\n", + " 0.012513\n", + " 20\n", + " max\n", + " 10000000\n", + " OK\n", + " 0.781866\n", + " 0.683377\n", + " 0.0984882\n", + " \n", + " \n", + " 37911502\n", + " 1502\n", + " 25\n", + " 0.0166445\n", + " 10\n", + " min\n", + " 10000\n", + " OK\n", + " 0.794412\n", + " 0.816216\n", + " -0.0218047\n", + " \n", + " \n", + " 42212708\n", + " 2708\n", + " 26\n", + " 0.00960118\n", + " 20\n", + " max\n", + " 100\n", + " OK\n", + " 0.847819\n", + " 0.503911\n", + " 0.343908\n", + " \n", + " \n", + " 5728769\n", + " 769\n", + " 26\n", + " 0.0338101\n", + " 20\n", + " max\n", + " 1000000\n", + " OK\n", + " 0.818743\n", + " 0.955705\n", + " -0.136962\n", + " \n", + " \n", + " 6751044\n", + " 1044\n", + " 26\n", + " 0.0249042\n", + " 10\n", + " min\n", + " 100000\n", + " OK\n", + " 0.823739\n", + " 0.876471\n", + " -0.0527313\n", + " \n", + " \n", + " 6721239\n", + " 1239\n", + " 27\n", + " 0.0217918\n", + " 20\n", + " max\n", + " 1000000\n", + " OK\n", + " 0.761891\n", + " 0.546502\n", + " 0.215389\n", + " \n", + " \n", + " 2381528\n", + " 1528\n", + " 31\n", + " 0.020288\n", + " 10\n", + " min\n", + " 1000000\n", + " OK\n", + " 0.70152\n", + " 0.782222\n", + " -0.0807018\n", + " \n", + " \n", + " 3265502\n", + " 502\n", + " 31\n", + " 0.061753\n", + " 20\n", + " max\n", + " 100\n", + " OK\n", + " 0.945319\n", + " 0.845614\n", + " 0.0997051\n", + " \n", + " \n", + " 48931566\n", + " 1566\n", + " 33\n", + " 0.0210728\n", + " 20\n", + " max\n", + " 1000\n", + " OK\n", + " 0.870404\n", + " 0.941368\n", + " -0.070964\n", + " \n", + " \n", + " 59251891\n", + " 1891\n", + " 37\n", + " 0.0195664\n", + " 20\n", + " max\n", + " 1e-07\n", + " OK\n", + " 0.712686\n", + " 0.656298\n", + " 0.0563876\n", + " \n", + " \n", + " 10291371\n", + " 1371\n", + " 37\n", + " 0.0269876\n", + " 20\n", + " max\n", + " 1\n", + " OK\n", + " 0.623921\n", + " 0.460021\n", + " 0.1639\n", + " \n", + " \n", + " 1630687\n", + " 687\n", + " 40\n", + " 0.0582242\n", + " 20\n", + " max\n", + " 100\n", + " OK\n", + " 0.830936\n", + " 0.717308\n", + " 0.113628\n", + " \n", + " \n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " \n", + " \n", + " 74281897\n", + " 1897\n", + " 123\n", + " 0.0648392\n", + " 20\n", + " max\n", + " 1e-08\n", + " OK\n", + " 0.979822\n", + " 0.942423\n", + " 0.0373994\n", + " \n", + " \n", + " 74283618\n", + " 3618\n", + " 125\n", + " 0.0345495\n", + " 20\n", + " max\n", + " 0.0001\n", + " OK\n", + " 0.979298\n", + " 0.966237\n", + " 0.013061\n", + " \n", + " \n", + " 20645727\n", + " 5727\n", + " 126\n", + " 0.022001\n", + " 20\n", + " max\n", + " 100\n", + " OK\n", + " 0.820492\n", + " 0.75372\n", + " 0.0667716\n", + " \n", + " \n", + " 10291657\n", + " 1657\n", + " 127\n", + " 0.0766445\n", + " 20\n", + " max\n", + " 10\n", + " OK\n", + " 0.890345\n", + " 0.876482\n", + " 0.0138631\n", + " \n", + " \n", + " 37914907\n", + " 4907\n", + " 127\n", + " 0.0258814\n", + " 20\n", + " max\n", + " 100\n", + " OK\n", + " 0.756595\n", + " 0.693166\n", + " 0.0634284\n", + " \n", + " \n", + " 3845977\n", + " 977\n", + " 129\n", + " 0.132037\n", + " 20\n", + " max\n", + " 100\n", + " OK\n", + " 0.892617\n", + " 0.864932\n", + " 0.0276847\n", + " \n", + " \n", + " 7157214\n", + " 214\n", + " 145\n", + " 0.67757\n", + " 20\n", + " max\n", + " 100\n", + " OK\n", + " 0.887304\n", + " 0.697044\n", + " 0.19026\n", + " \n", + " \n", + " 10293699\n", + " 3699\n", + " 180\n", + " 0.0486618\n", + " 20\n", + " max\n", + " 100\n", + " OK\n", + " 0.890103\n", + " 0.897372\n", + " -0.00726953\n", + " \n", + " \n", + " 6756299\n", + " 6299\n", + " 200\n", + " 0.0317511\n", + " 20\n", + " max\n", + " 100\n", + " OK\n", + " 0.724201\n", + " 0.712275\n", + " 0.0119261\n", + " \n", + " \n", + " 52902178\n", + " 2178\n", + " 200\n", + " 0.0918274\n", + " 20\n", + " max\n", + " 100\n", + " OK\n", + " 0.779326\n", + " 0.787247\n", + " -0.00792146\n", + " \n", + " \n", + " 38453433\n", + " 3433\n", + " 204\n", + " 0.0594232\n", + " 20\n", + " max\n", + " 10\n", + " OK\n", + " 0.965454\n", + " 0.974062\n", + " -0.00860808\n", + " \n", + " \n", + " 57284327\n", + " 4327\n", + " 208\n", + " 0.0480703\n", + " 20\n", + " max\n", + " 1000\n", + " OK\n", + " 0.707635\n", + " 0.743816\n", + " -0.0361817\n", + " \n", + " \n", + " 59255055\n", + " 5055\n", + " 210\n", + " 0.041543\n", + " 20\n", + " max\n", + " 10\n", + " OK\n", + " 0.829155\n", + " 0.863974\n", + " -0.034819\n", + " \n", + " \n", + " 19566525\n", + " 6525\n", + " 215\n", + " 0.0329502\n", + " 20\n", + " max\n", + " 100\n", + " OK\n", + " 0.814416\n", + " 0.748609\n", + " 0.0658078\n", + " \n", + " \n", + " 3241566\n", + " 1566\n", + " 218\n", + " 0.139208\n", + " 20\n", + " max\n", + " 10\n", + " OK\n", + " 0.936478\n", + " 0.920118\n", + " 0.0163599\n", + " \n", + " \n", + " 16306753\n", + " 6753\n", + " 221\n", + " 0.0327262\n", + " 20\n", + " max\n", + " 10\n", + " OK\n", + " 0.763295\n", + " 0.729812\n", + " 0.0334832\n", + " \n", + " \n", + " 47635733\n", + " 5733\n", + " 240\n", + " 0.0418629\n", + " 20\n", + " max\n", + " 100\n", + " OK\n", + " 0.720949\n", + " 0.684619\n", + " 0.0363302\n", + " \n", + " \n", + " 10295881\n", + " 5881\n", + " 267\n", + " 0.0454004\n", + " 20\n", + " max\n", + " 10\n", + " OK\n", + " 0.835855\n", + " 0.84862\n", + " -0.0127648\n", + " \n", + " \n", + " 3243430\n", + " 3430\n", + " 270\n", + " 0.0787172\n", + " 20\n", + " max\n", + " 10\n", + " OK\n", + " 0.850205\n", + " 0.830608\n", + " 0.0195972\n", + " \n", + " \n", + " 71571090\n", + " 1090\n", + " 318\n", + " 0.291743\n", + " 20\n", + " max\n", + " 100\n", + " OK\n", + " 0.901199\n", + " 0.877029\n", + " 0.0241697\n", + " \n", + " \n", + " 6734374\n", + " 4374\n", + " 401\n", + " 0.0916781\n", + " 20\n", + " max\n", + " 10\n", + " OK\n", + " 0.942762\n", + " 0.939371\n", + " 0.0033906\n", + " \n", + " \n", + " 52905130\n", + " 5130\n", + " 413\n", + " 0.0805068\n", + " 20\n", + " max\n", + " 10\n", + " OK\n", + " 0.789844\n", + " 0.776297\n", + " 0.0135473\n", + " \n", + " \n", + " 3246956\n", + " 6956\n", + " 414\n", + " 0.059517\n", + " 20\n", + " max\n", + " 100\n", + " OK\n", + " 0.876964\n", + " 0.863126\n", + " 0.0138382\n", + " \n", + " \n", + " 6735286\n", + " 5286\n", + " 462\n", + " 0.0874007\n", + " 20\n", + " max\n", + " 10\n", + " OK\n", + " 0.932509\n", + " 0.939418\n", + " -0.0069097\n", + " \n", + " \n", + " 38455657\n", + " 5657\n", + " 467\n", + " 0.0825526\n", + " 20\n", + " max\n", + " 10\n", + " OK\n", + " 0.922765\n", + " 0.934501\n", + " -0.0117355\n", + " \n", + " \n", + " 38455925\n", + " 5925\n", + " 500\n", + " 0.0843882\n", + " 20\n", + " max\n", + " 10\n", + " OK\n", + " 0.92394\n", + " 0.925659\n", + " -0.00171889\n", + " \n", + " \n", + " 6736820\n", + " 6820\n", + " 500\n", + " 0.0733138\n", + " 20\n", + " max\n", + " 10\n", + " OK\n", + " 0.902732\n", + " 0.912856\n", + " -0.0101236\n", + " \n", + " \n", + " 71572135\n", + " 2135\n", + " 501\n", + " 0.23466\n", + " 20\n", + " max\n", + " 10\n", + " OK\n", + " 0.872661\n", + " 0.885535\n", + " -0.0128737\n", + " \n", + " \n", + " 52905973\n", + " 5973\n", + " 510\n", + " 0.0853842\n", + " 20\n", + " max\n", + " 100\n", + " OK\n", + " 0.763811\n", + " 0.760714\n", + " 0.00309695\n", + " \n", + " \n", + " 71572073\n", + " 2073\n", + " 580\n", + " 0.279788\n", + " 20\n", + " max\n", + " 10\n", + " OK\n", + " 0.875455\n", + " 0.878503\n", + " -0.0030482\n", + " \n", + " \n", + "\n", + "

106 rows × 10 columns

\n", + "" + ], + "text/plain": [ + " num_samples num_positive balance n_components n_comp_status \\\n", + "58944691 4691 20 0.00426348 20 max \n", + "74861460 1460 20 0.0136986 20 max \n", + "251283 1283 20 0.0155885 20 max \n", + "51592405 2405 21 0.00873181 20 max \n", + "4763502 502 21 0.0418327 10 min \n", + "56043310 3310 21 0.00634441 10 min \n", + "20641064 1064 21 0.0197368 20 max \n", + "1956951 951 21 0.022082 20 max \n", + "74903360 3360 21 0.00625 10 min \n", + "59791559 1559 21 0.0134702 20 max \n", + "47712813 2813 21 0.00746534 20 max \n", + "46093624 3624 22 0.00607064 20 max \n", + "67145174 5174 22 0.00425203 20 max \n", + "673774 774 22 0.0284238 20 max \n", + "40873727 3727 22 0.00590287 20 max \n", + "2074011 4011 23 0.00573423 10 min \n", + "7157331 331 23 0.0694864 20 max \n", + "60981740 1740 24 0.0137931 20 max \n", + "49211918 1918 24 0.012513 20 max \n", + "37911502 1502 25 0.0166445 10 min \n", + "42212708 2708 26 0.00960118 20 max \n", + "5728769 769 26 0.0338101 20 max \n", + "6751044 1044 26 0.0249042 10 min \n", + "6721239 1239 27 0.0217918 20 max \n", + "2381528 1528 31 0.020288 10 min \n", + "3265502 502 31 0.061753 20 max \n", + "48931566 1566 33 0.0210728 20 max \n", + "59251891 1891 37 0.0195664 20 max \n", + "10291371 1371 37 0.0269876 20 max \n", + "1630687 687 40 0.0582242 20 max \n", + "... ... ... ... ... ... \n", + "74281897 1897 123 0.0648392 20 max \n", + "74283618 3618 125 0.0345495 20 max \n", + "20645727 5727 126 0.022001 20 max \n", + "10291657 1657 127 0.0766445 20 max \n", + "37914907 4907 127 0.0258814 20 max \n", + "3845977 977 129 0.132037 20 max \n", + "7157214 214 145 0.67757 20 max \n", + "10293699 3699 180 0.0486618 20 max \n", + "6756299 6299 200 0.0317511 20 max \n", + "52902178 2178 200 0.0918274 20 max \n", + "38453433 3433 204 0.0594232 20 max \n", + "57284327 4327 208 0.0480703 20 max \n", + "59255055 5055 210 0.041543 20 max \n", + "19566525 6525 215 0.0329502 20 max \n", + "3241566 1566 218 0.139208 20 max \n", + "16306753 6753 221 0.0327262 20 max \n", + "47635733 5733 240 0.0418629 20 max \n", + "10295881 5881 267 0.0454004 20 max \n", + "3243430 3430 270 0.0787172 20 max \n", + "71571090 1090 318 0.291743 20 max \n", + "6734374 4374 401 0.0916781 20 max \n", + "52905130 5130 413 0.0805068 20 max \n", + "3246956 6956 414 0.059517 20 max \n", + "6735286 5286 462 0.0874007 20 max \n", + "38455657 5657 467 0.0825526 20 max \n", + "38455925 5925 500 0.0843882 20 max \n", + "6736820 6820 500 0.0733138 20 max \n", + "71572135 2135 501 0.23466 20 max \n", + "52905973 5973 510 0.0853842 20 max \n", + "71572073 2073 580 0.279788 20 max \n", + "\n", + " alpha alpha_status train_auroc test_auroc overfit \n", + "58944691 100 OK 0.786302 0.791176 -0.00487428 \n", + "74861460 100 OK 0.887695 0.671007 0.216688 \n", + "251283 0.01 OK 0.802908 0.513834 0.289074 \n", + "51592405 100 OK 0.817391 0.783019 0.0343722 \n", + "4763502 10 OK 0.744026 0.363402 0.380624 \n", + "56043310 10 OK 0.838196 0.737842 0.100354 \n", + "20641064 1000 OK 0.720906 0.351675 0.369231 \n", + "1956951 100 OK 0.891774 0.836898 0.0548758 \n", + "74903360 0.1 OK 0.590746 0.688623 -0.0978768 \n", + "59791559 1 OK 0.807987 0.863636 -0.0556498 \n", + "47712813 100 OK 0.836569 0.567084 0.269485 \n", + "46093624 100 OK 0.868198 0.778086 0.0901118 \n", + "67145174 1 OK 0.650638 0.618089 0.0325484 \n", + "673774 0.001 OK 0.83814 0.720199 0.117941 \n", + "40873727 0.1 OK 0.547681 0.597709 -0.0500282 \n", + "2074011 100 OK 0.805886 0.819549 -0.0136624 \n", + "7157331 0.01 OK 0.661472 0.535484 0.125989 \n", + "60981740 1 OK 0.826312 0.278717 0.547595 \n", + "49211918 10000000 OK 0.781866 0.683377 0.0984882 \n", + "37911502 10000 OK 0.794412 0.816216 -0.0218047 \n", + "42212708 100 OK 0.847819 0.503911 0.343908 \n", + "5728769 1000000 OK 0.818743 0.955705 -0.136962 \n", + "6751044 100000 OK 0.823739 0.876471 -0.0527313 \n", + "6721239 1000000 OK 0.761891 0.546502 0.215389 \n", + "2381528 1000000 OK 0.70152 0.782222 -0.0807018 \n", + "3265502 100 OK 0.945319 0.845614 0.0997051 \n", + "48931566 1000 OK 0.870404 0.941368 -0.070964 \n", + "59251891 1e-07 OK 0.712686 0.656298 0.0563876 \n", + "10291371 1 OK 0.623921 0.460021 0.1639 \n", + "1630687 100 OK 0.830936 0.717308 0.113628 \n", + "... ... ... ... ... ... \n", + "74281897 1e-08 OK 0.979822 0.942423 0.0373994 \n", + "74283618 0.0001 OK 0.979298 0.966237 0.013061 \n", + "20645727 100 OK 0.820492 0.75372 0.0667716 \n", + "10291657 10 OK 0.890345 0.876482 0.0138631 \n", + "37914907 100 OK 0.756595 0.693166 0.0634284 \n", + "3845977 100 OK 0.892617 0.864932 0.0276847 \n", + "7157214 100 OK 0.887304 0.697044 0.19026 \n", + "10293699 100 OK 0.890103 0.897372 -0.00726953 \n", + "6756299 100 OK 0.724201 0.712275 0.0119261 \n", + "52902178 100 OK 0.779326 0.787247 -0.00792146 \n", + "38453433 10 OK 0.965454 0.974062 -0.00860808 \n", + "57284327 1000 OK 0.707635 0.743816 -0.0361817 \n", + "59255055 10 OK 0.829155 0.863974 -0.034819 \n", + "19566525 100 OK 0.814416 0.748609 0.0658078 \n", + "3241566 10 OK 0.936478 0.920118 0.0163599 \n", + "16306753 10 OK 0.763295 0.729812 0.0334832 \n", + "47635733 100 OK 0.720949 0.684619 0.0363302 \n", + "10295881 10 OK 0.835855 0.84862 -0.0127648 \n", + "3243430 10 OK 0.850205 0.830608 0.0195972 \n", + "71571090 100 OK 0.901199 0.877029 0.0241697 \n", + "6734374 10 OK 0.942762 0.939371 0.0033906 \n", + "52905130 10 OK 0.789844 0.776297 0.0135473 \n", + "3246956 100 OK 0.876964 0.863126 0.0138382 \n", + "6735286 10 OK 0.932509 0.939418 -0.0069097 \n", + "38455657 10 OK 0.922765 0.934501 -0.0117355 \n", + "38455925 10 OK 0.92394 0.925659 -0.00171889 \n", + "6736820 10 OK 0.902732 0.912856 -0.0101236 \n", + "71572135 10 OK 0.872661 0.885535 -0.0128737 \n", + "52905973 100 OK 0.763811 0.760714 0.00309695 \n", + "71572073 10 OK 0.875455 0.878503 -0.0030482 \n", + "\n", + "[106 rows x 10 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "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", + "
num_samplesnum_positivebalancen_componentsalphatrain_auroctest_aurocoverfit
mean3041.51124.6230.063901918.39621333070.809890.7531680.0567219
median2627810.0318417201000.8144160.7623380.0295182
\n", + "
" + ], + "text/plain": [ + " num_samples num_positive balance n_components alpha train_auroc \\\n", + "mean 3041.51 124.623 0.0639019 18.3962 133307 0.80989 \n", + "median 2627 81 0.0318417 20 100 0.814416 \n", + "\n", + " test_auroc overfit \n", + "mean 0.753168 0.0567219 \n", + "median 0.762338 0.0295182 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean testing Auroc improved by 3.06%\n", + "Median testing Auroc improved by 3.60%\n", + "Mean overfitting reduced by 1.1%\n", + "Median overfitting reduced by 1.6%\n", + "Wall time: 45min 40s\n" + ] + } + ], + "source": [ + "%%time\n", + "# alpha and L1_ratio.\n", + "metrics_df = evaluate_classifier(X = X,\n", + " y = y,\n", + " list_of_queries = query_list,\n", + " set_k_range = [10, 20],\n", + " k_function = None,\n", + " alpha_range = [10** x for x in range(-10, 10)],\n", + " l1_ratio = [0])\n", + "display_stats(metrics_df, metrics_df_current_setup, verbose = True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.d. Use a function to select k (number of PCA components)\n", + "- You can't us n_components (which the select_K is realy just a proxy for in this notebook) larger than the smallest total query size * the test train split ratio * 1-(1/cv) (for example if there is a query that has 100 total samples and you do a 80%/20% split than the training set only has 80 samples in it and if you do 3 fold CV each training fold will only have 80*0.66 (54) samples, so you couldn't do PCA with anymore than 54 components).\n", + " - There is a risk of overfitting if you use too many components for more unballanced queries\n", + " - It requires less components to capture a reasonable amount of variance for queries with less samples\n", + " - We haven't seen much of a clear coorelation with the two hueristics above; understanding them quantitatively has been difficult" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def k_func(num_samples, num_positives):\n", + " ''' Decide the number of PCA components based on a heuristic of total samples and class balance.\n", + " '''\n", + " # If there are more positives than negatives, set num_positives equal to the number of negatives\n", + " num_positives = min(num_positives, num_samples - num_positives)\n", + " # Rule of thumb based on number of positives\n", + " k = 5 * math.sqrt(num_positives)\n", + " # Adjust slightly for total number of samples\n", + " k = k * ((num_samples / 7000)**(1./6.))\n", + " k = [int(k)]\n", + " return(k)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def k_func_proposed(num_samples, num_positives):\n", + " ''' Simpler function proposed for use.\n", + " '''\n", + " # If there are more positives than negatives, set num_positives equal to the number of negatives\n", + " num_positives = min(num_positives, num_samples - num_positives)\n", + " # Rule of thumb based on number of positives\n", + " if num_positives > 500:\n", + " k = 100\n", + " elif num_positives > 250:\n", + " k = 50\n", + " else:\n", + " k = 30\n", + " k = [int(k)]\n", + " return(k)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What do the k_funcs look like?" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "def plot_k_func(k_func):\n", + " X_plot = [] # number of samples\n", + " Y_plot = [] # number of positives\n", + " Z_plot = [] # k (number of components in PCA)\n", + " for query in query_list:\n", + " X_plot.append(query[2]['total'])\n", + " Y_plot.append(query[2]['positive'])\n", + " Z_plot.append(k_func(query[2]['total'], query[2]['positive']))\n", + "\n", + "\n", + " plt.scatter(X_plot, Z_plot)\n", + " plt.title('Number of Components vs. Query Size')\n", + " plt.ylabel('K')\n", + " plt.xlabel('Total Number of Samples')\n", + " plt.show()\n", + "\n", + " plt.scatter(Y_plot, Z_plot)\n", + " plt.title('Number of Components vs. Number of Positives')\n", + " plt.ylabel('K')\n", + " plt.xlabel('Number of Positives')\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_k_func(k_func)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n6BV5t27dcOTIEQwfPhw//PADUlNT0bJlSyiKAgBwd3eHXq+3ux1v72bQaNQ2l/H19ayTmhu7ptAn\ne3QO7NE5NIUeAbn6dGiQP/DAA7hw4QKmTZuGPn364M4770RaWpp1fl5eHry8vOxuJzs73+Z8X19P\npKfbf0Egu6bQJ3t0DuzROTSFHoHG2aetFxYOvbX+008/YeDAgdi1axdGjRqF22+/Hd27d0dCQgIA\n4NixYwgMDHRkSURERFJz6BX5HXfcgQ0bNuDNN9+Ep6cnXn75ZeTn5yM6Ohrr1q1Dhw4dEBYW5siS\niIiIpObQIPfx8cG7775bYfqOHTscWQYREZHT4C9sExERSYxBTkREJDEGORERkcQY5ERERBJjkBMR\nEUmMQU5ERCQxBjkREZHEGOREREQSY5ATERFJjEFOREQkMQY5ERGRxBjkREREEmOQExERSYxBTkRE\nJDEGORERkcQY5ERERBJjkBMREUmMQU5ERCQxBjkREZHEGOREREQSY5ATERFJjEFOREQkMQY5ERGR\nxBjkREREEmOQExERSYxBTkREJDEGORERkcQY5ERERBJjkBMREUmMQU5ERCQxBjkREZHENI7cmclk\nQlRUFK5cuQKVSoXly5dDo9EgKioKiqKgc+fOiImJgUrF1xdERETV4dAg/+KLL1BUVIS4uDgcP34c\n69evh8lkQkREBPr374/Fixfj0KFDGDFihCPLIiIikpZDL33bt28Ps9kMi8WC3NxcaDQaJCYmIigo\nCAAQHByM+Ph4R5ZEREQkNYdekTdr1gxXrlzBvffei+zsbLz55ps4deoUFEUBALi7u0Ov19vdjrd3\nM2g0apvL+Pp61knNjV1T6JM9Ogf26ByaQo+AXH06NMjfffddDBkyBM8++yxSUlLw8MMPw2QyWefn\n5eXBy8vL7nays/Ntzvf19UR6uv0XBLJrCn2yR+fAHp1DU+gRaJx92nph4dBb615eXvD0LC6mefPm\nKCoqQvfu3ZGQkAAAOHbsGAIDAx1ZEhERkdQcekU+c+ZMLFy4ENOmTYPJZML8+fPRo0cPREdHY926\ndejQoQPCwsIcWRIREZHUHBrk7u7u2LBhQ4XpO3bscGQZREREToO/sE1ERCQxBjkREZHEGOREREQS\nY5ATERFJjEFOREQkMQY5ERGRxBjkREREEmOQExERSYxBTkREJDEGORERkcQY5ERERBJjkBMREUmM\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nAAClpaUwGo22eV1dXe0+7mrLly/HiRMnkJaWhrfffhtbtmzBmjVrKs3TpEkTtG/fHrt27UJycjLm\nzp0LAAgJCcG2bduQlpaGvXv34s0338SmTZvQvHlzu9t+rZkzZyIiIgJr166ttk5H+xRQsz5f2aeA\nyz1buXIlWrVqBQAoLi6udLBX3X517XNktVptz48j176mfrVrn4+rlzljxgyMHj0a3333HZKTk7F+\n/XokJyc7XR8AjBkzBlu3bkVhYSEGDRoEd3d3WCwWtGrVqtKNr7m5ufDx8YGLiwtSUlKwd+9e7Nu3\nD2PGjMGbb76JLl261Gh9VDt49zvdlIceegjBwcF4//33bWPe3t62M9Xz58/f8J3iV848c3JykJaW\nhl69eqFnz57Ys2cPMjMzAQDffvsthg8fXim07LnyuDNnzgCA7TXlBx54wOHjJk2ahI8//hjfffed\nbSw1NRWJiYlo27btDS/3WikpKTAYDLBarUhKSkJISAhatmwJFxcXbN++HcDlf2y3bduG3r17O1xW\nUFAQPvzwQ5hMJlitVsTGxmLFihVOa9BqtaioqMD58+fRr18/NGjQAE899RQiIyNx/Phxu4959NFH\n8fbbb+PSpUvo2rUrAODFF1/EV199haFDhyI+Ph4eHh44d+5cjXuh1+vx+uuv45///KftjNnLywtm\nsxmnTp0CALs3NdZEeno6cnJyAAAfffQRgoODAVzu2XvvvQchBEwmE6ZMmYINGzY4Xd6VXl95XFJS\nktPnpybLTE5Otr0TIDExEd27d4dGo0H//v1RVlaGxx57DPHx8cjMzKxyEHHlebzWoEGDkJGRgaSk\nJDz66KMALh+0/vbbb/jhhx8AXL5pNDQ0FHl5eVi+fDneeustDBw4EPPmzUPr1q1x+vTpm9o2uv14\npk43LSYmBvv377f9PmHCBMyaNQuhoaFo2rQpAgMDb2i5RqMRI0eOhNlsRkxMjO1O+5dffhkzZ860\nnWmtWbOm2jOpK1q3bo34+Hi88MILsFgscHNzw9q1a51eTmzRogXWrl2LN954A0uXLoXVaoWPjw/W\nrFmDgIAAALih5V6rYcOGeOaZZ1BUVITu3btj8uTJcHFxwVtvvYVFixYhISEBFosFzz//PHr27In0\n9PRqlzV16lQsXboUI0eOhMViQbt27Wr0dsNBgwZh3LhxeOuttzBlyhQ89dRTcHNzg1arxaJFi+w+\n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\nTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_k_func(k_func_proposed)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "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", + "
num_samplesnum_positivebalancen_componentsalphatrain_auroctest_aurocoverfit
mean3041.51124.6230.063901942.27360.5374340.780070.71570.06437
median2627810.03184173510.769610.7184470.052919
\n", + "
" + ], + "text/plain": [ + " num_samples num_positive balance n_components alpha train_auroc \\\n", + "mean 3041.51 124.623 0.0639019 42.2736 0.537434 0.78007 \n", + "median 2627 81 0.0318417 35 1 0.76961 \n", + "\n", + " test_auroc overfit \n", + "mean 0.7157 0.06437 \n", + "median 0.718447 0.052919 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean testing Auroc improved by -0.69%\n", + "Median testing Auroc improved by -0.79%\n", + "Mean overfitting reduced by 0.3%\n", + "Median overfitting reduced by -0.7%\n", + "Wall time: 52min 43s\n" + ] + } + ], + "source": [ + "%%time\n", + "# k function.\n", + "metrics_df = evaluate_classifier(X = X,\n", + " y = y,\n", + " list_of_queries = query_list,\n", + " set_k_range = None,\n", + " k_function = k_func,\n", + " alpha_range = [10** x for x in range(-3, 1)],\n", + " l1_ratio = [0.15])\n", + "display_stats(metrics_df, metrics_df_current_setup, verbose = False)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "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", + "
num_samplesnum_positivebalancen_componentsalphatrain_auroctest_aurocoverfit
mean3041.51124.6230.063901942.27361191570.8369940.7750420.0619518
median2627810.0318417351000.8349540.7884170.0355583
\n", + "
" + ], + "text/plain": [ + " num_samples num_positive balance n_components alpha train_auroc \\\n", + "mean 3041.51 124.623 0.0639019 42.2736 119157 0.836994 \n", + "median 2627 81 0.0318417 35 100 0.834954 \n", + "\n", + " test_auroc overfit \n", + "mean 0.775042 0.0619518 \n", + "median 0.788417 0.0355583 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean testing Auroc improved by 5.25%\n", + "Median testing Auroc improved by 6.21%\n", + "Mean overfitting reduced by 0.5%\n", + "Median overfitting reduced by 1.0%\n", + "Wall time: 35min 38s\n" + ] + } + ], + "source": [ + "%%time\n", + "# k function and alpha and l1_ratio.\n", + "metrics_df = evaluate_classifier(X = X,\n", + " y = y,\n", + " list_of_queries = query_list,\n", + " set_k_range = None,\n", + " k_function = k_func,\n", + " alpha_range = [10** x for x in range(-10, 10)],\n", " l1_ratio = [0])\n", "display_stats(metrics_df, metrics_df_current_setup, verbose = False)" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 4.d. Use a function to select k (number of PCA components)\n", - "- You can't us n_components (which the select_K is realy just a proxy for in this notebook) larger than the smallest total query size * the test train split ratio * 1-(1/cv) (for example if there is a query that has 100 total samples and you do a 80%/20% split than the training set only has 80 samples in it and if you do 3 fold CV each training fold will only have 80*0.66 (54) samples, so you couldn't do PCA with anymore than 54 components).\n", - " - There is a risk of overfitting if you use too many components for more unballanced queries\n", - " - It requires less components to capture a reasonable amount of variance for queries with less samples\n", - " - We haven't seen much of a clear coorelation with the two hueristics above; understanding them quantitatively has been difficult" - ] - }, { "cell_type": "code", - "execution_count": 14, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "def k_func(num_samples, num_positives):\n", - " ''' Decide the number of PCA components based on a heuristic of total samples and class balance.\n", - " '''\n", - " # If there are more positives than negatives, set num_positives equal to the number of negatives\n", - " num_positives = min(num_positives, num_samples - num_positives)\n", - " # Rule of thumb based on number of positives\n", - " k = 5 * math.sqrt(num_positives)\n", - " # Adjust slightly for total number of samples\n", - " k = k * ((num_samples / 7000)**(1./6.))\n", - " k = [int(k)]\n", - " return(k)" - ] - }, - { - "cell_type": "code", - "execution_count": 15, + "execution_count": 21, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\nd7HqLTMzE7Nnz8aOHTvw66+/IikpCUajEe3atcPSpUuh1WqxY8cObN++HUIITJkyBbGxsSgrK0Ni\nYiJycnLg4+OD119/HWFhYe6ujsXSpUvxn//8B+3atbMse+mll7B06VJV1A8ASktL8eKLLyI3NxcV\nFRWYPHky2rdvr5pjaDZhwgQsWrQIXl5eqqqbwWDAiy++iCtXrkCj0eD5559HcHCwqur417/+FWlp\naRBCYNasWWjTpo2q6rd582Z4e3tj4sSJAKCa31CPCeRERERq5DFd60RERGrEQE5ERKRgDOREREQK\nxkBORESkYAzkRERECsZATtQAixcvxvDhw/HII4+ga9euGD58OIYPH46dO3fafM+FCxcwf/58u9u9\ncOECHnrooRrL33jjDQwZMqRKApmUlBTLNJrGcNR2avPhhx8iJiYGK1eurLI8MzMTTz75JOLi4jBs\n2DDMnDmzSjIZR6uoqECXLl2ctn0iV1N2ajMiN1m4cCGAm0Ho8ccfxz//+c9a33P58mVkZmY2+DMz\nMzOxevVqJCYmNngb7vTFF1/glVdeqZKQAwCSkpIwZswYPPzwwwCAt956C4sXL8aaNWvcUUwixWEg\nJ3KwkpISJCUlIT09HRqNBpMnT0Z8fDyWLl2KrKwsLF26FImJiVi4cCEyMjKQm5uLDh06VHkgjjXj\nx4/Hv/71LwwePBg9evSosu75559H//79MXz4cFRUVKBbt244ffo03njjDeTk5ODMmTPIy8vDrFmz\ncOjQIZw8eRJdu3bF66+/DuDm40cnTZqEnJwcdO/eHUlJSfD19cWBAwewbt06SJKE8PBwvPzyy2je\nvDkGDBiAnj174vTp00hOTkZwcLClLB999BH+/ve/WzLXLViwABs3bsTp06excOFCJCUlVcnJnpub\ni/Lycsvfjz/+OE6dOgXgZtre+fPno7CwELm5uYiPj8esWbPw0Ucf4dChQ8jKysK1a9cwceJEXLp0\nCd999x1atGiBjRs3IisrCzNmzEDr1q1x6dIltGnTBq+99hqaNm1q+azi4mK8/PLLyMjIgMlkwpNP\nPolHHnnEUlZJkuDn54cVK1bgjjvuaPhJQeRMrnzUGpHaXLp0SURHR1dZtmzZMrFs2TIhhBB5eXki\nOjpanDt3Thw6dEg88cQTQgghDh8+bHkMoiRJYty4cWL37t3it99+E4MGDarxOatWrRJvvfWW+M9/\n/iNiY2NFeXl5le0999xz4rPPPhNCCGE0GkXnzp0t7xszZowwGo0iJSVFdO7cWZw/f14YDAYRExMj\n0tBGPV0AAAUqSURBVNPTxaFDh0T37t3FhQsXhMlkEjNmzBBbt24VOTk5Yvjw4eLGjRtCCCG2bt0q\nkpKShBBC9O/f3/J5lZ0+fVoMHjxYXL9+XZhMJpGUlCRWrlwphBBi3Lhx4siRIzXes3//ftG7d28x\nYMAAkZiYKL788kshSZIQQogNGzZYPuf69euie/fu4vr162LHjh0iOjpaFBcXiwsXLoiIiAiRkpIi\nhBBi/PjxYv/+/eK3334Td955p+UzlyxZIpYtW1Zl/7z66qti69atQgghCgsLxSOPPCIyMzPF888/\nL7766ishhBCff/65+Pzzz22dAkRuxxY5kYOlpqZa7gOHhIQgOjoaaWlpaNu2reU1UVFRCAkJwQcf\nfIBffvkFly5dQmlpaa3bHjJkCP773/9i9erVVVq19tx3333w9vZG69at8bvf/c6SBrdly5a4ceMG\nAKBPnz4IDw8HAAwbNgxffPEFWrVqhStXrmDChAkAAEmS0KJFC8t277nnnhqflZaWhpiYGDRr1gwA\nMGbMGCxatMhu+R544AEcPHgQaWlpOHz4MFasWIH//ve/WLt2LSZPnozU1FRs3rwZGRkZMBqNltZ7\nr1694O/vD51OBy8vL/Tp0wcA0Lp1a0u92rdvj169egEARowYgXnz5lX57JSUFBiNRuzYsQMAUFZW\nhoyMDDzwwANYuHAhDhw4gOjoaMTExNRpXxO5AwM5kYOZTKYqfwshIElSlWW7d+/GW2+9hccffxwj\nR45ETk4ORB2zJS9YsADx8fFVHsur0Wgs76/+eF4fHx/L/7VardVtVl4uhICPjw8kSUJkZCTefPNN\nAIBer6/yVCg/P78a26leB2t1ryw/Px8bN27E3LlzMXDgQAwcOBDTpk3D/fffjxs3bmDdunW4du0a\nhg4disGDB1se6lG9XhqNpsqTrKzVy2Qy1ai/yWTCqlWr0KlTJwA3u/mbNWsGHx8f9OzZE/v27cN7\n772Hb775BosXL7ZZDyJ34qh1IgeLiorCxx9/DOBmoNq3bx8iIyOh1WotQe3QoUMYOnQoRo4ciRYt\nWuDYsWM1LgBsCQkJwfz587F+/XrLsuDgYGRkZAAA9uzZU+8yf//997h69SokScKnn36Kvn37onv3\n7vj+++9x8eJFAMDatWst99RtiYyMxN69ey0t4o8++sjSUrYmKCgIX331Ff71r39Zll24cAGtWrVC\nYGAgUlJSMHnyZAwZMgSZmZnIzc21e2FQ3fnz53H27FkAN5+ZPmDAgCrr+/Tpgw8//BDAzSeaxcXF\nITs7GzNmzMDp06eRkJBg+T+RXLFFTuRgzzzzDBYtWoS4uDhIkoTp06ejU6dOyM/PR35+PubOnYsn\nnngCL7zwAr788kv4+vqie/fuyMzMxL333lunzzB3sV+/fh0AkJCQgNmzZyM+Ph59+/ZFSEhIvcrc\noUMHzJkzB3l5ebjvvvswcuRIeHl5YenSpXj66adhMpnQunVr/PWvf7W7nbvuuguTJk3CY489hoqK\nCtx99912R9l7e3tj06ZNWL58Od544w3odDq0atUK77zzDry8vDBlyhTMnj0bQUFBCA0NRZcuXeo1\n8j84OBhvvPEGLl68iM6dO2POnDlV1j/77LNVjtXcuXNx++23Y9q0aZg/fz7Wrl0LHx8fxc4UIM/A\np58RkSpduHABf/nLX7B79253F4XIqdi1TkREpGBskRMRESkYW+REREQKxkBORESkYAzkRERECsZA\nTkREpGAM5ERERArGQE5ERKRg/w++hN8rI1A4RwAAAABJRU5ErkJggg==\n", + "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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
num_samplesnum_positivebalancen_componentsn_comp_statusalphaalpha_statustrain_auroctest_aurocoverfit
589446914691200.0042634830min1e-05OK0.786520.822193-0.0356728
748614601460200.013698630min0.01OK0.8591580.7534720.105686
2512831283200.015588530min1000OK0.8591580.4772730.381886
515924052405210.0087318130min1000OK0.7806220.7720130.0086099
4763502502210.041832730min100000OK0.6832110.327320.355891
560433103310210.0063444130min1000OK0.852550.889058-0.0365078
206410641064210.019736830min1000OK0.742770.3480860.394684
1956951951210.02208230min100OK0.9076080.8288770.0787313
749033603360210.0062530min10000000OK0.7244920.796407-0.0719154
597915591559210.013470230min100000OK0.867910.895292-0.0273821
477128132813210.0074653430min100OK0.8587760.6104650.248311
460936243624220.0060706430min100OK0.8908940.8023580.0885365
671451745174220.0042520330min10000000OK0.793780.6333660.160414
673774774220.028423830min1000OK0.8227030.8162250.00647774
408737273727220.0059028730min0.1OK0.5513740.578841-0.0274666
20740114011230.0057342330min1000OK0.8230580.849624-0.0265659
7157331331230.069486430min1000OK0.7872630.896774-0.109511
609817401740240.013793130min100OK0.9053930.5405250.364869
492119181918240.01251330min1000000OK0.7848880.682850.102038
379115021502250.016644530min10000000OK0.8060970.812162-0.00606563
422127082708260.0096011830min0.0001OK0.8606730.4715080.389164
5728769769260.033810130min1000000OK0.8394260.959732-0.120306
67510441044260.024904230min100000OK0.8304080.90098-0.0705721
67212391239270.021791830min1000000OK0.77010.5522630.217837
23815281528310.02028830min1000000OK0.7214370.782222-0.0607853
3265502502310.06175330min10OK0.9742550.9122810.0619746
489315661566330.021072830min0.1OK0.871220.889251-0.0180311
592518911891370.019566430min0.0001OK0.6211430.737711-0.116569
102913711371370.026987630min1OK0.6099120.4365670.173345
1630687687400.058224230min1000OK0.8148570.7336540.0812035
.................................
7428189718971230.064839230min0.0001OK0.9815770.9476060.0339709
7428361836181250.034549530min1e-10min0.9788940.96990.0089942
2064572757271260.02200130min100OK0.8264030.7509720.075431
1029165716571270.076644530min100OK0.8807020.882866-0.00216486
3791490749071270.025881430min100OK0.7738580.69860.0752586
38459779771290.13203730min10OK0.9020390.8574660.0445731
71572142141450.6775730min100OK0.900470.6847290.215741
1029369936991800.048661830min100OK0.8910380.898003-0.00696588
675629962992000.031751130min100OK0.7357160.7219260.0137893
5290217821782000.091827430min10OK0.8267230.8200130.00670988
3845343334332040.059423230min10OK0.9681990.971834-0.00363484
5728432743272080.048070330min10OK0.7971220.806981-0.00985872
5925505550552100.04154330min10OK0.8652710.866529-0.00125774
1956652565252150.032950230min10OK0.8602940.7850220.0752716
324156615662180.13920830min10OK0.9407430.9220540.0186889
1630675367532210.032726230min10OK0.7803130.7349240.0453892
4763573357332400.041862930min100OK0.7267370.6853960.0413409
1029588158812670.045400450min10OK0.8693020.876956-0.00765312
324343034302700.078717250min100OK0.8527380.8329520.0197858
7157109010903180.29174350min100OK0.9067540.8824070.0243474
673437443744010.091678150min10OK0.960010.9523110.00769899
5290513051304130.080506850min10OK0.8326860.814090.0185963
324695669564140.05951750min100OK0.8834530.8637970.0196554
673528652864620.087400750min10OK0.954650.9511210.0035288
3845565756574670.082552650min10OK0.9421340.948224-0.00608928
3845592559255000.084388250min10OK0.9475220.9429030.00461924
673682068205000.073313850min10OK0.9383210.939074-0.00075356
7157213521355010.23466100min10OK0.922550.925382-0.0028321
5290597359735100.0853842100min10OK0.8457820.8080480.0377341
7157207320735800.279788100min10OK0.9101510.9045670.00558366
\n", + "

106 rows × 10 columns

\n", + "
" + ], "text/plain": [ - "" + " num_samples num_positive balance n_components n_comp_status \\\n", + "58944691 4691 20 0.00426348 30 min \n", + "74861460 1460 20 0.0136986 30 min \n", + "251283 1283 20 0.0155885 30 min \n", + "51592405 2405 21 0.00873181 30 min \n", + "4763502 502 21 0.0418327 30 min \n", + "56043310 3310 21 0.00634441 30 min \n", + "20641064 1064 21 0.0197368 30 min \n", + "1956951 951 21 0.022082 30 min \n", + "74903360 3360 21 0.00625 30 min \n", + "59791559 1559 21 0.0134702 30 min \n", + "47712813 2813 21 0.00746534 30 min \n", + "46093624 3624 22 0.00607064 30 min \n", + "67145174 5174 22 0.00425203 30 min \n", + "673774 774 22 0.0284238 30 min \n", + "40873727 3727 22 0.00590287 30 min \n", + "2074011 4011 23 0.00573423 30 min \n", + "7157331 331 23 0.0694864 30 min \n", + "60981740 1740 24 0.0137931 30 min \n", + "49211918 1918 24 0.012513 30 min \n", + "37911502 1502 25 0.0166445 30 min \n", + "42212708 2708 26 0.00960118 30 min \n", + "5728769 769 26 0.0338101 30 min \n", + "6751044 1044 26 0.0249042 30 min \n", + "6721239 1239 27 0.0217918 30 min \n", + "2381528 1528 31 0.020288 30 min \n", + "3265502 502 31 0.061753 30 min \n", + "48931566 1566 33 0.0210728 30 min \n", + "59251891 1891 37 0.0195664 30 min \n", + "10291371 1371 37 0.0269876 30 min \n", + "1630687 687 40 0.0582242 30 min \n", + "... ... ... ... ... ... \n", + "74281897 1897 123 0.0648392 30 min \n", + "74283618 3618 125 0.0345495 30 min \n", + "20645727 5727 126 0.022001 30 min \n", + "10291657 1657 127 0.0766445 30 min \n", + "37914907 4907 127 0.0258814 30 min \n", + "3845977 977 129 0.132037 30 min \n", + "7157214 214 145 0.67757 30 min \n", + "10293699 3699 180 0.0486618 30 min \n", + "6756299 6299 200 0.0317511 30 min \n", + "52902178 2178 200 0.0918274 30 min \n", + "38453433 3433 204 0.0594232 30 min \n", + "57284327 4327 208 0.0480703 30 min \n", + "59255055 5055 210 0.041543 30 min \n", + "19566525 6525 215 0.0329502 30 min \n", + "3241566 1566 218 0.139208 30 min \n", + "16306753 6753 221 0.0327262 30 min \n", + "47635733 5733 240 0.0418629 30 min \n", + "10295881 5881 267 0.0454004 50 min \n", + "3243430 3430 270 0.0787172 50 min \n", + "71571090 1090 318 0.291743 50 min \n", + "6734374 4374 401 0.0916781 50 min \n", + "52905130 5130 413 0.0805068 50 min \n", + "3246956 6956 414 0.059517 50 min \n", + "6735286 5286 462 0.0874007 50 min \n", + "38455657 5657 467 0.0825526 50 min \n", + "38455925 5925 500 0.0843882 50 min \n", + "6736820 6820 500 0.0733138 50 min \n", + "71572135 2135 501 0.23466 100 min \n", + "52905973 5973 510 0.0853842 100 min \n", + "71572073 2073 580 0.279788 100 min \n", + "\n", + " alpha alpha_status train_auroc test_auroc overfit \n", + "58944691 1e-05 OK 0.78652 0.822193 -0.0356728 \n", + "74861460 0.01 OK 0.859158 0.753472 0.105686 \n", + "251283 1000 OK 0.859158 0.477273 0.381886 \n", + "51592405 1000 OK 0.780622 0.772013 0.0086099 \n", + "4763502 100000 OK 0.683211 0.32732 0.355891 \n", + "56043310 1000 OK 0.85255 0.889058 -0.0365078 \n", + "20641064 1000 OK 0.74277 0.348086 0.394684 \n", + "1956951 100 OK 0.907608 0.828877 0.0787313 \n", + "74903360 10000000 OK 0.724492 0.796407 -0.0719154 \n", + "59791559 100000 OK 0.86791 0.895292 -0.0273821 \n", + "47712813 100 OK 0.858776 0.610465 0.248311 \n", + "46093624 100 OK 0.890894 0.802358 0.0885365 \n", + "67145174 10000000 OK 0.79378 0.633366 0.160414 \n", + "673774 1000 OK 0.822703 0.816225 0.00647774 \n", + "40873727 0.1 OK 0.551374 0.578841 -0.0274666 \n", + "2074011 1000 OK 0.823058 0.849624 -0.0265659 \n", + "7157331 1000 OK 0.787263 0.896774 -0.109511 \n", + "60981740 100 OK 0.905393 0.540525 0.364869 \n", + "49211918 1000000 OK 0.784888 0.68285 0.102038 \n", + "37911502 10000000 OK 0.806097 0.812162 -0.00606563 \n", + "42212708 0.0001 OK 0.860673 0.471508 0.389164 \n", + "5728769 1000000 OK 0.839426 0.959732 -0.120306 \n", + "6751044 100000 OK 0.830408 0.90098 -0.0705721 \n", + "6721239 1000000 OK 0.7701 0.552263 0.217837 \n", + "2381528 1000000 OK 0.721437 0.782222 -0.0607853 \n", + "3265502 10 OK 0.974255 0.912281 0.0619746 \n", + "48931566 0.1 OK 0.87122 0.889251 -0.0180311 \n", + "59251891 0.0001 OK 0.621143 0.737711 -0.116569 \n", + "10291371 1 OK 0.609912 0.436567 0.173345 \n", + "1630687 1000 OK 0.814857 0.733654 0.0812035 \n", + "... ... ... ... ... ... \n", + "74281897 0.0001 OK 0.981577 0.947606 0.0339709 \n", + "74283618 1e-10 min 0.978894 0.9699 0.0089942 \n", + "20645727 100 OK 0.826403 0.750972 0.075431 \n", + "10291657 100 OK 0.880702 0.882866 -0.00216486 \n", + "37914907 100 OK 0.773858 0.6986 0.0752586 \n", + "3845977 10 OK 0.902039 0.857466 0.0445731 \n", + "7157214 100 OK 0.90047 0.684729 0.215741 \n", + "10293699 100 OK 0.891038 0.898003 -0.00696588 \n", + "6756299 100 OK 0.735716 0.721926 0.0137893 \n", + "52902178 10 OK 0.826723 0.820013 0.00670988 \n", + "38453433 10 OK 0.968199 0.971834 -0.00363484 \n", + "57284327 10 OK 0.797122 0.806981 -0.00985872 \n", + "59255055 10 OK 0.865271 0.866529 -0.00125774 \n", + "19566525 10 OK 0.860294 0.785022 0.0752716 \n", + "3241566 10 OK 0.940743 0.922054 0.0186889 \n", + "16306753 10 OK 0.780313 0.734924 0.0453892 \n", + "47635733 100 OK 0.726737 0.685396 0.0413409 \n", + "10295881 10 OK 0.869302 0.876956 -0.00765312 \n", + "3243430 100 OK 0.852738 0.832952 0.0197858 \n", + "71571090 100 OK 0.906754 0.882407 0.0243474 \n", + "6734374 10 OK 0.96001 0.952311 0.00769899 \n", + "52905130 10 OK 0.832686 0.81409 0.0185963 \n", + "3246956 100 OK 0.883453 0.863797 0.0196554 \n", + "6735286 10 OK 0.95465 0.951121 0.0035288 \n", + "38455657 10 OK 0.942134 0.948224 -0.00608928 \n", + "38455925 10 OK 0.947522 0.942903 0.00461924 \n", + "6736820 10 OK 0.938321 0.939074 -0.00075356 \n", + "71572135 10 OK 0.92255 0.925382 -0.0028321 \n", + "52905973 10 OK 0.845782 0.808048 0.0377341 \n", + "71572073 10 OK 0.910151 0.904567 0.00558366 \n", + "\n", + "[106 rows x 10 columns]" ] }, "metadata": {}, "output_type": "display_data" }, - { - "data": { - "image/png": "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\n9++PI0eOQKvVQq1W49y5cwgObrn7CERERC1B5a5ASHCA2W0hwf5QubfcE9fs0iPX6/VYtWoVbr31\nVsyfPx8AMGTIEDz11FOIj49HXFwchBBYsGABVCqVPZpERETUrGIjewCovSdeoq6Cr7cHQoL9Te+3\nFJkQQrToGVqAteEJDh3VYhwYAyPGgTEwYhxqtXQctDo9SjVatPNSNVtP3NrQul3vkRMRETk7lbsC\ngb5t7XY+VnYjIiKSMCZyIiIiCWMiJyIikjAmciIiIgljIiciIpIwJnIiIiIJYyInIiKSMCZyIiIi\nCWMiJyIikjAmciIiIgljIicicgFanR55heXQ6vSObgo1M9ZaJyJyYnqDAdvTzyIruwDFai38vFUI\nCQ5AbGQPKOTsyzkDJnIiIie2Pf0s9vyYY3pdVKbFnh9zoNcbEB/V24Eto+bCRE5E5KS0Oj2ysgvM\nbvv2WC4gkyFubE/2zCWOPz0iIidVqtGiuExrdptBAN8cvYTt6Wft3CpqbkzkREROqp2XCn4+Kqv7\nZGUXcgKcxDGRExE5KZW7AiHBAVb3KVFXoVRjvtdO0sBETkTkxGIjeyAi5DbIZea3+3p7oJ2X9V47\ntW5M5ERETkwhlyM+qjfCQzqa3R4S7A+Vu8LOraLmxFnrREQuIG5sT3h7qnDgeC5K1FXw9fZASLA/\nYiN7OLppdJOYyImIXIBCLsdjk/vhrtDOKNVo0c5LxZ64k2AiJyJyISp3BQJ92zq6GdSMeI+ciIhI\nwpjIiYiIJIyJnIiISMKYyImIiCSMiZyIiEjCmMiJiIgkjImciIhIwpjIiYiIJIyJnIiISMKYyImI\niCSMiZyIiEjCmMiJiIgkjImciIhIwpjIiYiIJIyJnIiISMKYyImIiCSMiZyIiEjCmMiJiIgkrEUT\n+fHjxxEfHw8A+P3333H//fcjLi4Oy5Ytg8FgAADs2LED9957L+677z588803LdkcIiIip9NiiXzT\npk1ITk6GVqsFAKxevRoJCQnYunUrhBDYu3cvCgoKsHnzZmzbtg3vvfce1q1bh+rq6pZqEhG5qKrq\nGuSXVECr0zu6KUTNzq2lDtylSxekpqbiueeeAwCcPHkSoaGhAICwsDAcOHAAcrkcISEhUCqVUCqV\n6NKlC06fPo3+/fu3VLOIyIXoDQZsTz+LE+eKUFBSCT8fFUKCAxAb2QMKOe8sknNosUQeFRWFnJwc\n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\nSUVORK5CYII=\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# What does k_func look like?\n", - "X_plot = [] # number of samples\n", - "Y_plot = [] # number of positives\n", - "Z_plot = [] # k (number of components in PCA)\n", - "for query in query_list:\n", - " X_plot.append(query[2]['total'])\n", - " Y_plot.append(query[2]['positive'])\n", - " Z_plot.append(k_func(query[2]['total'], query[2]['positive']))\n", - "\n", - "\n", - "plt.scatter(X_plot, Z_plot)\n", - "plt.title('Number of Components vs. Query Size')\n", - "plt.ylabel('K')\n", - "plt.xlabel('Total Number of Samples')\n", - "plt.show()\n", - "\n", - "plt.scatter(Y_plot, Z_plot)\n", - "plt.title('Number of Components vs. Number of Positives')\n", - "plt.ylabel('K')\n", - "plt.xlabel('Number of Positives')\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ { "data": { "text/html": [ @@ -1891,38 +4093,38 @@ " \n", " \n", " mean\n", - " 3150.92\n", - " 128.104\n", - " 0.0693938\n", - " 43.0566\n", - " 0.522745\n", - " 0.783774\n", - " 0.707836\n", - " 0.0759387\n", + " 3041.51\n", + " 124.623\n", + " 0.0639019\n", + " 33.8679\n", + " 1.26733e+06\n", + " 0.831054\n", + " 0.776023\n", + " 0.0550313\n", " \n", " \n", " median\n", - " 2941\n", - " 93\n", - " 0.0336463\n", - " 39\n", - " 0.522745\n", - " 0.780819\n", - " 0.7216\n", - " 0.0637825\n", + " 2627\n", + " 81\n", + " 0.0318417\n", + " 30\n", + " 100\n", + " 0.830408\n", + " 0.785022\n", + " 0.0243272\n", " \n", " \n", "\n", "" ], "text/plain": [ - " num_samples num_positive balance n_components alpha train_auroc \\\n", - "mean 3150.92 128.104 0.0693938 43.0566 0.522745 0.783774 \n", - "median 2941 93 0.0336463 39 0.522745 0.780819 \n", + " num_samples num_positive balance n_components alpha \\\n", + "mean 3041.51 124.623 0.0639019 33.8679 1.26733e+06 \n", + "median 2627 81 0.0318417 30 100 \n", "\n", - " test_auroc overfit \n", - "mean 0.707836 0.0759387 \n", - "median 0.7216 0.0637825 " + " train_auroc test_auroc overfit \n", + "mean 0.831054 0.776023 0.0550313 \n", + "median 0.830408 0.785022 0.0243272 " ] }, "metadata": {}, @@ -1932,126 +4134,52 @@ "name": "stdout", "output_type": "stream", "text": [ - "Mean testing Auroc improved by -0.72%\n", - "Median testing Auroc improved by -1.00%\n", - "Mean overfitting reduced by -0.1%\n", - "Median overfitting reduced by -1.6%\n", - "Wall time: 31min 58s\n" + "Mean testing Auroc improved by 5.35%\n", + "Median testing Auroc improved by 5.87%\n", + "Mean overfitting reduced by 1.2%\n", + "Median overfitting reduced by 2.1%\n", + "Wall time: 33min 54s\n" ] } ], "source": [ "%%time\n", - "# k function.\n", + "# proposed simpler k function and alpha and l1_ratio.\n", "metrics_df = evaluate_classifier(X = X,\n", " y = y,\n", " list_of_queries = query_list,\n", " set_k_range = None,\n", - " k_function = k_func,\n", - " alpha_range = [10** x for x in range(-3, 1)],\n", - " l1_ratio = [0.15])\n", - "display_stats(metrics_df, metrics_df_current_setup, verbose = False)" + " k_function = k_func_proposed,\n", + " alpha_range = [10** x for x in range(-10, 10)],\n", + " l1_ratio = [0])\n", + "display_stats(metrics_df, metrics_df_current_setup, verbose = True)" ] }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 22, "metadata": {}, "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", - "
num_samplesnum_positivebalancen_componentsalphatrain_auroctest_aurocoverfit
mean3150.92128.1040.069393843.05661.16461e+070.8383620.7641750.0741869
median2941930.0336463391000.8420110.7798170.0430844
\n", - "
" - ], + "image/png": "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\n4xfyDR8+HBMnTsT27dshl8sxb948AMCSJUvQuHFjdOnSBQMHDkR6ejqEEBg7diyCgoLcEhvbxRIR\nUU3C1rqVUNPbxZbHw2r2MT+OMUf2MT+OMUf2sbWui7FdLBER1QQeP6dPRERE7sGiT0REJBEs+kRE\nRBLBok9ERCQRLPpEREQSwaJPREQkESz6REREEsGiT0REJBEs+kRERBLBok9ERCQRLPpEREQSwaJP\nREQkESz6REREEsGiT0REJBEs+kRERBLBok9ERCQRLPpEREQSwaJPREQkESz6REREEsGiT0REJBEs\n+kRERBLBok9ERCQRLPpEREQSwaJPREQkESz6REREEsGiT0REJBEs+kRERBLBok9ERCQR/p4OYPHi\nxfj5558BAIWFhcjLy8POnTst3pOZmYkDBw4gNDQUALBo0SIolUq3x0pEROTLPF70hw8fjuHDhwMA\nnnvuOUycOLHCe44dO4aPPvoI4eHh7g6PiIioxvCaw/vff/89ateujfbt21tMN5lMOH/+PKZPn47+\n/ftj5cqVHoqQiIjIt8mEEMJdK1uxYgU+++wzi2lz587FI488guTkZCxYsABNmjSxGFer1fj8888x\nePBgGI1GDBo0CHPnzsV9991nd10GgxH+/nKnbwMREZGvcuvh/ZSUFKSkpFSYnp2djdq1a1co+AAQ\nEhKCQYMGISQkBADQtm1bHD9+3GHRz8/XWJ0eGalEbq6qGtFLA/NjH/PjGHNkH/PjGHNkn638REY6\nvtbNKw7v79q1Cx07drQ6du7cOaSlpcFoNEKv1+PAgQN48MEH3RwhERGR7/P4hXwAcPbsWTzxxBMW\n05YsWYLGjRujS5cuSEhIQL9+/RAQEICEhAS0aNHCQ5ESERH5Lree03cnW4eGeNjIPubHPubHMebI\nPubHMebIPp8/vE9ERESux6JPREQkESz6REREEsGiT0REJBEs+kRERBLBok9ERCQRLPpEREQSwaJP\nREQkESz6REREEsGiT0REJBEs+kRERBLBok9ERCQRLPpEREQSwaJPREQkESz6REREEsGiT0REJBEs\n+kRERBLBok9ERCQRLPpEREQSwaJPREQkESz6REREEsGiT0REJBEs+kRERBLBok9ERCQRLPpEREQS\nwaJPREQkESz6REREEsGiT0REJBEs+kRERBLBoi8xWr0R1/I10OqNPr0OIiKqOn9PrHTLli347rvv\n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\nsWHDBrRp0wavvfYa1q1bh8TEREyfPt18rruMXC6HwWCosI569eqhfv36WLx4MXr37g0AaNu2Ldat\nWwrH864AAAH2SURBVIeioiIYDAaMGjUKmzdvtpjviy++QFZWFp566inMmDEDN27cQEFBAc6dO4cX\nX3wRsbGx2Llzp8MvNrfasWMHVCoVtFotNm7caD46AABKpRJ33323uejv3LkT//nPf2AwGNCtWzeE\nhYXhueeeQ0JCAv78888qrZfI1binT+RkZYf5hw4dCgBo0aIFYmNj0bNnTzRs2BCtWrWq8jLPnTuH\nhIQEhIaGmi84mzp1KqZPn474+HgApV25HF15//rrr2PmzJnIyspCQEAAsrKyKhxtuFVQUBDS09Oh\nVqvx3HPPoXnz5mjSpIk5Jr1ej969e+PJJ5/EQw89hPHjx2PNmjWQy+WYMWOGxbKaNWsGlUpl0bq4\nTEJCAt566y20adMGQOkh9uPHj6Nfv34wGo3o0KEDEhMTLebp06cPxo0bh/j4ePj7+2P06NGoW7cu\nUlJS0LNnTygUCjz22GMoKSmBRqNxnOi/3XHHHRg2bBjy8/ORkJCADh06mNuals/jRx99hICAALz1\n1lsICAjAmDFjMHjwYAQHB6N27dpWL+wk8iR22SMim7KysgAAL7zwgocjcZ/Vq1dj79695i9XRDUJ\nD+8TERFJBPf0iYiIJIJ7+kRERBLBok9ERCQRLPpEREQSwaJPREQkESz6REREEsGiT0REJBH/H1ob\nkleBefdtAAAAAElFTkSuQmCC\n", "text/plain": [ - " num_samples num_positive balance n_components alpha \\\n", - "mean 3150.92 128.104 0.0693938 43.0566 1.16461e+07 \n", - "median 2941 93 0.0336463 39 100 \n", - "\n", - " train_auroc test_auroc overfit \n", - "mean 0.838362 0.764175 0.0741869 \n", - "median 0.842011 0.779817 0.0430844 " + "" ] }, "metadata": {}, "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Mean testing Auroc improved by 4.92%\n", - "Median testing Auroc improved by 4.82%\n", - "Mean overfitting reduced by 0.1%\n", - "Median overfitting reduced by 0.5%\n", - "Wall time: 36min 48s\n" - ] } ], "source": [ - "%%time\n", - "# k function and alpha and l1_ratio.\n", - "metrics_df = evaluate_classifier(X = X,\n", - " y = y,\n", - " list_of_queries = query_list,\n", - " set_k_range = None,\n", - " k_function = k_func,\n", - " alpha_range = [10** x for x in range(-10, 10)],\n", - " l1_ratio = [0])\n", - "display_stats(metrics_df, metrics_df_current_setup, verbose = False)" + "num_pos_plot = metrics_df['num_positive'].tolist()\n", + "alpha_plot = metrics_df['alpha'].tolist()\n", + "alpha_log10_plot = [math.log(a,10) for a in alpha_plot]\n", + "plt.scatter(num_pos_plot, alpha_log10_plot)\n", + "plt.title('Number of Positives vs. alpha')\n", + "plt.ylabel('Log10 of alpha')\n", + "plt.xlabel('Number of positive samples')\n", + "plt.show()\n" ] } ], diff --git a/explore/number-of-components/number_of_pca_components_(subset_by_disease).py b/explore/number-of-components/number_of_pca_components_(subset_by_disease).py index e69de29..8cd7f20 100644 --- a/explore/number-of-components/number_of_pca_components_(subset_by_disease).py +++ b/explore/number-of-components/number_of_pca_components_(subset_by_disease).py @@ -0,0 +1,533 @@ + +# coding: utf-8 + +# # Explore how many PCA Components to Keep and Hyperparameter Tuning +# # (Queries with subset of the diseases) + +# __Purpose__ +# +# Address issue #106 (https://github.com/cognoma/machine-learning/issues/106). Evaluate queries that don't inlcude all the samples but rather subset the samples by disease(s). +# +# __Assumptions/Notes:__ +# +# This notebook differs from the current classifier in a number of ways including: +# 1. In this notebook, PCA is performed on the entire training set prior to cross-validation rather than performed on each individual cross-validation split. This is done for simplicity and to save time and memory. +# 2. In this notebook, the covariates data is not used (for now at least). +# +# +# __To Do:__ +# +# 1. Some additional evaluation and... select a final setup. +# 2. _We could also try to add the covariates data into this evaluation and see how that changes things but I'm not planning on doing that at this point._ + +# ## Outline: +# 1. Imports, constants and load the data +# 2. Build the querry set +# * List of genes +# * Summary stats for each gene-disease combo +# * Generate a set of queries +# 3. Evaluate queries with a subset of diseases and varying number of positives +# - a. Define some helper functions +# - b. See how the parameters are related using the current setup +# - c. Evaluate how changing some of the parameters effects performance +# - d. See if we can use a function to automatically select the number of components + +# ## 1. Imports, constants and load the data + +# In[1]: + + +import os +import time +import random +import math + +from sklearn.decomposition import PCA +from sklearn.linear_model import SGDClassifier +from sklearn.metrics import roc_auc_score, roc_curve +from sklearn.model_selection import train_test_split, StratifiedKFold +from dask_searchcv import GridSearchCV +from sklearn.pipeline import Pipeline, FeatureUnion +from sklearn.preprocessing import StandardScaler, FunctionTransformer +import matplotlib.pyplot as plt +import numpy as np +import pandas as pd +import seaborn as sns +from sklearn.feature_selection import SelectKBest + + +# In[2]: + + +RANDOMSEED = 0 + + +# In[3]: + + +get_ipython().run_cell_magic('time', '', "# Load the data\ntry: \n path = os.path.join('download', 'expression-matrix.pkl')\n X = pd.read_pickle(path)\nexcept:\n path = os.path.join('download', 'expression-matrix.tsv.bz2')\n X = pd.read_table(path, index_col=0)\n\ntry:\n path = os.path.join('download', 'mutation-matrix.pkl')\n y = pd.read_pickle(path)\nexcept:\n path = os.path.join('download', 'mutation-matrix.tsv.bz2')\n y = pd.read_table(path, index_col=0)\n \npath = os.path.join('download', 'covariates.tsv')\ncovariates = pd.read_table(path,index_col=0)") + + +# ## 2. Build the query set + +# In[4]: + + +# List of genes to iterate over (from brankaj's notebook: +# https://github.com/cognoma/machine-learning/blob/master/explore/Classifier_results-different_genes.ipynb) +genes_LungCancer = { + '207': 'AKT1', + '238': 'ALK', + '673': 'BRAF', + '4921':'DDR2', + '1956':'EGFR', + '2064':'ERBB2', + '3845':'KRAS', + '5604':'MAP2K1', + '4893':'NRAS', + '5290':'PIK3CA', + '5728':'PTEN', + '5979':'RET', + # '6016':'RIT1', (removed because too few positives) + '6098':'ROS1', +} + +genes_TumorSuppressors = { + '324': 'APC', + '672': 'BRCA1', + '675': 'BRCA2', + '1029':'CDKN2A', + '1630':'DCC', + '4089':'SMAD4', + '4087':'SMAD2', + '4221':'MEN1', + '4763':'NF1', + '4771':'NF2', + '7157':'TP53', + '5728':'PTEN', + '5925':'RB1', + '7428':'VHL', + '7486':'WRN', + '7490':'WT1', +} + +genes_Oncogenes = { + #'5155':'PDGFB', #growth factor (removed because too few positives) + '5159':'PDGFRB', #growth factor + '3791':'KDR', #receptor tyrosine kinases + '25':'ABL1', #Cytoplasmic tyrosine kinases + '6714':'SRC', #Cytoplasmic tyrosine kinases + '5894':'RAF1',#cytoplasmic serine kinases + '3265':'HRAS',#regulatory GTPases + '4609':'MYC',#Transcription factors + #'2353':'FOS',#Transcription factors (removed because too few positives) + +} + +list_of_genes = (list(genes_LungCancer.keys()) + list(genes_TumorSuppressors.keys()) + + list(genes_Oncogenes.keys())) + + +# Create a dictionary of {gene: +# {disease: +# {total: #, positive: #, negative: #}, ... + +# In[5]: + + +get_ipython().run_cell_magic('time', '', "disease_list_acronyms = [col for col in covariates.columns if col.startswith('acronym_')]\ndisease_list = [disease.strip('acronym_') for disease in disease_list_acronyms]\ngene_dict = {}\nfor gene in list_of_genes:\n # Subset by gene.\n y_gene = y[gene] \n gene_dict[gene] = dict.fromkeys(disease_list)\n for disease in disease_list:\n # Subset by disease.\n disease_cols = [col for col in disease_list_acronyms if col.endswith(disease)]\n has_disease = covariates[disease_cols].max(axis=1) > 0\n disease_cols = covariates[has_disease]\n y_gene_disease = y_gene[y_gene.index.isin(disease_cols.index)]\n # Get query stats.\n stats = {}\n stats['total'] = y_gene_disease.shape[0]\n stats['positive'] = y_gene_disease.sum()\n stats['negative'] = stats['total'] - stats['positive']\n gene_dict[gene][disease] = stats") + + +# In[6]: + + +'''Randomly iterate through gene/disease(s) combinations to create a list +of queries that we can use for analysis. Something like: +[ [gene, [disease1, disease2, etc], {total: #, negative: #, positive: #}], ] + +Try to provide general coverage of the +different possibilities of class balance and total sample size while using +the following constraints: +1. All queries should have at least 20 positives. +2. Only use one gene per query (for simplicity). +''' + +def generate_queries(randomseed = 0, positive_bound = 20): + random.seed(randomseed) + queries = [] + keys_gene = list(gene_dict.keys()) + random.shuffle(keys_gene) + for gene in keys_gene: + keys_disease = list(gene_dict[gene].keys()) + random.shuffle(keys_disease) + total_total, total_positives, total_negatives = 0, 0, 0 + diseases = [] + for disease in keys_disease: + if total_positives < positive_bound: + total_total += gene_dict[gene][disease]['total'] + total_positives += gene_dict[gene][disease]['positive'] + diseases.append(disease) + + total_negatives = total_total - total_positives + num_diseases = len(diseases) + query = [gene, diseases, {'total': total_total, 'positive': total_positives, 'negative': total_negatives}] + if query[2]['positive'] >= positive_bound: + queries.append(query) + return(queries) + +query_list1 = generate_queries(randomseed = 0, positive_bound = 20) +query_list2 = generate_queries(randomseed = 1, positive_bound = 60) +query_list3 = generate_queries(randomseed = 2, positive_bound = 100) +query_list4 = generate_queries(randomseed = 3, positive_bound = 200) +query_list5 = generate_queries(randomseed = 4, positive_bound = 400) +query_list6 = generate_queries(randomseed = 5, positive_bound = 500) +query_list = query_list1 + query_list2 + query_list3 + query_list4 + query_list5 + query_list6 +print('There are ' + str(len(query_list)) + ' queries in the list.') + + +# In[7]: + + +# Visuallize our query set to make sure it's not too skewed +number_of_diseases =[] +for query in query_list: + number_of_diseases.append(len(query[1])) +number_of_diseases.sort() +plt.plot(number_of_diseases) +plt.ylabel('number of diseases') +plt.title('Diseases') +plt.show() + +number_of_samples =[] +for query in query_list: + number_of_samples.append(query[2]['total']) +number_of_samples.sort() +plt.plot(number_of_samples) +plt.title('Samples') +plt.ylabel('number of samples') +plt.show() + +number_of_positives =[] +for query in query_list: + number_of_positives.append(query[2]['positive']) +number_of_positives.sort() +plt.plot(number_of_positives) +plt.title('Positives') +plt.ylabel('number of positives') +plt.show() + + +# ## 3. Evaluate queries with different subsets of diseases and varying number of positives + +# ### 3.a. Define some helper functions + +# In[8]: + + +def variance_scorer(x, y): + """ + Get the variance for each column of X. + + Because principal components have decreasing variance + (i.e. PC4 has less variance than PC3 which has less variance + than PC2 etc.), we can use this function in SelectKBest to select + only the top X number of principal components. + + """ + scores = [np.var(column) for column in x.T] + return scores, np.array([np.NaN]*len(scores)) + + +# In[9]: + + +def evaluate_classifier(X, + y, + list_of_queries, + set_k_range, k_function, + alpha_range, + l1_ratio): + + ''' Run a classifier setup on a set of queries. + + Loop through each query; train and test the classifier using the + hyperparameters input as parameters; populate the metrics dictionary + with some metrics of which parameters were selected and how well + the classifier did for that query. + ''' + + # A dictionary to hold the performance metrics. + metrics_dict = {} + + # Loop through each query; train and test the classifer; populate the metrics dictionary. + for query in list_of_queries: + num_samples = query[2]['total'] + num_positives = query[2]['positive'] + + # Subset by gene. + y_query = y[query[0]] + # Subset by diseases. + disease_cols = [col for col in covariates.columns if col.endswith(tuple(query[1]))] + has_disease = covariates[disease_cols].max(axis=1) > 0 + covariates_query = covariates[has_disease] + X_query = X[X.index.isin(covariates_query.index)] + y_query = y_query[y_query.index.isin(covariates_query.index)] + + # Test Train split + test_size = 0.2 + X_train, X_test, y_train, y_test = train_test_split(X_query, y_query, stratify=y_query, test_size=test_size, random_state=RANDOMSEED) + # PCA. + scaler = StandardScaler() + if query[2]['total']*(1-test_size)*(1-(1/3)) > 350: + n_comp = 350 + else: + n_comp = int(query[2]['total']*(1-test_size) - 1) + pca = PCA(n_components = n_comp, random_state = RANDOMSEED) + scaler.fit(X_train) + X_train_scaled = scaler.transform(X_train) + pca.fit(X_train_scaled) + X_train = pca.transform(X_train_scaled) + X_test_scaled = scaler.transform(X_test) + X_test = pca.transform(X_test_scaled) + + if set_k_range: + k_range = set_k_range + else: + k_range = k_function(num_samples=num_samples, + num_positives=num_positives, + ) + # Parameter Sweep for Hyperparameters + param_grid = { + 'select__k': k_range, + 'classify__loss': ['log'], + 'classify__penalty': ['elasticnet'], + 'classify__alpha': alpha_range, + 'classify__l1_ratio': l1_ratio, + } + pipeline = Pipeline(steps=[ + ('select', SelectKBest(variance_scorer)), + ('classify', SGDClassifier(random_state=RANDOMSEED, class_weight='balanced')) + ]) + cv_pipeline = GridSearchCV(estimator=pipeline, + param_grid=param_grid, + n_jobs=1, + scoring='roc_auc') + cv_pipeline.fit(X=X_train, y=y_train) + y_pred_train = cv_pipeline.decision_function(X_train) + y_pred_test = cv_pipeline.decision_function(X_test) + # Get ROC info. + 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} + metrics_train = get_threshold_metrics(y_train, y_pred_train) + metrics_test = get_threshold_metrics(y_test, y_pred_test) + + # Populate the metrics dictionary. + # Get metrics for the classifier. + overfit = metrics_train['auroc'] - metrics_test['auroc'] + # Understand how the parameter grid worked... any params at the edge? + if cv_pipeline.best_params_['select__k'] == min(param_grid['select__k']): + n_comp_status = 'min' + elif cv_pipeline.best_params_['select__k'] == max(param_grid['select__k']): + n_comp_status = 'max' + else: + n_comp_status = 'OK' + if cv_pipeline.best_params_['classify__alpha'] == min(param_grid['classify__alpha']): + alpha_status = 'min' + elif cv_pipeline.best_params_['classify__alpha'] == max(param_grid['classify__alpha']): + alpha_status = 'max' + else: + alpha_status = 'OK' + metrics = {'num_samples': num_samples, + 'num_positive': num_positives, + 'balance': num_positives/num_samples, + 'train_auroc': metrics_train['auroc'], + 'test_auroc': metrics_test['auroc'], + 'n_components': cv_pipeline.best_params_['select__k'], + 'alpha': cv_pipeline.best_params_['classify__alpha'], + 'overfit': overfit, + 'n_comp_status': n_comp_status, + 'alpha_status': alpha_status + } + # Add the metrics to the dictonary. + metrics_dict[query[0]+str(query[2]['total'])] = metrics + # Change the metrics dict into a formatted pandas dataframe. + metrics_df = pd.DataFrame(metrics_dict) + metrics_df = metrics_df.T + metrics_df.sort_values(by='num_positive', ascending=True, inplace=True) + metrics_df = metrics_df[['num_samples', 'num_positive', 'balance', 'n_components','n_comp_status', 'alpha', 'alpha_status','train_auroc', 'test_auroc', 'overfit']] + + return(metrics_df) + + +# In[10]: + + +def display_stats(metrics_df, metrics_df_tocompare = None, verbose = True): + if verbose: + display(metrics_df) + # Summary for metrics_df + metrics_df.loc['mean'] = metrics_df.mean() + metrics_df.loc['median'] = metrics_df.median() + metrics_df_summary = metrics_df.loc[['mean', 'median']] + metrics_df_summary = metrics_df_summary[['num_samples', 'num_positive', 'balance', 'n_components', 'alpha', 'train_auroc', 'test_auroc','overfit']] + display(metrics_df_summary) + if metrics_df_tocompare is not None: + # Summary for metrics_df_tocompare + metrics_df_tocompare.loc['mean'] = metrics_df_tocompare.mean() + metrics_df_tocompare.loc['median'] = metrics_df_tocompare.median() + metrics_df_to_compare_summary = metrics_df_tocompare.loc[['mean', 'median']] + # Evaluate the improvement + mean_testing_auroc_improvement = metrics_df_summary['test_auroc']['mean'] - metrics_df_to_compare_summary['test_auroc']['mean'] + median_testing_auroc_improvement = metrics_df_summary['test_auroc']['median'] - metrics_df_to_compare_summary['test_auroc']['median'] + mean_overfit_reduction = metrics_df_to_compare_summary['overfit']['mean'] - metrics_df_summary['overfit']['mean'] + median_overfit_reduction = metrics_df_to_compare_summary['overfit']['median'] - metrics_df_summary['overfit']['median'] + print('Mean testing Auroc improved by {:.2f}%'.format(mean_testing_auroc_improvement*100)) + print('Median testing Auroc improved by {:.2f}%'.format(median_testing_auroc_improvement*100)) + print('Mean overfitting reduced by {:.1f}%'.format(mean_overfit_reduction*100)) + print('Median overfitting reduced by {:.1f}%'.format(median_overfit_reduction*100)) + + +# ### 3.b. See how the parameters are related using the current setup + +# In[11]: + + +get_ipython().run_cell_magic('time', '', 'metrics_df_current_setup = evaluate_classifier(X = X,\n y = y,\n list_of_queries = query_list,\n set_k_range = [20, 40],\n k_function = None,\n alpha_range = [10** x for x in range(-3, 1)],\n l1_ratio = [0.15])\ndisplay_stats(metrics_df_current_setup, metrics_df_tocompare = None)') + + +# In[12]: + + +# Show how some of these metrics/parameters might be related +metrics_df_for_correlations = metrics_df_current_setup[['num_samples', 'num_positive', 'balance', 'n_components', 'alpha', 'train_auroc', 'test_auroc', 'overfit']] +plt.figure(figsize=(16,16)) +plt.title('Correlations', y=1.05, size=15) +sns.heatmap(metrics_df_for_correlations.astype(float).corr(),linewidths=0.1,vmax=1.0, square=True, annot=True) +sns.plt.show() + + +# ### 3.c. Evaluate how changing some of the parameters effects performance +# +# - When a larger range of alpha and an L1_ratio of 0 were used for the queries with all diseases there was a large performance gain (~6%-8%)... will there be a similar performance gain with these queries? + +# In[13]: + + +get_ipython().run_cell_magic('time', '', '# alpha and L1_ratio.\nmetrics_df = evaluate_classifier(X = X,\n y = y,\n list_of_queries = query_list,\n set_k_range = [10, 20],\n k_function = None,\n alpha_range = [10** x for x in range(-10, 10)],\n l1_ratio = [0])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = True)') + + +# ## 4.d. Use a function to select k (number of PCA components) +# - You can't us n_components (which the select_K is realy just a proxy for in this notebook) larger than the smallest total query size * the test train split ratio * 1-(1/cv) (for example if there is a query that has 100 total samples and you do a 80%/20% split than the training set only has 80 samples in it and if you do 3 fold CV each training fold will only have 80*0.66 (54) samples, so you couldn't do PCA with anymore than 54 components). +# - There is a risk of overfitting if you use too many components for more unballanced queries +# - It requires less components to capture a reasonable amount of variance for queries with less samples +# - We haven't seen much of a clear coorelation with the two hueristics above; understanding them quantitatively has been difficult + +# In[14]: + + +def k_func(num_samples, num_positives): + ''' Decide the number of PCA components based on a heuristic of total samples and class balance. + ''' + # If there are more positives than negatives, set num_positives equal to the number of negatives + num_positives = min(num_positives, num_samples - num_positives) + # Rule of thumb based on number of positives + k = 5 * math.sqrt(num_positives) + # Adjust slightly for total number of samples + k = k * ((num_samples / 7000)**(1./6.)) + k = [int(k)] + return(k) + + +# In[15]: + + +def k_func_proposed(num_samples, num_positives): + ''' Simpler function proposed for use. + ''' + # If there are more positives than negatives, set num_positives equal to the number of negatives + num_positives = min(num_positives, num_samples - num_positives) + # Rule of thumb based on number of positives + if num_positives > 500: + k = 100 + elif num_positives > 250: + k = 50 + else: + k = 30 + k = [int(k)] + return(k) + + +# What do the k_funcs look like? + +# In[16]: + + +def plot_k_func(k_func): + X_plot = [] # number of samples + Y_plot = [] # number of positives + Z_plot = [] # k (number of components in PCA) + for query in query_list: + X_plot.append(query[2]['total']) + Y_plot.append(query[2]['positive']) + Z_plot.append(k_func(query[2]['total'], query[2]['positive'])) + + + plt.scatter(X_plot, Z_plot) + plt.title('Number of Components vs. Query Size') + plt.ylabel('K') + plt.xlabel('Total Number of Samples') + plt.show() + + plt.scatter(Y_plot, Z_plot) + plt.title('Number of Components vs. Number of Positives') + plt.ylabel('K') + plt.xlabel('Number of Positives') + plt.show() + + +# In[17]: + + +plot_k_func(k_func) + + +# In[18]: + + +plot_k_func(k_func_proposed) + + +# In[19]: + + +get_ipython().run_cell_magic('time', '', '# k function.\nmetrics_df = evaluate_classifier(X = X,\n y = y,\n list_of_queries = query_list,\n set_k_range = None,\n k_function = k_func,\n alpha_range = [10** x for x in range(-3, 1)],\n l1_ratio = [0.15])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') + + +# In[20]: + + +get_ipython().run_cell_magic('time', '', '# k function and alpha and l1_ratio.\nmetrics_df = evaluate_classifier(X = X,\n y = y,\n list_of_queries = query_list,\n set_k_range = None,\n k_function = k_func,\n alpha_range = [10** x for x in range(-10, 10)],\n l1_ratio = [0])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = False)') + + +# In[21]: + + +get_ipython().run_cell_magic('time', '', '# proposed simpler k function and alpha and l1_ratio.\nmetrics_df = evaluate_classifier(X = X,\n y = y,\n list_of_queries = query_list,\n set_k_range = None,\n k_function = k_func_proposed,\n alpha_range = [10** x for x in range(-10, 10)],\n l1_ratio = [0])\ndisplay_stats(metrics_df, metrics_df_current_setup, verbose = True)') + + +# In[22]: + + +num_pos_plot = metrics_df['num_positive'].tolist() +alpha_plot = metrics_df['alpha'].tolist() +alpha_log10_plot = [math.log(a,10) for a in alpha_plot] +plt.scatter(num_pos_plot, alpha_log10_plot) +plt.title('Number of Positives vs. alpha') +plt.ylabel('Log10 of alpha') +plt.xlabel('Number of positive samples') +plt.show() +