From 87d124a0f186b19b30efeca39b9e7a8c6347f78d Mon Sep 17 00:00:00 2001 From: aakan96 <aakan96@mi.fu-berlin.de> Date: Tue, 11 Jul 2023 18:57:41 +0000 Subject: [PATCH] Neue Datei hochladen --- ..._mRNA_TCGA_limma_dataset_svm_final-F.ipynb | 3603 +++++++++++++++++ 1 file changed, 3603 insertions(+) create mode 100644 Machine Learning/DS_mRNA_TCGA_limma_dataset_svm_final-F.ipynb diff --git a/Machine Learning/DS_mRNA_TCGA_limma_dataset_svm_final-F.ipynb b/Machine Learning/DS_mRNA_TCGA_limma_dataset_svm_final-F.ipynb new file mode 100644 index 0000000..5f59ff2 --- /dev/null +++ b/Machine Learning/DS_mRNA_TCGA_limma_dataset_svm_final-F.ipynb @@ -0,0 +1,3603 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 105, + "id": "f097ad55", + "metadata": {}, + "outputs": [], + "source": [ + "import warnings\n", + "warnings.filterwarnings('ignore')\n", + "import pandas as pd\n", + "from sklearn.model_selection import train_test_split\n", + "#from sklearn.model_selection import cross_val_score\n", + "#from sklearn.metrics import accuracy_score\n", + "#import sklearn.metrics as metrics\n", + "#from sklearn.metrics import auc\n", + "from sklearn.metrics import RocCurveDisplay\n", + "#from sklearn.model_selection import KFold\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "from imblearn.over_sampling import SMOTE\n", + "from sklearn.linear_model import Lasso\n", + "import xgboost as xgb\n", + "from sklearn.model_selection import GridSearchCV\n", + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "np.random.seed(7)" + ] + }, + { + "cell_type": "markdown", + "id": "73b6611a", + "metadata": {}, + "source": [ + "# Data Preprocessing" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "id": "0eeb7a35", + "metadata": {}, + "outputs": [], + "source": [ + "df_train = pd.read_csv(\"DS/mRNA_DS_preprocessed_training_data.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "id": "a6ab23aa", + "metadata": {}, + "outputs": [], + "source": [ + "df_test = pd.read_csv(\"DS/mRNA_TCGA_DS_test_data.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "id": "683b63ce", + "metadata": {}, + "outputs": [], + "source": [ + "df_train = df_train.T\n", + "df_test = df_test.T" + ] + }, + { + "cell_type": "code", + "execution_count": 109, + "id": "7928107a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>0</th>\n", + " <th>1</th>\n", + " <th>2</th>\n", + " <th>3</th>\n", + " <th>4</th>\n", + " <th>5</th>\n", + " <th>6</th>\n", + " <th>7</th>\n", + " <th>8</th>\n", + " <th>9</th>\n", + " <th>...</th>\n", + " <th>592</th>\n", + " <th>593</th>\n", + " <th>594</th>\n", + " <th>595</th>\n", + " <th>596</th>\n", + " <th>597</th>\n", + " <th>598</th>\n", + " <th>599</th>\n", + " <th>600</th>\n", + " <th>601</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>gene_name</th>\n", + " <td>ABAT</td>\n", + " <td>ABHD5</td>\n", + " <td>ABLIM1</td>\n", + " <td>ABLIM3</td>\n", + " <td>ACAA1</td>\n", + " <td>ACADM</td>\n", + " <td>ACADVL</td>\n", + " <td>ACD</td>\n", + " <td>ACLY</td>\n", + " <td>ACOT11</td>\n", + " <td>...</td>\n", + " <td>XYLT1</td>\n", + " <td>YOD1</td>\n", + " <td>YTHDC1</td>\n", + " <td>ZBTB16</td>\n", + " <td>ZDHHC13</td>\n", + " <td>ZFP64</td>\n", + " <td>ZNF185</td>\n", + " <td>ZNF365</td>\n", + " <td>ZNF426</td>\n", + " <td>ZNF710</td>\n", + " </tr>\n", + " <tr>\n", + " <th>TCGA-L5-A4OM-01A-11R-A260-31</th>\n", + " <td>2051.0</td>\n", + " <td>2245.0</td>\n", + " <td>50529.0</td>\n", + " <td>1813.0</td>\n", + " <td>972.0</td>\n", + " <td>3108.0</td>\n", + " <td>14196.0</td>\n", + " <td>2007.0</td>\n", + " <td>10221.0</td>\n", + " <td>2666.0</td>\n", + " <td>...</td>\n", + " <td>1582.0</td>\n", + " <td>4259.0</td>\n", + " <td>8476.0</td>\n", + " <td>499.0</td>\n", + " <td>4678.0</td>\n", + " <td>4144.0</td>\n", + " <td>37290.0</td>\n", + " <td>59.0</td>\n", + " <td>2606.0</td>\n", + " <td>3493.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>TCGA-L5-A43J-01A-12R-A24K-31</th>\n", + " <td>1474.0</td>\n", + " <td>2127.0</td>\n", + " <td>14163.0</td>\n", + " <td>7869.0</td>\n", + " <td>1127.0</td>\n", + " <td>2381.0</td>\n", + " <td>9777.0</td>\n", + " <td>4314.0</td>\n", + " <td>14525.0</td>\n", + " <td>740.0</td>\n", + " <td>...</td>\n", + " <td>1066.0</td>\n", + " <td>1100.0</td>\n", + " <td>8363.0</td>\n", + " <td>6232.0</td>\n", + " <td>1613.0</td>\n", + " <td>3442.0</td>\n", + " <td>7622.0</td>\n", + " <td>1049.0</td>\n", + " <td>2530.0</td>\n", + " <td>1625.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>TCGA-LN-A49K-01A-11R-A24K-31</th>\n", + " <td>598.0</td>\n", + " <td>2798.0</td>\n", + " <td>20824.0</td>\n", + " <td>2042.0</td>\n", + " <td>1855.0</td>\n", + " <td>2758.0</td>\n", + " <td>10035.0</td>\n", + " <td>2649.0</td>\n", + " <td>16867.0</td>\n", + " <td>1111.0</td>\n", + " <td>...</td>\n", + " <td>1812.0</td>\n", + " <td>4319.0</td>\n", + " <td>8668.0</td>\n", + " <td>2788.0</td>\n", + " <td>3655.0</td>\n", + " <td>4979.0</td>\n", + " <td>12031.0</td>\n", + " <td>134.0</td>\n", + " <td>1627.0</td>\n", + " <td>3097.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>TCGA-L5-A4OH-01A-11R-A260-31</th>\n", + " <td>1168.0</td>\n", + " <td>1493.0</td>\n", + " <td>20978.0</td>\n", + " <td>1159.0</td>\n", + " <td>2613.0</td>\n", + " <td>3099.0</td>\n", + " <td>18637.0</td>\n", + " <td>2963.0</td>\n", + " <td>16434.0</td>\n", + " <td>4050.0</td>\n", + " <td>...</td>\n", + " <td>4475.0</td>\n", + " <td>9918.0</td>\n", + " <td>6375.0</td>\n", + " <td>849.0</td>\n", + " <td>5156.0</td>\n", + " <td>6012.0</td>\n", + " <td>1274.0</td>\n", + " <td>15.0</td>\n", + " <td>3310.0</td>\n", + " <td>2802.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>...</th>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " </tr>\n", + " <tr>\n", + " <th>TCGA-VR-AA4D-01A-11R-A37I-31</th>\n", + " <td>282.0</td>\n", + " <td>993.0</td>\n", + " <td>15037.0</td>\n", + " <td>138.0</td>\n", + " <td>1730.0</td>\n", + " <td>2481.0</td>\n", + " <td>10677.0</td>\n", + " <td>1860.0</td>\n", + " <td>72435.0</td>\n", + " <td>2039.0</td>\n", + " <td>...</td>\n", + " <td>1034.0</td>\n", + " <td>3222.0</td>\n", + " <td>7371.0</td>\n", + " <td>56.0</td>\n", + " <td>4624.0</td>\n", + " <td>1726.0</td>\n", + " <td>1140.0</td>\n", + " <td>15.0</td>\n", + " <td>69.0</td>\n", + " <td>1740.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>TCGA-L5-A8NS-01A-12R-A37I-31</th>\n", + " <td>480.0</td>\n", + " <td>1229.0</td>\n", + " <td>27743.0</td>\n", + " <td>696.0</td>\n", + " <td>852.0</td>\n", + " <td>2140.0</td>\n", + " <td>3823.0</td>\n", + " <td>729.0</td>\n", + " <td>6417.0</td>\n", + " <td>1307.0</td>\n", + " <td>...</td>\n", + " <td>2104.0</td>\n", + " <td>2171.0</td>\n", + " <td>4412.0</td>\n", + " <td>616.0</td>\n", + " <td>2194.0</td>\n", + " <td>1354.0</td>\n", + " <td>3245.0</td>\n", + " <td>56.0</td>\n", + " <td>1211.0</td>\n", + " <td>1944.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>TCGA-Z6-A8JE-01A-11R-A37I-31</th>\n", + " <td>1495.0</td>\n", + " <td>2602.0</td>\n", + " <td>11085.0</td>\n", + " <td>4620.0</td>\n", + " <td>1528.0</td>\n", + " <td>3112.0</td>\n", + " <td>11049.0</td>\n", + " <td>1522.0</td>\n", + " <td>16206.0</td>\n", + " <td>1104.0</td>\n", + " <td>...</td>\n", + " <td>2857.0</td>\n", + " <td>2563.0</td>\n", + " <td>8922.0</td>\n", + " <td>616.0</td>\n", + " <td>1553.0</td>\n", + " <td>2204.0</td>\n", + " <td>11172.0</td>\n", + " <td>190.0</td>\n", + " <td>1607.0</td>\n", + " <td>2240.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>TCGA-LN-A4A5-01A-21R-A260-31</th>\n", + " <td>1022.0</td>\n", + " <td>2672.0</td>\n", + " <td>10182.0</td>\n", + " <td>1679.0</td>\n", + " <td>1214.0</td>\n", + " <td>2211.0</td>\n", + " <td>15951.0</td>\n", + " <td>1361.0</td>\n", + " <td>12228.0</td>\n", + " <td>1697.0</td>\n", + " <td>...</td>\n", + " <td>2292.0</td>\n", + " <td>1111.0</td>\n", + " <td>6910.0</td>\n", + " <td>5205.0</td>\n", + " <td>2907.0</td>\n", + " <td>2525.0</td>\n", + " <td>5938.0</td>\n", + " <td>247.0</td>\n", + " <td>3387.0</td>\n", + " <td>3223.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>TCGA-LN-A49O-01A-11R-A24K-31</th>\n", + " <td>348.0</td>\n", + " <td>1667.0</td>\n", + " <td>12013.0</td>\n", + " <td>1118.0</td>\n", + " <td>1026.0</td>\n", + " <td>2459.0</td>\n", + " <td>8775.0</td>\n", + " <td>1699.0</td>\n", + " <td>22014.0</td>\n", + " <td>808.0</td>\n", + " <td>...</td>\n", + " <td>291.0</td>\n", + " <td>1306.0</td>\n", + " <td>5459.0</td>\n", + " <td>23.0</td>\n", + " <td>1575.0</td>\n", + " <td>2502.0</td>\n", + " <td>5930.0</td>\n", + " <td>2181.0</td>\n", + " <td>1770.0</td>\n", + " <td>3167.0</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "<p>198 rows × 602 columns</p>\n", + "</div>" + ], + "text/plain": [ + " 0 1 2 3 4 5 \\\n", + "gene_name ABAT ABHD5 ABLIM1 ABLIM3 ACAA1 ACADM \n", + "TCGA-L5-A4OM-01A-11R-A260-31 2051.0 2245.0 50529.0 1813.0 972.0 3108.0 \n", + "TCGA-L5-A43J-01A-12R-A24K-31 1474.0 2127.0 14163.0 7869.0 1127.0 2381.0 \n", + "TCGA-LN-A49K-01A-11R-A24K-31 598.0 2798.0 20824.0 2042.0 1855.0 2758.0 \n", + "TCGA-L5-A4OH-01A-11R-A260-31 1168.0 1493.0 20978.0 1159.0 2613.0 3099.0 \n", + "... ... ... ... ... ... ... \n", + "TCGA-VR-AA4D-01A-11R-A37I-31 282.0 993.0 15037.0 138.0 1730.0 2481.0 \n", + "TCGA-L5-A8NS-01A-12R-A37I-31 480.0 1229.0 27743.0 696.0 852.0 2140.0 \n", + "TCGA-Z6-A8JE-01A-11R-A37I-31 1495.0 2602.0 11085.0 4620.0 1528.0 3112.0 \n", + "TCGA-LN-A4A5-01A-21R-A260-31 1022.0 2672.0 10182.0 1679.0 1214.0 2211.0 \n", + "TCGA-LN-A49O-01A-11R-A24K-31 348.0 1667.0 12013.0 1118.0 1026.0 2459.0 \n", + "\n", + " 6 7 8 9 ... 592 \\\n", + "gene_name ACADVL ACD ACLY ACOT11 ... XYLT1 \n", + "TCGA-L5-A4OM-01A-11R-A260-31 14196.0 2007.0 10221.0 2666.0 ... 1582.0 \n", + "TCGA-L5-A43J-01A-12R-A24K-31 9777.0 4314.0 14525.0 740.0 ... 1066.0 \n", + "TCGA-LN-A49K-01A-11R-A24K-31 10035.0 2649.0 16867.0 1111.0 ... 1812.0 \n", + "TCGA-L5-A4OH-01A-11R-A260-31 18637.0 2963.0 16434.0 4050.0 ... 4475.0 \n", + "... ... ... ... ... ... ... \n", + "TCGA-VR-AA4D-01A-11R-A37I-31 10677.0 1860.0 72435.0 2039.0 ... 1034.0 \n", + "TCGA-L5-A8NS-01A-12R-A37I-31 3823.0 729.0 6417.0 1307.0 ... 2104.0 \n", + "TCGA-Z6-A8JE-01A-11R-A37I-31 11049.0 1522.0 16206.0 1104.0 ... 2857.0 \n", + "TCGA-LN-A4A5-01A-21R-A260-31 15951.0 1361.0 12228.0 1697.0 ... 2292.0 \n", + "TCGA-LN-A49O-01A-11R-A24K-31 8775.0 1699.0 22014.0 808.0 ... 291.0 \n", + "\n", + " 593 594 595 596 597 \\\n", + "gene_name YOD1 YTHDC1 ZBTB16 ZDHHC13 ZFP64 \n", + "TCGA-L5-A4OM-01A-11R-A260-31 4259.0 8476.0 499.0 4678.0 4144.0 \n", + "TCGA-L5-A43J-01A-12R-A24K-31 1100.0 8363.0 6232.0 1613.0 3442.0 \n", + "TCGA-LN-A49K-01A-11R-A24K-31 4319.0 8668.0 2788.0 3655.0 4979.0 \n", + "TCGA-L5-A4OH-01A-11R-A260-31 9918.0 6375.0 849.0 5156.0 6012.0 \n", + "... ... ... ... ... ... \n", + "TCGA-VR-AA4D-01A-11R-A37I-31 3222.0 7371.0 56.0 4624.0 1726.0 \n", + "TCGA-L5-A8NS-01A-12R-A37I-31 2171.0 4412.0 616.0 2194.0 1354.0 \n", + "TCGA-Z6-A8JE-01A-11R-A37I-31 2563.0 8922.0 616.0 1553.0 2204.0 \n", + "TCGA-LN-A4A5-01A-21R-A260-31 1111.0 6910.0 5205.0 2907.0 2525.0 \n", + "TCGA-LN-A49O-01A-11R-A24K-31 1306.0 5459.0 23.0 1575.0 2502.0 \n", + "\n", + " 598 599 600 601 \n", + "gene_name ZNF185 ZNF365 ZNF426 ZNF710 \n", + "TCGA-L5-A4OM-01A-11R-A260-31 37290.0 59.0 2606.0 3493.0 \n", + "TCGA-L5-A43J-01A-12R-A24K-31 7622.0 1049.0 2530.0 1625.0 \n", + "TCGA-LN-A49K-01A-11R-A24K-31 12031.0 134.0 1627.0 3097.0 \n", + "TCGA-L5-A4OH-01A-11R-A260-31 1274.0 15.0 3310.0 2802.0 \n", + "... ... ... ... ... \n", + "TCGA-VR-AA4D-01A-11R-A37I-31 1140.0 15.0 69.0 1740.0 \n", + "TCGA-L5-A8NS-01A-12R-A37I-31 3245.0 56.0 1211.0 1944.0 \n", + "TCGA-Z6-A8JE-01A-11R-A37I-31 11172.0 190.0 1607.0 2240.0 \n", + "TCGA-LN-A4A5-01A-21R-A260-31 5938.0 247.0 3387.0 3223.0 \n", + "TCGA-LN-A49O-01A-11R-A24K-31 5930.0 2181.0 1770.0 3167.0 \n", + "\n", + "[198 rows x 602 columns]" + ] + }, + "execution_count": 109, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_test" + ] + }, + { + "cell_type": "code", + "execution_count": 110, + "id": "a701e30d", + "metadata": {}, + "outputs": [], + "source": [ + "#df_test = df_test[:-1]" + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "id": "77d974be", + "metadata": {}, + "outputs": [], + "source": [ + "#Transform the input data\n", + "df_train.rename(columns=df_train.iloc[0], inplace = True)\n", + "df_train.drop(df_train.index[0], inplace = True)\n", + "df_train=df_train.reset_index()" + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "id": "610fbe2d", + "metadata": {}, + "outputs": [], + "source": [ + "df_train=df_train.drop(['ACPP'], axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "id": "2e78017d", + "metadata": {}, + "outputs": [], + "source": [ + "#Transform the input data\n", + "df_test.rename(columns=df_test.iloc[0], inplace = True)\n", + "df_test.drop(df_test.index[0], inplace = True)\n", + "df_test=df_test.reset_index()" + ] + }, + { + "cell_type": "code", + "execution_count": 114, + "id": "ea60801d", + "metadata": {}, + "outputs": [], + "source": [ + "metadata_test = pd.read_csv(\"DS/mRNA_TCGA_DS_col_data.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": 115, + "id": "1e423b6f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>Unnamed: 0</th>\n", + " <th>group_assignments</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>gene_name</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>TCGA-L5-A4OM-01A-11R-A260-31</td>\n", + " <td>Cancer</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>TCGA-L5-A43J-01A-12R-A24K-31</td>\n", + " <td>Cancer</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>TCGA-LN-A49K-01A-11R-A24K-31</td>\n", + " <td>Cancer</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>TCGA-L5-A4OH-01A-11R-A260-31</td>\n", + " <td>Cancer</td>\n", + " </tr>\n", + " <tr>\n", + " <th>...</th>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " </tr>\n", + " <tr>\n", + " <th>193</th>\n", + " <td>TCGA-VR-AA4D-01A-11R-A37I-31</td>\n", + " <td>Cancer</td>\n", + " </tr>\n", + " <tr>\n", + " <th>194</th>\n", + " <td>TCGA-L5-A8NS-01A-12R-A37I-31</td>\n", + " <td>Cancer</td>\n", + " </tr>\n", + " <tr>\n", + " <th>195</th>\n", + " <td>TCGA-Z6-A8JE-01A-11R-A37I-31</td>\n", + " <td>Cancer</td>\n", + " </tr>\n", + " <tr>\n", + " <th>196</th>\n", + " <td>TCGA-LN-A4A5-01A-21R-A260-31</td>\n", + " <td>Cancer</td>\n", + " </tr>\n", + " <tr>\n", + " <th>197</th>\n", + " <td>TCGA-LN-A49O-01A-11R-A24K-31</td>\n", + " <td>Cancer</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "<p>198 rows × 2 columns</p>\n", + "</div>" + ], + "text/plain": [ + " Unnamed: 0 group_assignments\n", + "0 gene_name NaN\n", + "1 TCGA-L5-A4OM-01A-11R-A260-31 Cancer\n", + "2 TCGA-L5-A43J-01A-12R-A24K-31 Cancer\n", + "3 TCGA-LN-A49K-01A-11R-A24K-31 Cancer\n", + "4 TCGA-L5-A4OH-01A-11R-A260-31 Cancer\n", + ".. ... ...\n", + "193 TCGA-VR-AA4D-01A-11R-A37I-31 Cancer\n", + "194 TCGA-L5-A8NS-01A-12R-A37I-31 Cancer\n", + "195 TCGA-Z6-A8JE-01A-11R-A37I-31 Cancer\n", + "196 TCGA-LN-A4A5-01A-21R-A260-31 Cancer\n", + "197 TCGA-LN-A49O-01A-11R-A24K-31 Cancer\n", + "\n", + "[198 rows x 2 columns]" + ] + }, + "execution_count": 115, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metadata_test" + ] + }, + { + "cell_type": "code", + "execution_count": 116, + "id": "58d531b9", + "metadata": {}, + "outputs": [], + "source": [ + "df_test= df_test.merge(metadata_test, left_on=\"index\", right_on= \"Unnamed: 0\")" + ] + }, + { + "cell_type": "code", + "execution_count": 117, + "id": "02f30850", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>index</th>\n", + " <th>ABAT</th>\n", + " <th>ABHD5</th>\n", + " <th>ABLIM1</th>\n", + " <th>ABLIM3</th>\n", + " <th>ACAA1</th>\n", + " <th>ACADM</th>\n", + " <th>ACADVL</th>\n", + " <th>ACD</th>\n", + " <th>ACLY</th>\n", + " <th>...</th>\n", + " <th>YTHDC1</th>\n", + " <th>ZBTB16</th>\n", + " <th>ZDHHC13</th>\n", + " <th>ZFP64</th>\n", + " <th>ZNF185</th>\n", + " <th>ZNF365</th>\n", + " <th>ZNF426</th>\n", + " <th>ZNF710</th>\n", + " <th>Unnamed: 0</th>\n", + " <th>group_assignments</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>TCGA-L5-A4OM-01A-11R-A260-31</td>\n", + " <td>2051.0</td>\n", + " <td>2245.0</td>\n", + " <td>50529.0</td>\n", + " <td>1813.0</td>\n", + " <td>972.0</td>\n", + " <td>3108.0</td>\n", + " <td>14196.0</td>\n", + " <td>2007.0</td>\n", + " <td>10221.0</td>\n", + " <td>...</td>\n", + " <td>8476.0</td>\n", + " <td>499.0</td>\n", + " <td>4678.0</td>\n", + " <td>4144.0</td>\n", + " <td>37290.0</td>\n", + " <td>59.0</td>\n", + " <td>2606.0</td>\n", + " <td>3493.0</td>\n", + " <td>TCGA-L5-A4OM-01A-11R-A260-31</td>\n", + " <td>Cancer</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>TCGA-L5-A43J-01A-12R-A24K-31</td>\n", + " <td>1474.0</td>\n", + " <td>2127.0</td>\n", + " <td>14163.0</td>\n", + " <td>7869.0</td>\n", + " <td>1127.0</td>\n", + " <td>2381.0</td>\n", + " <td>9777.0</td>\n", + " <td>4314.0</td>\n", + " <td>14525.0</td>\n", + " <td>...</td>\n", + " <td>8363.0</td>\n", + " <td>6232.0</td>\n", + " <td>1613.0</td>\n", + " <td>3442.0</td>\n", + " <td>7622.0</td>\n", + " <td>1049.0</td>\n", + " <td>2530.0</td>\n", + " <td>1625.0</td>\n", + " <td>TCGA-L5-A43J-01A-12R-A24K-31</td>\n", + " <td>Cancer</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>TCGA-LN-A49K-01A-11R-A24K-31</td>\n", + " <td>598.0</td>\n", + " <td>2798.0</td>\n", + " <td>20824.0</td>\n", + " <td>2042.0</td>\n", + " <td>1855.0</td>\n", + " <td>2758.0</td>\n", + " <td>10035.0</td>\n", + " <td>2649.0</td>\n", + " <td>16867.0</td>\n", + " <td>...</td>\n", + " <td>8668.0</td>\n", + " <td>2788.0</td>\n", + " <td>3655.0</td>\n", + " <td>4979.0</td>\n", + " <td>12031.0</td>\n", + " <td>134.0</td>\n", + " <td>1627.0</td>\n", + " <td>3097.0</td>\n", + " <td>TCGA-LN-A49K-01A-11R-A24K-31</td>\n", + " <td>Cancer</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>TCGA-L5-A4OH-01A-11R-A260-31</td>\n", + " <td>1168.0</td>\n", + " <td>1493.0</td>\n", + " <td>20978.0</td>\n", + " <td>1159.0</td>\n", + " <td>2613.0</td>\n", + " <td>3099.0</td>\n", + " <td>18637.0</td>\n", + " <td>2963.0</td>\n", + " <td>16434.0</td>\n", + " <td>...</td>\n", + " <td>6375.0</td>\n", + " <td>849.0</td>\n", + " <td>5156.0</td>\n", + " <td>6012.0</td>\n", + " <td>1274.0</td>\n", + " <td>15.0</td>\n", + " <td>3310.0</td>\n", + " <td>2802.0</td>\n", + " <td>TCGA-L5-A4OH-01A-11R-A260-31</td>\n", + " <td>Cancer</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>TCGA-JY-A6FE-01A-11R-A336-31</td>\n", + " <td>447.0</td>\n", + " <td>1061.0</td>\n", + " <td>8067.0</td>\n", + " <td>2268.0</td>\n", + " <td>1512.0</td>\n", + " <td>1422.0</td>\n", + " <td>12102.0</td>\n", + " <td>4516.0</td>\n", + " <td>14942.0</td>\n", + " <td>...</td>\n", + " <td>2748.0</td>\n", + " <td>113.0</td>\n", + " <td>1582.0</td>\n", + " <td>4453.0</td>\n", + " <td>2069.0</td>\n", + " <td>537.0</td>\n", + " <td>951.0</td>\n", + " <td>2209.0</td>\n", + " <td>TCGA-JY-A6FE-01A-11R-A336-31</td>\n", + " <td>Cancer</td>\n", + " </tr>\n", + " <tr>\n", + " <th>...</th>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " </tr>\n", + " <tr>\n", + " <th>192</th>\n", + " <td>TCGA-VR-AA4D-01A-11R-A37I-31</td>\n", + " <td>282.0</td>\n", + " <td>993.0</td>\n", + " <td>15037.0</td>\n", + " <td>138.0</td>\n", + " <td>1730.0</td>\n", + " <td>2481.0</td>\n", + " <td>10677.0</td>\n", + " <td>1860.0</td>\n", + " <td>72435.0</td>\n", + " <td>...</td>\n", + " <td>7371.0</td>\n", + " <td>56.0</td>\n", + " <td>4624.0</td>\n", + " <td>1726.0</td>\n", + " <td>1140.0</td>\n", + " <td>15.0</td>\n", + " <td>69.0</td>\n", + " <td>1740.0</td>\n", + " <td>TCGA-VR-AA4D-01A-11R-A37I-31</td>\n", + " <td>Cancer</td>\n", + " </tr>\n", + " <tr>\n", + " <th>193</th>\n", + " <td>TCGA-L5-A8NS-01A-12R-A37I-31</td>\n", + " <td>480.0</td>\n", + " <td>1229.0</td>\n", + " <td>27743.0</td>\n", + " <td>696.0</td>\n", + " <td>852.0</td>\n", + " <td>2140.0</td>\n", + " <td>3823.0</td>\n", + " <td>729.0</td>\n", + " <td>6417.0</td>\n", + " <td>...</td>\n", + " <td>4412.0</td>\n", + " <td>616.0</td>\n", + " <td>2194.0</td>\n", + " <td>1354.0</td>\n", + " <td>3245.0</td>\n", + " <td>56.0</td>\n", + " <td>1211.0</td>\n", + " <td>1944.0</td>\n", + " <td>TCGA-L5-A8NS-01A-12R-A37I-31</td>\n", + " <td>Cancer</td>\n", + " </tr>\n", + " <tr>\n", + " <th>194</th>\n", + " <td>TCGA-Z6-A8JE-01A-11R-A37I-31</td>\n", + " <td>1495.0</td>\n", + " <td>2602.0</td>\n", + " <td>11085.0</td>\n", + " <td>4620.0</td>\n", + " <td>1528.0</td>\n", + " <td>3112.0</td>\n", + " <td>11049.0</td>\n", + " <td>1522.0</td>\n", + " <td>16206.0</td>\n", + " <td>...</td>\n", + " <td>8922.0</td>\n", + " <td>616.0</td>\n", + " <td>1553.0</td>\n", + " <td>2204.0</td>\n", + " <td>11172.0</td>\n", + " <td>190.0</td>\n", + " <td>1607.0</td>\n", + " <td>2240.0</td>\n", + " <td>TCGA-Z6-A8JE-01A-11R-A37I-31</td>\n", + " <td>Cancer</td>\n", + " </tr>\n", + " <tr>\n", + " <th>195</th>\n", + " <td>TCGA-LN-A4A5-01A-21R-A260-31</td>\n", + " <td>1022.0</td>\n", + " <td>2672.0</td>\n", + " <td>10182.0</td>\n", + " <td>1679.0</td>\n", + " <td>1214.0</td>\n", + " <td>2211.0</td>\n", + " <td>15951.0</td>\n", + " <td>1361.0</td>\n", + " <td>12228.0</td>\n", + " <td>...</td>\n", + " <td>6910.0</td>\n", + " <td>5205.0</td>\n", + " <td>2907.0</td>\n", + " <td>2525.0</td>\n", + " <td>5938.0</td>\n", + " <td>247.0</td>\n", + " <td>3387.0</td>\n", + " <td>3223.0</td>\n", + " <td>TCGA-LN-A4A5-01A-21R-A260-31</td>\n", + " <td>Cancer</td>\n", + " </tr>\n", + " <tr>\n", + " <th>196</th>\n", + " <td>TCGA-LN-A49O-01A-11R-A24K-31</td>\n", + " <td>348.0</td>\n", + " <td>1667.0</td>\n", + " <td>12013.0</td>\n", + " <td>1118.0</td>\n", + " <td>1026.0</td>\n", + " <td>2459.0</td>\n", + " <td>8775.0</td>\n", + " <td>1699.0</td>\n", + " <td>22014.0</td>\n", + " <td>...</td>\n", + " <td>5459.0</td>\n", + " <td>23.0</td>\n", + " <td>1575.0</td>\n", + " <td>2502.0</td>\n", + " <td>5930.0</td>\n", + " <td>2181.0</td>\n", + " <td>1770.0</td>\n", + " <td>3167.0</td>\n", + " <td>TCGA-LN-A49O-01A-11R-A24K-31</td>\n", + " <td>Cancer</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "<p>197 rows × 605 columns</p>\n", + "</div>" + ], + "text/plain": [ + " index ABAT ABHD5 ABLIM1 ABLIM3 ACAA1 \\\n", + "0 TCGA-L5-A4OM-01A-11R-A260-31 2051.0 2245.0 50529.0 1813.0 972.0 \n", + "1 TCGA-L5-A43J-01A-12R-A24K-31 1474.0 2127.0 14163.0 7869.0 1127.0 \n", + "2 TCGA-LN-A49K-01A-11R-A24K-31 598.0 2798.0 20824.0 2042.0 1855.0 \n", + "3 TCGA-L5-A4OH-01A-11R-A260-31 1168.0 1493.0 20978.0 1159.0 2613.0 \n", + "4 TCGA-JY-A6FE-01A-11R-A336-31 447.0 1061.0 8067.0 2268.0 1512.0 \n", + ".. ... ... ... ... ... ... \n", + "192 TCGA-VR-AA4D-01A-11R-A37I-31 282.0 993.0 15037.0 138.0 1730.0 \n", + "193 TCGA-L5-A8NS-01A-12R-A37I-31 480.0 1229.0 27743.0 696.0 852.0 \n", + "194 TCGA-Z6-A8JE-01A-11R-A37I-31 1495.0 2602.0 11085.0 4620.0 1528.0 \n", + "195 TCGA-LN-A4A5-01A-21R-A260-31 1022.0 2672.0 10182.0 1679.0 1214.0 \n", + "196 TCGA-LN-A49O-01A-11R-A24K-31 348.0 1667.0 12013.0 1118.0 1026.0 \n", + "\n", + " ACADM ACADVL ACD ACLY ... YTHDC1 ZBTB16 ZDHHC13 ZFP64 \\\n", + "0 3108.0 14196.0 2007.0 10221.0 ... 8476.0 499.0 4678.0 4144.0 \n", + "1 2381.0 9777.0 4314.0 14525.0 ... 8363.0 6232.0 1613.0 3442.0 \n", + "2 2758.0 10035.0 2649.0 16867.0 ... 8668.0 2788.0 3655.0 4979.0 \n", + "3 3099.0 18637.0 2963.0 16434.0 ... 6375.0 849.0 5156.0 6012.0 \n", + "4 1422.0 12102.0 4516.0 14942.0 ... 2748.0 113.0 1582.0 4453.0 \n", + ".. ... ... ... ... ... ... ... ... ... \n", + "192 2481.0 10677.0 1860.0 72435.0 ... 7371.0 56.0 4624.0 1726.0 \n", + "193 2140.0 3823.0 729.0 6417.0 ... 4412.0 616.0 2194.0 1354.0 \n", + "194 3112.0 11049.0 1522.0 16206.0 ... 8922.0 616.0 1553.0 2204.0 \n", + "195 2211.0 15951.0 1361.0 12228.0 ... 6910.0 5205.0 2907.0 2525.0 \n", + "196 2459.0 8775.0 1699.0 22014.0 ... 5459.0 23.0 1575.0 2502.0 \n", + "\n", + " ZNF185 ZNF365 ZNF426 ZNF710 Unnamed: 0 \\\n", + "0 37290.0 59.0 2606.0 3493.0 TCGA-L5-A4OM-01A-11R-A260-31 \n", + "1 7622.0 1049.0 2530.0 1625.0 TCGA-L5-A43J-01A-12R-A24K-31 \n", + "2 12031.0 134.0 1627.0 3097.0 TCGA-LN-A49K-01A-11R-A24K-31 \n", + "3 1274.0 15.0 3310.0 2802.0 TCGA-L5-A4OH-01A-11R-A260-31 \n", + "4 2069.0 537.0 951.0 2209.0 TCGA-JY-A6FE-01A-11R-A336-31 \n", + ".. ... ... ... ... ... \n", + "192 1140.0 15.0 69.0 1740.0 TCGA-VR-AA4D-01A-11R-A37I-31 \n", + "193 3245.0 56.0 1211.0 1944.0 TCGA-L5-A8NS-01A-12R-A37I-31 \n", + "194 11172.0 190.0 1607.0 2240.0 TCGA-Z6-A8JE-01A-11R-A37I-31 \n", + "195 5938.0 247.0 3387.0 3223.0 TCGA-LN-A4A5-01A-21R-A260-31 \n", + "196 5930.0 2181.0 1770.0 3167.0 TCGA-LN-A49O-01A-11R-A24K-31 \n", + "\n", + " group_assignments \n", + "0 Cancer \n", + "1 Cancer \n", + "2 Cancer \n", + "3 Cancer \n", + "4 Cancer \n", + ".. ... \n", + "192 Cancer \n", + "193 Cancer \n", + "194 Cancer \n", + "195 Cancer \n", + "196 Cancer \n", + "\n", + "[197 rows x 605 columns]" + ] + }, + "execution_count": 117, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_test" + ] + }, + { + "cell_type": "code", + "execution_count": 118, + "id": "5eeaaa39", + "metadata": {}, + "outputs": [], + "source": [ + "df_test= df_test.rename(columns={\"group_assignments\": \"title0\"})" + ] + }, + { + "cell_type": "code", + "execution_count": 119, + "id": "7910f2fa", + "metadata": {}, + "outputs": [], + "source": [ + "df_test['title0'] = df_test['title0'].replace('(?i)Control|mucosa|normal|healthy', 0, regex=True)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 120, + "id": "c102e10e", + "metadata": {}, + "outputs": [], + "source": [ + "df_test['title0'] = df_test['title0'].replace('(?i)Tumor|Cancer|carcinoma', 1, regex=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ed00d2ce", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 121, + "id": "6c255d2e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "title0\n", + "1 184\n", + "0 13\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 121, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_test['title0'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 122, + "id": "636b44ab", + "metadata": {}, + "outputs": [], + "source": [ + "df_test = df_test[pd.to_numeric(df_test['title0'], errors='coerce').notnull()]#remove all non-numeric data from the column." + ] + }, + { + "cell_type": "code", + "execution_count": 123, + "id": "34896f9a", + "metadata": {}, + "outputs": [], + "source": [ + "df_test= df_test.drop(['index', 'Unnamed: 0'], axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 124, + "id": "359b5bab", + "metadata": {}, + "outputs": [], + "source": [ + "df_test= df_test.rename(columns={\"title0\": \"index\"})" + ] + }, + { + "cell_type": "code", + "execution_count": 125, + "id": "e8befa4e", + "metadata": {}, + "outputs": [], + "source": [ + "# Select 13 rows of class 0\n", + "class_0 = df_test[df_test['index'] == 0].head(13)\n", + "\n", + "# Select 13 rows of class 1\n", + "class_1 = df_test[df_test['index'] == 1].head(27)\n", + "\n", + "# Concatenate the selected rows\n", + "df_test = pd.concat([class_0, class_1])" + ] + }, + { + "cell_type": "code", + "execution_count": 126, + "id": "fc9ca29c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "index\n", + "1 27\n", + "0 13\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 126, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_test['index'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 127, + "id": "dc14bb1c", + "metadata": {}, + "outputs": [], + "source": [ + "X_test=df_test.drop(\"index\",axis=1)\n", + "y_test=df_test['index']" + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "id": "4c50c510", + "metadata": {}, + "outputs": [], + "source": [ + "metadata_train = pd.read_csv(\"DS/mRNA_DS_metadata_col_info.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": 129, + "id": "6730cf89", + "metadata": {}, + "outputs": [], + "source": [ + "df_train= df_train.merge(metadata_train, left_on=\"index\", right_on= \"Unnamed: 0\")" + ] + }, + { + "cell_type": "code", + "execution_count": 130, + "id": "7a8ad8ad", + "metadata": {}, + "outputs": [], + "source": [ + "df_train['title0'] = df_train['title0'].replace('(?i)mucosa|normal|healthy', 0, regex=True)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 131, + "id": "a8cf8643", + "metadata": {}, + "outputs": [], + "source": [ + "df_train['title0'] = df_train['title0'].replace('(?i)Tumor|Cancer|carcinoma', 1, regex=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 132, + "id": "c9e8772b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "title0\n", + "0 111\n", + "1 108\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 132, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_train['title0'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 133, + "id": "f5d203aa", + "metadata": {}, + "outputs": [], + "source": [ + "df_train = df_train[pd.to_numeric(df_train['title0'], errors='coerce').notnull()]#remove all non-numeric data from the column." + ] + }, + { + "cell_type": "code", + "execution_count": 134, + "id": "523bdaa6", + "metadata": {}, + "outputs": [], + "source": [ + "df_train= df_train.drop(['index', 'Unnamed: 0'], axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 135, + "id": "46a6fb36", + "metadata": {}, + "outputs": [], + "source": [ + "df_train= df_train.rename(columns={\"title0\": \"index\"})" + ] + }, + { + "cell_type": "code", + "execution_count": 136, + "id": "e26f88c5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "index\n", + "0 111\n", + "1 108\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 136, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_train['index'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 137, + "id": "fbaf2507", + "metadata": {}, + "outputs": [], + "source": [ + "df_train= df_train.apply(pd.to_numeric)" + ] + }, + { + "cell_type": "code", + "execution_count": 138, + "id": "38a993d9", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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ne3vvfdeE1seutzc3Dptf+qppwLe58SJExg1ahSSk5MRHx+P6667Dvv37zepxaHZuXMnRowYgVatWqFRo0Y488wzkZ+fj5MnTwa8n50+2zlz5iA3NxcNGzZE165d8fXXXwfcfvHixTj77LPRsGFDdOrUCR9++KFJLQ3P1KlTceGFF+KMM85AWloarr32WmzdujXgfebPn1/nc2zYsKFJLQ7dpEmT6rT77LPPDngfu36ugP/fI5fLhVGjRvnd3k6f6xdffIEBAwYgMzMTLpcL77//vtftQghMnDgRGRkZaNSoEfr06YPt27cHfVyt3/tAHBnUnDx5EjfccAPuu+8+v7e73W5cddVVOHnyJFavXo033ngD8+fPx8SJEwM+7k033YRNmzZh6dKl+Pe//40vvvgCd999txEvIWTdunXD3r17vS533nknWrVqhS5dugS871133eV1v2eeecakVodv8uTJXm1/4IEHAm7/0EMP4V//+hcWL16Mzz//HL/88gvy8vJMam1otmzZgpqaGsybNw+bNm3CrFmz8NJLL+Hvf/970Pva4bN99913MXbsWOTn5+O7777Dueeei759+6KiosLv9qtXr8bQoUMxYsQIrFu3Dtdeey2uvfZabNy40eSWa/f5559j1KhR+Oqrr7B06VKcOnUKf/nLX/D7778HvF9CQoLX57hr1y6TWhyeDh06eLV75cqVitva+XMFgG+++cbrtS5duhRA4EKxdvlcf//9d5x77rmYM2eO39ufeeYZPP/883jppZewZs0aNGnSBH379sWJEycUH1Pr9z4oPRamtKrXX39dNG3atM71H374oYiJiRH79u3zXDd37lyRkJAgqqqq/D6WvBjmN99847nuo48+Ei6XS5SXl+vedr2cPHlSpKamismTJwfcrmfPnmL06NHmNEpnOTk5YtasWaq3P3z4sKhfv75YvHix57rNmzcLAOLLL780oIXGeeaZZ0SrVq0CbmOXz/aiiy4So0aN8vztdrtFZmammDp1qt/tb7zxRnHVVVd5Xde1a1dxzz33GNpOI1RUVAgA4vPPP1fcRun3zOry8/PFueeeq3p7J32uQggxevRoceaZZ4qamhq/t9v1cwUg/vnPf3r+rqmpEc2bNxfTpk3zXHf48GERFxcnFi5cqPg4Wr/3wTiypyaYL7/8Ep06dUJ6errnur59++LIkSPYtGmT4n0SExO9ejv69OmDmJgYrFmzxvA2h+qDDz7AwYMHcfvttwfddsGCBUhJSUHHjh3x6KOP4tixYya0UB9PPfUUkpOTcf7552PatGkBhxLXrl2LU6dOoU+fPp7rzj77bLRs2RJffvmlGc3VTWVlJZKSkoJuZ/XP9uTJk1i7dq3XZxITE4M+ffoofiZffvml1/aA9D2222cISJ8jgKCf5dGjR5GTk4Ps7GwMHDhQ8ffKarZv347MzEy0bt0aN910U8CFiJ30uZ48eRJvv/027rjjDrhcLsXt7Pq51lZWVoZ9+/Z5fXZNmzZF165dFT+7UL73wdimorCe9u3b5xXQAPD8vW/fPsX7pKWleV1Xr149JCUlKd7HCv7xj3+gb9++yMrKCrjdsGHDkJOTg8zMTPz3v//FI488gq1bt6K4uNiklobuwQcfxAUXXICkpCSsXr0ajz76KPbu3YuZM2f63X7fvn1o0KBBnXyr9PR0S3+Wvnbs2IHZs2cHrbJth8/2119/hdvt9vu93LJli9/7KH2P7fQZAkBNTQ3GjBmD7t27o2PHjorbtWvXDq+99ho6d+6MyspKTJ8+Hd26dcOmTZuCfr8jqWvXrpg/fz7atWuHvXv3oqCgAD169MDGjRtxxhln1NneKZ8rALz//vs4fPgwhg8frriNXT9XX/Lno+WzC+V7H4xtgpq//e1vePrppwNus3nz5qAJaHYVyuvfs2cPPvnkEyxatCjo49fODerUqRMyMjJw+eWX48cff8SZZ54ZesNDpOX1jh071nNd586d0aBBA9xzzz2YOnWqLcqQh/LZlpeXo1+/frjhhhtw1113Bbyv1T5b8jZq1Chs3LgxYJ4JAFxyySW45JJLPH9369YN7du3x7x58/D4448b3cyQ9e/f3/P/zp07o2vXrsjJycGiRYswYsSICLbMeP/4xz/Qv39/ZGZmKm5j18/VqmwT1IwbNy5gtAsArVu3VvVYzZs3r5NdLc98ad68ueJ9fBOXqqurcejQIcX76CmU1//6668jOTkZ11xzjebn69q1KwCpNyASB75wPu+uXbuiuroaO3fuRLt27erc3rx5c5w8eRKHDx/26q3Zv3+/KZ+lL62v9ZdffkHv3r3RrVs3vPzyy5qfL9KfrT8pKSmIjY2tMwMt0GfSvHlzTdtb0f333++ZdKD1rLx+/fo4//zzsWPHDoNaZ4zExES0bdtWsd1O+FwBYNeuXVi2bJnmHlG7fq7y57N//35kZGR4rt+/fz/OO+88v/cJ5XsfVEiZODYRLFF4//79nuvmzZsnEhISxIkTJ/w+lpwo/O2333qu++STTyybKFxTUyNatWolxo0bF9L9V65cKQCI9evX69wy47399tsiJiZGHDp0yO/tcqLwe++957luy5YttkgU3rNnjzjrrLPEkCFDRHV1dUiPYdXP9qKLLhL333+/52+32y1atGgRMFH46quv9rrukksusUVCaU1NjRg1apTIzMwU27ZtC+kxqqurRbt27cRDDz2kc+uM9b///U80a9ZMPPfcc35vt/PnWlt+fr5o3ry5OHXqlKb72eVzhUKi8PTp0z3XVVZWqkoU1vK9D9qukO5lcbt27RLr1q0TBQUFIj4+Xqxbt06sW7dO/O9//xNCSDtNx44dxV/+8hfx/fffi48//likpqaKRx991PMYa9asEe3atRN79uzxXNevXz9x/vnnizVr1oiVK1eKs846SwwdOtT016fGsmXLBACxefPmOrft2bNHtGvXTqxZs0YIIcSOHTvE5MmTxbfffivKysrEkiVLROvWrcWll15qdrM1W716tZg1a5b4/vvvxY8//ijefvttkZqaKm699VbPNr6vVwgh7r33XtGyZUvx2WefiW+//VZccskl4pJLLonES1Btz549ok2bNuLyyy8Xe/bsEXv37vVcam9j18/2nXfeEXFxcWL+/Pnihx9+EHfffbdITEz0zFK85ZZbxN/+9jfP9qtWrRL16tUT06dPF5s3bxb5+fmifv36YsOGDZF6Cardd999omnTpqK0tNTrczx27JhnG9/XW1BQID755BPx448/irVr14ohQ4aIhg0bik2bNkXiJag2btw4UVpaKsrKysSqVatEnz59REpKiqioqBBCOOtzlbndbtGyZUvxyCOP1LnNzp/r//73P8/xFICYOXOmWLdundi1a5cQQoinnnpKJCYmiiVLloj//ve/YuDAgaJVq1bi+PHjnse47LLLxOzZsz1/B/vea+XIoOa2224TAOpcSkpKPNvs3LlT9O/fXzRq1EikpKSIcePGeUXUJSUlAoAoKyvzXHfw4EExdOhQER8fLxISEsTtt9/uCZSsZujQoaJbt25+bysrK/N6P37++Wdx6aWXiqSkJBEXFyfatGkjxo8fLyorK01scWjWrl0runbtKpo2bSoaNmwo2rdvL6ZMmeLV4+b7eoUQ4vjx42LkyJGiWbNmonHjxmLQoEFewYEVvf76637369odrnb/bGfPni1atmwpGjRoIC666CLx1VdfeW7r2bOnuO2227y2X7RokWjbtq1o0KCB6NChg/jPf/5jcotDo/Q5vv76655tfF/vmDFjPO9Nenq6uPLKK8V3331nfuM1Gjx4sMjIyBANGjQQLVq0EIMHDxY7duzw3O6kz1X2ySefCABi69atdW6z8+cqHxd9L/LrqampEY899phIT08XcXFx4vLLL6/zHuTk5Ij8/Hyv6wJ977VyCSFEaANXRERERNYRlXVqiIiIyHkY1BAREZEjMKghIiIiR2BQQ0RERI7AoIaIiIgcgUENEREROQKDGiIiInIEBjVEpBuXy4X3338/0s0IqLS0FC6XC4cPH450U4hIZwxqiCig4cOHw+VyweVyoX79+khPT8cVV1yB1157DTU1NV7b7t2712tVZivq1q0b9u7di6ZNmxr6PF988QUGDBiAzMxMWwR7RE7AoIaIgurXrx/27t2LnTt34qOPPkLv3r0xevRoXH311aiurvZs17x5c8TFxUWwpcE1aNAAzZs3h8vlMvR5fv/9d5x77rmYM2eOoc9DRKcxqCGioOLi4tC8eXO0aNECF1xwAf7+979jyZIl+OijjzB//nzPdrV7JHbu3AmXy4VFixahR48eaNSoES688EJs27YN33zzDbp06YL4+Hj0798fBw4c8Hq+V199Fe3bt0fDhg1x9tln48UXX/TcJj9ucXExevfujcaNG+Pcc8/Fl19+6dlm165dGDBgAJo1a4YmTZqgQ4cO+PDDDwH4H34qKipChw4dEBcXh9zcXMyYMcOrPbm5uZgyZQruuOMOnHHGGWjZsiVefvnlgO9Z//798cQTT2DQoEFa3moiCgODGiIKyWWXXYZzzz0XxcXFAbfLz8/H//3f/+G7775DvXr1MGzYMDz88MN47rnnsGLFCuzYsQMTJ070bL9gwQJMnDgRTz75JDZv3owpU6bgsccewxtvvOH1uBMmTMBf//pXfP/992jbti2GDh3q6TUaNWoUqqqq8MUXX2DDhg14+umnER8f77d9a9euxY033oghQ4Zgw4YNmDRpEh577DGvYA0AZsyYgS5dumDdunUYOXIk7rvvPmzdujWEd46IDBPyUphEFBVuu+02MXDgQL+3DR48WLRv397zNwDxz3/+UwhxesXwV1991XP7woULBQCxfPlyz3VTp04V7dq18/x95plnisLCQq/nefzxx8Ull1yi+LibNm0SAMTmzZuFEEJ06tRJTJo0yW+b5ZWGf/vtNyGEEMOGDRNXXHGF1zbjx48X55xzjufvnJwccfPNN3v+rqmpEWlpaWLu3Ll+n8NX7feFiIzDnhoiCpkQImhuSufOnT3/T09PBwB06tTJ67qKigoAUh7Kjz/+iBEjRiA+Pt5zeeKJJ/Djjz8qPm5GRgYAeB7nwQcfxBNPPIHu3bsjPz8f//3vfxXbt3nzZnTv3t3ruu7du2P79u1wu91+n8/lcqF58+ae5yMia2BQQ0Qh27x5M1q1ahVwm/r163v+LwdAvtfJs6iOHj0KAHjllVfw/fffey4bN27EV199FfRx5ce588478dNPP+GWW27Bhg0b0KVLF8yePTvUl1nn+XzbTUTWwKCGiELy2WefYcOGDbjuuut0e8z09HRkZmbip59+Qps2bbwuwYInX9nZ2bj33ntRXFyMcePG4ZVXXvG7Xfv27bFq1Sqv61atWoW2bdsiNjY25NdCROarF+kGEJH1VVVVYd++fXC73di/fz8+/vhjTJ06FVdffTVuvfVWXZ+roKAADz74IJo2bYp+/fqhqqoK3377LX777TeMHTtW1WOMGTMG/fv3R9u2bfHbb7+hpKQE7du397vtuHHjcOGFF+Lxxx/H4MGD8eWXX+KFF17wmnEViqNHj2LHjh2ev8vKyvD9998jKSkJLVu2DOuxicg/BjVEFNTHH3+MjIwM1KtXD82aNcO5556L559/HrfddhtiYvTt8L3zzjvRuHFjTJs2DePHj0eTJk3QqVMnjBkzRvVjuN1ujBo1Cnv27EFCQgL69euHWbNm+d32ggsuwKJFizBx4kQ8/vjjyMjIwOTJkzF8+PCwXse3336L3r17e/6WA7LbbrutzswqItKHSwghIt0IIiIionAxp4aIiIgcgUENEREROQKDGiIiInIEBjVERETkCAxqiIiIyBEY1BAREZEjMKghIiIiR2BQQ0RERI7AoIaIiIgcgUENEREROQKDGiIiInIEBjVERETkCP8P9O8AhUEFCakAAAAASUVORK5CYII=", + "text/plain": [ + "<Figure size 640x480 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from sklearn.manifold import TSNE\n", + "# Assuming your data is stored in the variable 'data'\n", + "tsne = TSNE(n_components=3)\n", + "embedded_data = tsne.fit_transform(df_train)\n", + "\n", + "# Step 2: Separate data points by class\n", + "class_1_indices = np.where(df_train['index'] == 0)[0]\n", + "class_2_indices = np.where(df_train['index'] == 1)[0]\n", + "\n", + "class_1_data = embedded_data[class_1_indices]\n", + "class_2_data = embedded_data[class_2_indices]\n", + "\n", + "# Step 3: Plot the t-SNE plot with different colors for each class\n", + "plt.scatter(class_1_data[:, 0], class_1_data[:, 1], color='red', label='Non-Cancer')\n", + "plt.scatter(class_2_data[:, 0], class_2_data[:, 1], color='blue', label='Cancer')\n", + "\n", + "plt.title('t-SNE Plot')\n", + "plt.xlabel('Dimension 1')\n", + "plt.ylabel('Dimension 2')\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 139, + "id": "776cfbee", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "index\n", + "0 111\n", + "1 108\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 139, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_train['index'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 140, + "id": "8c0011ea", + "metadata": {}, + "outputs": [], + "source": [ + "X=df_train.drop(\"index\",axis=1)\n", + "y=df_train['index']" + ] + }, + { + "cell_type": "code", + "execution_count": 141, + "id": "fc606979", + "metadata": {}, + "outputs": [], + "source": [ + "X=X.astype('int')" + ] + }, + { + "cell_type": "code", + "execution_count": 142, + "id": "93e28118", + "metadata": {}, + "outputs": [], + "source": [ + "y=y.astype('int')" + ] + }, + { + "cell_type": "markdown", + "id": "e9830b6c", + "metadata": {}, + "source": [ + "# Feature Selection" + ] + }, + { + "cell_type": "code", + "execution_count": 143, + "id": "f0f1977f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>ABAT</th>\n", + " <th>ABHD5</th>\n", + " <th>ABLIM1</th>\n", + " <th>ABLIM3</th>\n", + " <th>ACAA1</th>\n", + " <th>ACADM</th>\n", + " <th>ACADVL</th>\n", + " <th>ACD</th>\n", + " <th>ACLY</th>\n", + " <th>ACOT11</th>\n", + " <th>...</th>\n", + " <th>XYLT1</th>\n", + " <th>YOD1</th>\n", + " <th>YTHDC1</th>\n", + " <th>ZBTB16</th>\n", + " <th>ZDHHC13</th>\n", + " <th>ZFP64</th>\n", + " <th>ZNF185</th>\n", + " <th>ZNF365</th>\n", + " <th>ZNF426</th>\n", + " <th>ZNF710</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>186</td>\n", + " <td>2603</td>\n", + " <td>42653</td>\n", + " <td>220</td>\n", + " <td>2132</td>\n", + " <td>22869</td>\n", + " <td>19775</td>\n", + " <td>4486</td>\n", + " <td>8835</td>\n", + " <td>2332</td>\n", + " <td>...</td>\n", + " <td>392</td>\n", + " <td>222</td>\n", + " <td>295</td>\n", + " <td>4598</td>\n", + " <td>7009</td>\n", + " <td>568</td>\n", + " <td>65123</td>\n", + " <td>56</td>\n", + " <td>308</td>\n", + " <td>10385</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>93</td>\n", + " <td>1137</td>\n", + " <td>16493</td>\n", + " <td>69</td>\n", + " <td>1816</td>\n", + " <td>17788</td>\n", + " <td>16870</td>\n", + " <td>7993</td>\n", + " <td>21434</td>\n", + " <td>2211</td>\n", + " <td>...</td>\n", + " <td>62</td>\n", + " <td>78</td>\n", + " <td>144</td>\n", + " <td>2132</td>\n", + " <td>2602</td>\n", + " <td>1720</td>\n", + " <td>13531</td>\n", + " <td>47</td>\n", + " <td>140</td>\n", + " <td>6441</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>198</td>\n", + " <td>5593</td>\n", + " <td>53918</td>\n", + " <td>263</td>\n", + " <td>3490</td>\n", + " <td>39276</td>\n", + " <td>25847</td>\n", + " <td>4413</td>\n", + " <td>9212</td>\n", + " <td>7419</td>\n", + " <td>...</td>\n", + " <td>481</td>\n", + " <td>355</td>\n", + " <td>308</td>\n", + " <td>1071</td>\n", + " <td>10289</td>\n", + " <td>379</td>\n", + " <td>65131</td>\n", + " <td>206</td>\n", + " <td>1251</td>\n", + " <td>11768</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>104</td>\n", + " <td>1636</td>\n", + " <td>19203</td>\n", + " <td>127</td>\n", + " <td>1518</td>\n", + " <td>17951</td>\n", + " <td>16854</td>\n", + " <td>12800</td>\n", + " <td>11939</td>\n", + " <td>5136</td>\n", + " <td>...</td>\n", + " <td>213</td>\n", + " <td>122</td>\n", + " <td>244</td>\n", + " <td>482</td>\n", + " <td>3578</td>\n", + " <td>1990</td>\n", + " <td>37715</td>\n", + " <td>66</td>\n", + " <td>361</td>\n", + " <td>8517</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>205</td>\n", + " <td>4720</td>\n", + " <td>56984</td>\n", + " <td>495</td>\n", + " <td>3309</td>\n", + " <td>24427</td>\n", + " <td>28197</td>\n", + " <td>5718</td>\n", + " <td>8192</td>\n", + " <td>6748</td>\n", + " <td>...</td>\n", + " <td>169</td>\n", + " <td>275</td>\n", + " <td>200</td>\n", + " <td>3632</td>\n", + " <td>7275</td>\n", + " <td>509</td>\n", + " <td>65138</td>\n", + " <td>188</td>\n", + " <td>587</td>\n", + " <td>9390</td>\n", + " </tr>\n", + " <tr>\n", + " <th>...</th>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " </tr>\n", + " <tr>\n", + " <th>214</th>\n", + " <td>4</td>\n", + " <td>5</td>\n", + " <td>9</td>\n", + " <td>6</td>\n", + " <td>7</td>\n", + " <td>7</td>\n", + " <td>10</td>\n", + " <td>8</td>\n", + " <td>7</td>\n", + " <td>7</td>\n", + " <td>...</td>\n", + " <td>7</td>\n", + " <td>4</td>\n", + " <td>9</td>\n", + " <td>6</td>\n", + " <td>7</td>\n", + " <td>7</td>\n", + " <td>7</td>\n", + " <td>6</td>\n", + " <td>5</td>\n", + " <td>8</td>\n", + " </tr>\n", + " <tr>\n", + " <th>215</th>\n", + " <td>5</td>\n", + " <td>5</td>\n", + " <td>8</td>\n", + " <td>8</td>\n", + " <td>8</td>\n", + " <td>8</td>\n", + " <td>9</td>\n", + " <td>8</td>\n", + " <td>6</td>\n", + " <td>7</td>\n", + " <td>...</td>\n", + " <td>7</td>\n", + " <td>4</td>\n", + " <td>9</td>\n", + " <td>6</td>\n", + " <td>6</td>\n", + " <td>7</td>\n", + " <td>9</td>\n", + " <td>6</td>\n", + " <td>5</td>\n", + " <td>8</td>\n", + " </tr>\n", + " <tr>\n", + " <th>216</th>\n", + " <td>4</td>\n", + " <td>5</td>\n", + " <td>9</td>\n", + " <td>6</td>\n", + " <td>7</td>\n", + " <td>8</td>\n", + " <td>9</td>\n", + " <td>8</td>\n", + " <td>7</td>\n", + " <td>7</td>\n", + " <td>...</td>\n", + " <td>7</td>\n", + " <td>5</td>\n", + " <td>9</td>\n", + " <td>6</td>\n", + " <td>6</td>\n", + " <td>7</td>\n", + " <td>8</td>\n", + " <td>6</td>\n", + " <td>5</td>\n", + " <td>8</td>\n", + " </tr>\n", + " <tr>\n", + " <th>217</th>\n", + " <td>5</td>\n", + " <td>4</td>\n", + " <td>9</td>\n", + " <td>7</td>\n", + " <td>8</td>\n", + " <td>8</td>\n", + " <td>9</td>\n", + " <td>8</td>\n", + " <td>6</td>\n", + " <td>7</td>\n", + " <td>...</td>\n", + " <td>7</td>\n", + " <td>4</td>\n", + " <td>10</td>\n", + " <td>6</td>\n", + " <td>8</td>\n", + " <td>7</td>\n", + " <td>8</td>\n", + " <td>6</td>\n", + " <td>5</td>\n", + " <td>8</td>\n", + " </tr>\n", + " <tr>\n", + " <th>218</th>\n", + " <td>4</td>\n", + " <td>4</td>\n", + " <td>7</td>\n", + " <td>6</td>\n", + " <td>8</td>\n", + " <td>8</td>\n", + " <td>10</td>\n", + " <td>8</td>\n", + " <td>7</td>\n", + " <td>7</td>\n", + " <td>...</td>\n", + " <td>6</td>\n", + " <td>5</td>\n", + " <td>10</td>\n", + " <td>6</td>\n", + " <td>6</td>\n", + " <td>7</td>\n", + " <td>6</td>\n", + " <td>5</td>\n", + " <td>5</td>\n", + " <td>8</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "<p>219 rows × 577 columns</p>\n", + "</div>" + ], + "text/plain": [ + " ABAT ABHD5 ABLIM1 ABLIM3 ACAA1 ACADM ACADVL ACD ACLY ACOT11 \\\n", + "0 186 2603 42653 220 2132 22869 19775 4486 8835 2332 \n", + "1 93 1137 16493 69 1816 17788 16870 7993 21434 2211 \n", + "2 198 5593 53918 263 3490 39276 25847 4413 9212 7419 \n", + "3 104 1636 19203 127 1518 17951 16854 12800 11939 5136 \n", + "4 205 4720 56984 495 3309 24427 28197 5718 8192 6748 \n", + ".. ... ... ... ... ... ... ... ... ... ... \n", + "214 4 5 9 6 7 7 10 8 7 7 \n", + "215 5 5 8 8 8 8 9 8 6 7 \n", + "216 4 5 9 6 7 8 9 8 7 7 \n", + "217 5 4 9 7 8 8 9 8 6 7 \n", + "218 4 4 7 6 8 8 10 8 7 7 \n", + "\n", + " ... XYLT1 YOD1 YTHDC1 ZBTB16 ZDHHC13 ZFP64 ZNF185 ZNF365 ZNF426 \\\n", + "0 ... 392 222 295 4598 7009 568 65123 56 308 \n", + "1 ... 62 78 144 2132 2602 1720 13531 47 140 \n", + "2 ... 481 355 308 1071 10289 379 65131 206 1251 \n", + "3 ... 213 122 244 482 3578 1990 37715 66 361 \n", + "4 ... 169 275 200 3632 7275 509 65138 188 587 \n", + ".. ... ... ... ... ... ... ... ... ... ... \n", + "214 ... 7 4 9 6 7 7 7 6 5 \n", + "215 ... 7 4 9 6 6 7 9 6 5 \n", + "216 ... 7 5 9 6 6 7 8 6 5 \n", + "217 ... 7 4 10 6 8 7 8 6 5 \n", + "218 ... 6 5 10 6 6 7 6 5 5 \n", + "\n", + " ZNF710 \n", + "0 10385 \n", + "1 6441 \n", + "2 11768 \n", + "3 8517 \n", + "4 9390 \n", + ".. ... \n", + "214 8 \n", + "215 8 \n", + "216 8 \n", + "217 8 \n", + "218 8 \n", + "\n", + "[219 rows x 577 columns]" + ] + }, + "execution_count": 143, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "X" + ] + }, + { + "cell_type": "code", + "execution_count": 144, + "id": "1cc528fb", + "metadata": {}, + "outputs": [], + "source": [ + "# LASSO model:\n", + "lasso = Lasso(alpha=1)\n", + "# fitting the model:\n", + "lasso.fit(X, y)\n", + "# select all coefficients and the feature names\n", + "lasso_coefs = lasso.coef_\n", + "feature_names = X.columns\n", + "\n", + "# collect the selected features:\n", + "selected_feature_indices = np.nonzero(lasso_coefs)[0]\n", + "selected_features = [feature_names[i] for i in selected_feature_indices]\n", + "X_selected = X.iloc[:, selected_feature_indices]" + ] + }, + { + "cell_type": "code", + "execution_count": 145, + "id": "8afa29ae", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "98" + ] + }, + "execution_count": 145, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(selected_features)" + ] + }, + { + "cell_type": "markdown", + "id": "6cee6462", + "metadata": {}, + "source": [ + "# Test train split" + ] + }, + { + "cell_type": "code", + "execution_count": 146, + "id": "3af09ef8", + "metadata": {}, + "outputs": [], + "source": [ + "X_train = X_selected\n", + "y_train = y" + ] + }, + { + "cell_type": "code", + "execution_count": 147, + "id": "129430e6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(index\n", + " 1 27\n", + " 0 13\n", + " Name: count, dtype: int64,\n", + " index\n", + " 0 111\n", + " 1 108\n", + " Name: count, dtype: int64)" + ] + }, + "execution_count": 147, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_test.value_counts(),y_train.value_counts()" + ] + }, + { + "cell_type": "markdown", + "id": "1cfe2a06", + "metadata": {}, + "source": [ + "# Cross validation" + ] + }, + { + "cell_type": "code", + "execution_count": 148, + "id": "1fbca4b8", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.svm import SVC\n", + "# we can add class_weight='balanced' to add panalize mistake\n", + "svm_model = SVC(kernel = \"linear\", probability=True,random_state=47)" + ] + }, + { + "cell_type": "code", + "execution_count": 149, + "id": "0502e118", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "# Defining parameter range\n", + "param_grid = {\n", + " 'C': [0.0005,0.0001,0.001,0.1]\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 150, + "id": "7f2d18b0", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "grid = GridSearchCV(svm_model, param_grid, refit=True, verbose=3)" + ] + }, + { + "cell_type": "code", + "execution_count": 151, + "id": "79790f1d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fitting 5 folds for each of 4 candidates, totalling 20 fits\n", + "[CV 1/5] END ..........................C=0.0005;, score=0.955 total time= 0.0s\n", + "[CV 2/5] END ..........................C=0.0005;, score=0.932 total time= 0.0s\n", + "[CV 3/5] END ..........................C=0.0005;, score=0.955 total time= 0.0s\n", + "[CV 4/5] END ..........................C=0.0005;, score=0.932 total time= 0.0s\n", + "[CV 5/5] END ..........................C=0.0005;, score=0.884 total time= 0.0s\n", + "[CV 1/5] END ..........................C=0.0001;, score=0.932 total time= 0.0s\n", + "[CV 2/5] END ..........................C=0.0001;, score=0.795 total time= 0.0s\n", + "[CV 3/5] END ..........................C=0.0001;, score=0.955 total time= 0.0s\n", + "[CV 4/5] END ..........................C=0.0001;, score=0.886 total time= 0.0s\n", + "[CV 5/5] END ..........................C=0.0001;, score=0.860 total time= 0.0s\n", + "[CV 1/5] END ...........................C=0.001;, score=0.977 total time= 0.0s\n", + "[CV 2/5] END ...........................C=0.001;, score=0.977 total time= 0.0s\n", + "[CV 3/5] END ...........................C=0.001;, score=0.977 total time= 0.0s\n", + "[CV 4/5] END ...........................C=0.001;, score=0.932 total time= 0.0s\n", + "[CV 5/5] END ...........................C=0.001;, score=0.884 total time= 0.0s\n", + "[CV 1/5] END .............................C=0.1;, score=0.705 total time= 0.0s\n", + "[CV 2/5] END .............................C=0.1;, score=0.886 total time= 0.0s\n", + "[CV 3/5] END .............................C=0.1;, score=0.977 total time= 0.0s\n", + "[CV 4/5] END .............................C=0.1;, score=0.977 total time= 0.0s\n", + "[CV 5/5] END .............................C=0.1;, score=0.953 total time= 0.0s\n" + ] + }, + { + "data": { + "text/html": [ + "<style>#sk-container-id-3 {color: black;background-color: white;}#sk-container-id-3 pre{padding: 0;}#sk-container-id-3 div.sk-toggleable {background-color: white;}#sk-container-id-3 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-3 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-3 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-3 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-3 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-3 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-3 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-3 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-3 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-3 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-3 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-3 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-3 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-3 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-3 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-3 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-3 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-3 div.sk-item {position: relative;z-index: 1;}#sk-container-id-3 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-3 div.sk-item::before, #sk-container-id-3 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-3 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-3 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-3 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-3 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-3 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-3 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-3 div.sk-label-container {text-align: center;}#sk-container-id-3 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-3 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-3\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>GridSearchCV(estimator=SVC(kernel='linear', probability=True, random_state=47),\n", + " param_grid={'C': [0.0005, 0.0001, 0.001, 0.1]}, verbose=3)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item sk-dashed-wrapped\"><div class=\"sk-label-container\"><div class=\"sk-label sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-5\" type=\"checkbox\" ><label for=\"sk-estimator-id-5\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">GridSearchCV</label><div class=\"sk-toggleable__content\"><pre>GridSearchCV(estimator=SVC(kernel='linear', probability=True, random_state=47),\n", + " param_grid={'C': [0.0005, 0.0001, 0.001, 0.1]}, verbose=3)</pre></div></div></div><div class=\"sk-parallel\"><div class=\"sk-parallel-item\"><div class=\"sk-item\"><div class=\"sk-label-container\"><div class=\"sk-label sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-6\" type=\"checkbox\" ><label for=\"sk-estimator-id-6\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">estimator: SVC</label><div class=\"sk-toggleable__content\"><pre>SVC(kernel='linear', probability=True, random_state=47)</pre></div></div></div><div class=\"sk-serial\"><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-7\" type=\"checkbox\" ><label for=\"sk-estimator-id-7\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">SVC</label><div class=\"sk-toggleable__content\"><pre>SVC(kernel='linear', probability=True, random_state=47)</pre></div></div></div></div></div></div></div></div></div></div>" + ], + "text/plain": [ + "GridSearchCV(estimator=SVC(kernel='linear', probability=True, random_state=47),\n", + " param_grid={'C': [0.0005, 0.0001, 0.001, 0.1]}, verbose=3)" + ] + }, + "execution_count": 151, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Fitting the model for grid search\n", + "grid.fit(X_train, y_train)" + ] + }, + { + "cell_type": "code", + "execution_count": 152, + "id": "5d327876", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'C': 0.001}\n", + "SVC(C=0.001, kernel='linear', probability=True, random_state=47)\n" + ] + } + ], + "source": [ + "# print best parameter after tuning\n", + "print(grid.best_params_)\n", + " \n", + "# print how our model looks after hyper-parameter tuning\n", + "print(grid.best_estimator_)" + ] + }, + { + "cell_type": "code", + "execution_count": 153, + "id": "f8d67e2f", + "metadata": {}, + "outputs": [], + "source": [ + "# Select columns in df1 based on columns in df2\n", + "X_test = X_test.loc[:, X_train.columns]" + ] + }, + { + "cell_type": "code", + "execution_count": 154, + "id": "e91a687d", + "metadata": {}, + "outputs": [], + "source": [ + "X_test=X_test.dropna(axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 155, + "id": "5e983996", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>ACLY</th>\n", + " <th>ACTG2</th>\n", + " <th>AGRN</th>\n", + " <th>AIM2</th>\n", + " <th>ALDH9A1</th>\n", + " <th>ALOX12</th>\n", + " <th>ANO1</th>\n", + " <th>AQP3</th>\n", + " <th>ATP6V1D</th>\n", + " <th>AURKA</th>\n", + " <th>...</th>\n", + " <th>TJP1</th>\n", + " <th>TMF1</th>\n", + " <th>TMPRSS11D</th>\n", + " <th>TMPRSS11E</th>\n", + " <th>TSPAN6</th>\n", + " <th>TST</th>\n", + " <th>TYMP</th>\n", + " <th>UCHL1</th>\n", + " <th>ZBTB16</th>\n", + " <th>ZNF185</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>16</th>\n", + " <td>4259.0</td>\n", + " <td>639.0</td>\n", + " <td>29118.0</td>\n", + " <td>85.0</td>\n", + " <td>3436.0</td>\n", + " <td>111.0</td>\n", + " <td>9165.0</td>\n", + " <td>908.0</td>\n", + " <td>2110.0</td>\n", + " <td>1706.0</td>\n", + " <td>...</td>\n", + " <td>12162.0</td>\n", + " <td>3851.0</td>\n", + " <td>32.0</td>\n", + " <td>41.0</td>\n", + " <td>1523.0</td>\n", + " <td>2343.0</td>\n", + " <td>3532.0</td>\n", + " <td>26.0</td>\n", + " <td>416.0</td>\n", + " <td>2809.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>57</th>\n", + " <td>4120.0</td>\n", + " <td>26238.0</td>\n", + " <td>6202.0</td>\n", + " <td>68.0</td>\n", + " <td>12499.0</td>\n", + " <td>11254.0</td>\n", + " <td>759.0</td>\n", + " <td>114879.0</td>\n", + " <td>5509.0</td>\n", + " <td>320.0</td>\n", + " <td>...</td>\n", + " <td>18914.0</td>\n", + " <td>1219.0</td>\n", + " <td>10813.0</td>\n", + " <td>25826.0</td>\n", + " <td>4473.0</td>\n", + " <td>3570.0</td>\n", + " <td>1929.0</td>\n", + " <td>39.0</td>\n", + " <td>603.0</td>\n", + " <td>100273.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>58</th>\n", + " <td>3257.0</td>\n", + " <td>2668.0</td>\n", + " <td>4353.0</td>\n", + " <td>39.0</td>\n", + " <td>2438.0</td>\n", + " <td>44.0</td>\n", + " <td>1147.0</td>\n", + " <td>1039.0</td>\n", + " <td>1934.0</td>\n", + " <td>188.0</td>\n", + " <td>...</td>\n", + " <td>3878.0</td>\n", + " <td>1888.0</td>\n", + " <td>30.0</td>\n", + " <td>21.0</td>\n", + " <td>1808.0</td>\n", + " <td>2044.0</td>\n", + " <td>358.0</td>\n", + " <td>38.0</td>\n", + " <td>5362.0</td>\n", + " <td>461.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>74</th>\n", + " <td>2965.0</td>\n", + " <td>1631.0</td>\n", + " <td>3183.0</td>\n", + " <td>30.0</td>\n", + " <td>1350.0</td>\n", + " <td>28.0</td>\n", + " <td>566.0</td>\n", + " <td>1597.0</td>\n", + " <td>1023.0</td>\n", + " <td>137.0</td>\n", + " <td>...</td>\n", + " <td>3079.0</td>\n", + " <td>1704.0</td>\n", + " <td>0.0</td>\n", + " <td>1.0</td>\n", + " <td>1220.0</td>\n", + " <td>1436.0</td>\n", + " <td>279.0</td>\n", + " <td>102.0</td>\n", + " <td>4683.0</td>\n", + " <td>438.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>84</th>\n", + " <td>15858.0</td>\n", + " <td>1250.0</td>\n", + " <td>57999.0</td>\n", + " <td>5.0</td>\n", + " <td>6791.0</td>\n", + " <td>119.0</td>\n", + " <td>15301.0</td>\n", + " <td>2564.0</td>\n", + " <td>2474.0</td>\n", + " <td>931.0</td>\n", + " <td>...</td>\n", + " <td>20137.0</td>\n", + " <td>5020.0</td>\n", + " <td>17.0</td>\n", + " <td>0.0</td>\n", + " <td>1794.0</td>\n", + " <td>6792.0</td>\n", + " <td>822.0</td>\n", + " <td>6.0</td>\n", + " <td>67.0</td>\n", + " <td>3181.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>92</th>\n", + " <td>10677.0</td>\n", + " <td>180261.0</td>\n", + " <td>20438.0</td>\n", + " <td>40.0</td>\n", + " <td>6160.0</td>\n", + " <td>207.0</td>\n", + " <td>6817.0</td>\n", + " <td>441.0</td>\n", + " <td>2859.0</td>\n", + " <td>200.0</td>\n", + " <td>...</td>\n", + " <td>22885.0</td>\n", + " <td>6003.0</td>\n", + " <td>18.0</td>\n", + " <td>0.0</td>\n", + " <td>1172.0</td>\n", + " <td>424.0</td>\n", + " <td>2723.0</td>\n", + " <td>1926.0</td>\n", + " <td>53533.0</td>\n", + " <td>720.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>94</th>\n", + " <td>8076.0</td>\n", + " <td>46720.0</td>\n", + " <td>9839.0</td>\n", + " <td>269.0</td>\n", + " <td>3393.0</td>\n", + " <td>931.0</td>\n", + " <td>345.0</td>\n", + " <td>20829.0</td>\n", + " <td>2130.0</td>\n", + " <td>376.0</td>\n", + " <td>...</td>\n", + " <td>8715.0</td>\n", + " <td>1800.0</td>\n", + " <td>4155.0</td>\n", + " <td>5119.0</td>\n", + " <td>4336.0</td>\n", + " <td>3570.0</td>\n", + " <td>2446.0</td>\n", + " <td>1322.0</td>\n", + " <td>3443.0</td>\n", + " <td>22544.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>119</th>\n", + " <td>6289.0</td>\n", + " <td>5889.0</td>\n", + " <td>8126.0</td>\n", + " <td>76.0</td>\n", + " <td>3398.0</td>\n", + " <td>123.0</td>\n", + " <td>1740.0</td>\n", + " <td>2034.0</td>\n", + " <td>1984.0</td>\n", + " <td>259.0</td>\n", + " <td>...</td>\n", + " <td>7583.0</td>\n", + " <td>3134.0</td>\n", + " <td>13.0</td>\n", + " <td>2.0</td>\n", + " <td>1754.0</td>\n", + " <td>2648.0</td>\n", + " <td>925.0</td>\n", + " <td>297.0</td>\n", + " <td>10003.0</td>\n", + " <td>1010.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>140</th>\n", + " <td>4202.0</td>\n", + " <td>116320.0</td>\n", + " <td>6614.0</td>\n", + " <td>23.0</td>\n", + " <td>2867.0</td>\n", + " <td>86.0</td>\n", + " <td>1831.0</td>\n", + " <td>506.0</td>\n", + " <td>1652.0</td>\n", + " <td>96.0</td>\n", + " <td>...</td>\n", + " <td>7825.0</td>\n", + " <td>2684.0</td>\n", + " <td>11.0</td>\n", + " <td>1.0</td>\n", + " <td>1024.0</td>\n", + " <td>962.0</td>\n", + " <td>499.0</td>\n", + " <td>2089.0</td>\n", + " <td>28984.0</td>\n", + " <td>387.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>143</th>\n", + " <td>8483.0</td>\n", + " <td>1182882.0</td>\n", + " <td>10845.0</td>\n", + " <td>26.0</td>\n", + " <td>6234.0</td>\n", + " <td>91.0</td>\n", + " <td>13962.0</td>\n", + " <td>562.0</td>\n", + " <td>4453.0</td>\n", + " <td>151.0</td>\n", + " <td>...</td>\n", + " <td>15552.0</td>\n", + " <td>4512.0</td>\n", + " <td>92.0</td>\n", + " <td>97.0</td>\n", + " <td>625.0</td>\n", + " <td>610.0</td>\n", + " <td>1063.0</td>\n", + " <td>5554.0</td>\n", + " <td>15996.0</td>\n", + " <td>785.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>150</th>\n", + " <td>4495.0</td>\n", + " <td>8065.0</td>\n", + " <td>14353.0</td>\n", + " <td>45.0</td>\n", + " <td>5254.0</td>\n", + " <td>121.0</td>\n", + " <td>2883.0</td>\n", + " <td>1873.0</td>\n", + " <td>1990.0</td>\n", + " <td>496.0</td>\n", + " <td>...</td>\n", + " <td>5979.0</td>\n", + " <td>2646.0</td>\n", + " <td>193.0</td>\n", + " <td>235.0</td>\n", + " <td>2635.0</td>\n", + " <td>1747.0</td>\n", + " <td>593.0</td>\n", + " <td>576.0</td>\n", + " <td>11653.0</td>\n", + " <td>1154.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>190</th>\n", + " <td>5008.0</td>\n", + " <td>4862.0</td>\n", + " <td>13129.0</td>\n", + " <td>17.0</td>\n", + " <td>2195.0</td>\n", + " <td>67.0</td>\n", + " <td>6275.0</td>\n", + " <td>709.0</td>\n", + " <td>1986.0</td>\n", + " <td>632.0</td>\n", + " <td>...</td>\n", + " <td>7577.0</td>\n", + " <td>2702.0</td>\n", + " <td>25.0</td>\n", + " <td>2.0</td>\n", + " <td>1238.0</td>\n", + " <td>1986.0</td>\n", + " <td>574.0</td>\n", + " <td>138.0</td>\n", + " <td>5547.0</td>\n", + " <td>728.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>191</th>\n", + " <td>15513.0</td>\n", + " <td>30383.0</td>\n", + " <td>37470.0</td>\n", + " <td>161.0</td>\n", + " <td>6342.0</td>\n", + " <td>319.0</td>\n", + " <td>14550.0</td>\n", + " <td>5171.0</td>\n", + " <td>4683.0</td>\n", + " <td>790.0</td>\n", + " <td>...</td>\n", + " <td>21395.0</td>\n", + " <td>9407.0</td>\n", + " <td>1423.0</td>\n", + " <td>933.0</td>\n", + " <td>2528.0</td>\n", + " <td>12431.0</td>\n", + " <td>2229.0</td>\n", + " <td>179.0</td>\n", + " <td>8099.0</td>\n", + " <td>8893.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>10221.0</td>\n", + " <td>2443.0</td>\n", + " <td>75902.0</td>\n", + " <td>177.0</td>\n", + " <td>6945.0</td>\n", + " <td>723.0</td>\n", + " <td>116115.0</td>\n", + " <td>22334.0</td>\n", + " <td>2652.0</td>\n", + " <td>2276.0</td>\n", + " <td>...</td>\n", + " <td>21246.0</td>\n", + " <td>2735.0</td>\n", + " <td>20875.0</td>\n", + " <td>4526.0</td>\n", + " <td>2159.0</td>\n", + " <td>1197.0</td>\n", + " <td>7100.0</td>\n", + " <td>5154.0</td>\n", + " <td>499.0</td>\n", + " <td>37290.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>14525.0</td>\n", + " <td>7171.0</td>\n", + " <td>35031.0</td>\n", + " <td>46.0</td>\n", + " <td>2689.0</td>\n", + " <td>468.0</td>\n", + " <td>6662.0</td>\n", + " <td>43649.0</td>\n", + " <td>4385.0</td>\n", + " <td>2666.0</td>\n", + " <td>...</td>\n", + " <td>9982.0</td>\n", + " <td>2981.0</td>\n", + " <td>1966.0</td>\n", + " <td>393.0</td>\n", + " <td>4526.0</td>\n", + " <td>1215.0</td>\n", + " <td>19155.0</td>\n", + " <td>1843.0</td>\n", + " <td>6232.0</td>\n", + " <td>7622.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>16867.0</td>\n", + " <td>60482.0</td>\n", + " <td>44691.0</td>\n", + " <td>933.0</td>\n", + " <td>4926.0</td>\n", + " <td>415.0</td>\n", + " <td>32548.0</td>\n", + " <td>5070.0</td>\n", + " <td>3712.0</td>\n", + " <td>2323.0</td>\n", + " <td>...</td>\n", + " <td>19798.0</td>\n", + " <td>3412.0</td>\n", + " <td>4118.0</td>\n", + " <td>3319.0</td>\n", + " <td>3786.0</td>\n", + " <td>1799.0</td>\n", + " <td>17049.0</td>\n", + " <td>1972.0</td>\n", + " <td>2788.0</td>\n", + " <td>12031.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>16434.0</td>\n", + " <td>821.0</td>\n", + " <td>73091.0</td>\n", + " <td>73.0</td>\n", + " <td>6491.0</td>\n", + " <td>137.0</td>\n", + " <td>20524.0</td>\n", + " <td>1654.0</td>\n", + " <td>3012.0</td>\n", + " <td>8199.0</td>\n", + " <td>...</td>\n", + " <td>21014.0</td>\n", + " <td>5395.0</td>\n", + " <td>29.0</td>\n", + " <td>32.0</td>\n", + " <td>6229.0</td>\n", + " <td>5317.0</td>\n", + " <td>7783.0</td>\n", + " <td>33.0</td>\n", + " <td>849.0</td>\n", + " <td>1274.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>14942.0</td>\n", + " <td>3906.0</td>\n", + " <td>44243.0</td>\n", + " <td>175.0</td>\n", + " <td>3720.0</td>\n", + " <td>103.0</td>\n", + " <td>1976.0</td>\n", + " <td>162.0</td>\n", + " <td>7882.0</td>\n", + " <td>3729.0</td>\n", + " <td>...</td>\n", + " <td>4917.0</td>\n", + " <td>2298.0</td>\n", + " <td>25.0</td>\n", + " <td>8.0</td>\n", + " <td>3291.0</td>\n", + " <td>1075.0</td>\n", + " <td>7023.0</td>\n", + " <td>24759.0</td>\n", + " <td>113.0</td>\n", + " <td>2069.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>5</th>\n", + " <td>10410.0</td>\n", + " <td>319.0</td>\n", + " <td>122948.0</td>\n", + " <td>1317.0</td>\n", + " <td>2282.0</td>\n", + " <td>160.0</td>\n", + " <td>17007.0</td>\n", + " <td>12723.0</td>\n", + " <td>3063.0</td>\n", + " <td>3970.0</td>\n", + " <td>...</td>\n", + " <td>12133.0</td>\n", + " <td>3552.0</td>\n", + " <td>29.0</td>\n", + " <td>125.0</td>\n", + " <td>2744.0</td>\n", + " <td>2002.0</td>\n", + " <td>8195.0</td>\n", + " <td>4401.0</td>\n", + " <td>98.0</td>\n", + " <td>2511.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>6</th>\n", + " <td>6400.0</td>\n", + " <td>9388.0</td>\n", + " <td>19432.0</td>\n", + " <td>520.0</td>\n", + " <td>2254.0</td>\n", + " <td>139.0</td>\n", + " <td>3700.0</td>\n", + " <td>786.0</td>\n", + " <td>1339.0</td>\n", + " <td>435.0</td>\n", + " <td>...</td>\n", + " <td>5565.0</td>\n", + " <td>2394.0</td>\n", + " <td>10.0</td>\n", + " <td>3.0</td>\n", + " <td>852.0</td>\n", + " <td>1911.0</td>\n", + " <td>19898.0</td>\n", + " <td>485.0</td>\n", + " <td>1871.0</td>\n", + " <td>647.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>7</th>\n", + " <td>11926.0</td>\n", + " <td>6914.0</td>\n", + " <td>47899.0</td>\n", + " <td>264.0</td>\n", + " <td>3797.0</td>\n", + " <td>219.0</td>\n", + " <td>4480.0</td>\n", + " <td>7021.0</td>\n", + " <td>3294.0</td>\n", + " <td>1863.0</td>\n", + " <td>...</td>\n", + " <td>16615.0</td>\n", + " <td>6816.0</td>\n", + " <td>2.0</td>\n", + " <td>3.0</td>\n", + " <td>1547.0</td>\n", + " <td>9133.0</td>\n", + " <td>6466.0</td>\n", + " <td>147.0</td>\n", + " <td>3287.0</td>\n", + " <td>2043.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>8</th>\n", + " <td>35448.0</td>\n", + " <td>3745.0</td>\n", + " <td>39035.0</td>\n", + " <td>14.0</td>\n", + " <td>5432.0</td>\n", + " <td>128.0</td>\n", + " <td>2156.0</td>\n", + " <td>12611.0</td>\n", + " <td>3041.0</td>\n", + " <td>3793.0</td>\n", + " <td>...</td>\n", + " <td>23510.0</td>\n", + " <td>4708.0</td>\n", + " <td>0.0</td>\n", + " <td>37.0</td>\n", + " <td>2967.0</td>\n", + " <td>2121.0</td>\n", + " <td>2960.0</td>\n", + " <td>359.0</td>\n", + " <td>109.0</td>\n", + " <td>4349.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>9</th>\n", + " <td>15333.0</td>\n", + " <td>892.0</td>\n", + " <td>19439.0</td>\n", + " <td>3.0</td>\n", + " <td>7741.0</td>\n", + " <td>97.0</td>\n", + " <td>18602.0</td>\n", + " <td>230.0</td>\n", + " <td>2905.0</td>\n", + " <td>3268.0</td>\n", + " <td>...</td>\n", + " <td>9944.0</td>\n", + " <td>2944.0</td>\n", + " <td>0.0</td>\n", + " <td>0.0</td>\n", + " <td>2321.0</td>\n", + " <td>5301.0</td>\n", + " <td>437.0</td>\n", + " <td>208.0</td>\n", + " <td>25.0</td>\n", + " <td>117.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>10</th>\n", + " <td>23759.0</td>\n", + " <td>5639.0</td>\n", + " <td>43847.0</td>\n", + " <td>671.0</td>\n", + " <td>3206.0</td>\n", + " <td>170.0</td>\n", + " <td>4501.0</td>\n", + " <td>3960.0</td>\n", + " <td>2817.0</td>\n", + " <td>2384.0</td>\n", + " <td>...</td>\n", + " <td>6139.0</td>\n", + " <td>1230.0</td>\n", + " <td>3657.0</td>\n", + " <td>227.0</td>\n", + " <td>1671.0</td>\n", + " <td>1492.0</td>\n", + " <td>9211.0</td>\n", + " <td>5208.0</td>\n", + " <td>164.0</td>\n", + " <td>9055.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>11</th>\n", + " <td>41702.0</td>\n", + " <td>2321.0</td>\n", + " <td>45777.0</td>\n", + " <td>308.0</td>\n", + " <td>4215.0</td>\n", + " <td>244.0</td>\n", + " <td>23984.0</td>\n", + " <td>1053.0</td>\n", + " <td>2532.0</td>\n", + " <td>4997.0</td>\n", + " <td>...</td>\n", + " <td>15251.0</td>\n", + " <td>6759.0</td>\n", + " <td>356.0</td>\n", + " <td>130.0</td>\n", + " <td>4966.0</td>\n", + " <td>4709.0</td>\n", + " <td>6306.0</td>\n", + " <td>832.0</td>\n", + " <td>893.0</td>\n", + " <td>7544.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>12</th>\n", + " <td>21731.0</td>\n", + " <td>710.0</td>\n", + " <td>52892.0</td>\n", + " <td>33.0</td>\n", + " <td>5321.0</td>\n", + " <td>118.0</td>\n", + " <td>63199.0</td>\n", + " <td>2126.0</td>\n", + " <td>3817.0</td>\n", + " <td>3022.0</td>\n", + " <td>...</td>\n", + " <td>18137.0</td>\n", + " <td>5011.0</td>\n", + " <td>11.0</td>\n", + " <td>14.0</td>\n", + " <td>1870.0</td>\n", + " <td>5407.0</td>\n", + " <td>3217.0</td>\n", + " <td>44.0</td>\n", + " <td>980.0</td>\n", + " <td>12930.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>13</th>\n", + " <td>34728.0</td>\n", + " <td>3946.0</td>\n", + " <td>82321.0</td>\n", + " <td>104.0</td>\n", + " <td>7096.0</td>\n", + " <td>81.0</td>\n", + " <td>18992.0</td>\n", + " <td>766.0</td>\n", + " <td>3404.0</td>\n", + " <td>5879.0</td>\n", + " <td>...</td>\n", + " <td>18162.0</td>\n", + " <td>6492.0</td>\n", + " <td>29.0</td>\n", + " <td>73.0</td>\n", + " <td>5453.0</td>\n", + " <td>3345.0</td>\n", + " <td>5279.0</td>\n", + " <td>174.0</td>\n", + " <td>98.0</td>\n", + " <td>5575.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>14</th>\n", + " <td>2574.0</td>\n", + " <td>20152.0</td>\n", + " <td>15475.0</td>\n", + " <td>351.0</td>\n", + " <td>1971.0</td>\n", + " <td>1195.0</td>\n", + " <td>5171.0</td>\n", + " <td>28474.0</td>\n", + " <td>1698.0</td>\n", + " <td>530.0</td>\n", + " <td>...</td>\n", + " <td>4774.0</td>\n", + " <td>582.0</td>\n", + " <td>4308.0</td>\n", + " <td>4168.0</td>\n", + " <td>1014.0</td>\n", + " <td>1198.0</td>\n", + " <td>15202.0</td>\n", + " <td>115.0</td>\n", + " <td>668.0</td>\n", + " <td>23839.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>15</th>\n", + " <td>24302.0</td>\n", + " <td>486.0</td>\n", + " <td>51396.0</td>\n", + " <td>57.0</td>\n", + " <td>4395.0</td>\n", + " <td>90.0</td>\n", + " <td>7689.0</td>\n", + " <td>4533.0</td>\n", + " <td>3864.0</td>\n", + " <td>5163.0</td>\n", + " <td>...</td>\n", + " <td>12518.0</td>\n", + " <td>3705.0</td>\n", + " <td>0.0</td>\n", + " <td>4.0</td>\n", + " <td>3680.0</td>\n", + " <td>3567.0</td>\n", + " <td>2364.0</td>\n", + " <td>81.0</td>\n", + " <td>129.0</td>\n", + " <td>1382.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>17</th>\n", + " <td>9038.0</td>\n", + " <td>7038.0</td>\n", + " <td>39771.0</td>\n", + " <td>4303.0</td>\n", + " <td>2628.0</td>\n", + " <td>166.0</td>\n", + " <td>15863.0</td>\n", + " <td>22395.0</td>\n", + " <td>3801.0</td>\n", + " <td>3080.0</td>\n", + " <td>...</td>\n", + " <td>6439.0</td>\n", + " <td>1317.0</td>\n", + " <td>6438.0</td>\n", + " <td>13.0</td>\n", + " <td>1435.0</td>\n", + " <td>1498.0</td>\n", + " <td>24735.0</td>\n", + " <td>232.0</td>\n", + " <td>118.0</td>\n", + " <td>10196.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>18</th>\n", + " <td>13209.0</td>\n", + " <td>585.0</td>\n", + " <td>45011.0</td>\n", + " <td>967.0</td>\n", + " <td>3016.0</td>\n", + " <td>327.0</td>\n", + " <td>149348.0</td>\n", + " <td>28589.0</td>\n", + " <td>2945.0</td>\n", + " <td>3759.0</td>\n", + " <td>...</td>\n", + " <td>10579.0</td>\n", + " <td>2180.0</td>\n", + " <td>3213.0</td>\n", + " <td>4494.0</td>\n", + " <td>1992.0</td>\n", + " <td>1817.0</td>\n", + " <td>16004.0</td>\n", + " <td>4328.0</td>\n", + " <td>115.0</td>\n", + " <td>14249.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>19</th>\n", + " <td>14932.0</td>\n", + " <td>432.0</td>\n", + " <td>117012.0</td>\n", + " <td>1436.0</td>\n", + " <td>4611.0</td>\n", + " <td>2028.0</td>\n", + " <td>2202.0</td>\n", + " <td>45630.0</td>\n", + " <td>3801.0</td>\n", + " <td>2562.0</td>\n", + " <td>...</td>\n", + " <td>15227.0</td>\n", + " <td>2048.0</td>\n", + " <td>6666.0</td>\n", + " <td>8338.0</td>\n", + " <td>1906.0</td>\n", + " <td>1471.0</td>\n", + " <td>38164.0</td>\n", + " <td>1234.0</td>\n", + " <td>141.0</td>\n", + " <td>33472.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>20</th>\n", + " <td>17321.0</td>\n", + " <td>865.0</td>\n", + " <td>126261.0</td>\n", + " <td>3368.0</td>\n", + " <td>2587.0</td>\n", + " <td>888.0</td>\n", + " <td>29850.0</td>\n", + " <td>35051.0</td>\n", + " <td>3767.0</td>\n", + " <td>5885.0</td>\n", + " <td>...</td>\n", + " <td>19888.0</td>\n", + " <td>3006.0</td>\n", + " <td>6786.0</td>\n", + " <td>30.0</td>\n", + " <td>778.0</td>\n", + " <td>1508.0</td>\n", + " <td>32380.0</td>\n", + " <td>491.0</td>\n", + " <td>38.0</td>\n", + " <td>9261.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>21</th>\n", + " <td>14576.0</td>\n", + " <td>11127.0</td>\n", + " <td>40109.0</td>\n", + " <td>516.0</td>\n", + " <td>5076.0</td>\n", + " <td>725.0</td>\n", + " <td>64000.0</td>\n", + " <td>3790.0</td>\n", + " <td>2900.0</td>\n", + " <td>2039.0</td>\n", + " <td>...</td>\n", + " <td>14725.0</td>\n", + " <td>3461.0</td>\n", + " <td>12658.0</td>\n", + " <td>21406.0</td>\n", + " <td>3326.0</td>\n", + " <td>2119.0</td>\n", + " <td>22841.0</td>\n", + " <td>2999.0</td>\n", + " <td>1834.0</td>\n", + " <td>10202.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>22</th>\n", + " <td>21260.0</td>\n", + " <td>6533.0</td>\n", + " <td>22740.0</td>\n", + " <td>19.0</td>\n", + " <td>5653.0</td>\n", + " <td>589.0</td>\n", + " <td>2933.0</td>\n", + " <td>463.0</td>\n", + " <td>3296.0</td>\n", + " <td>1965.0</td>\n", + " <td>...</td>\n", + " <td>5039.0</td>\n", + " <td>2981.0</td>\n", + " <td>691.0</td>\n", + " <td>293.0</td>\n", + " <td>9656.0</td>\n", + " <td>1585.0</td>\n", + " <td>4106.0</td>\n", + " <td>41302.0</td>\n", + " <td>111.0</td>\n", + " <td>4312.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>23</th>\n", + " <td>7476.0</td>\n", + " <td>1314.0</td>\n", + " <td>19050.0</td>\n", + " <td>295.0</td>\n", + " <td>4972.0</td>\n", + " <td>924.0</td>\n", + " <td>18283.0</td>\n", + " <td>18513.0</td>\n", + " <td>3071.0</td>\n", + " <td>1274.0</td>\n", + " <td>...</td>\n", + " <td>13805.0</td>\n", + " <td>1525.0</td>\n", + " <td>7008.0</td>\n", + " <td>8508.0</td>\n", + " <td>3350.0</td>\n", + " <td>2739.0</td>\n", + " <td>15777.0</td>\n", + " <td>421.0</td>\n", + " <td>120.0</td>\n", + " <td>34415.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>24</th>\n", + " <td>33298.0</td>\n", + " <td>6304.0</td>\n", + " <td>107553.0</td>\n", + " <td>110.0</td>\n", + " <td>9714.0</td>\n", + " <td>321.0</td>\n", + " <td>5404.0</td>\n", + " <td>2974.0</td>\n", + " <td>3888.0</td>\n", + " <td>5376.0</td>\n", + " <td>...</td>\n", + " <td>34916.0</td>\n", + " <td>7692.0</td>\n", + " <td>12.0</td>\n", + " <td>46.0</td>\n", + " <td>5229.0</td>\n", + " <td>6053.0</td>\n", + " <td>7355.0</td>\n", + " <td>2034.0</td>\n", + " <td>4225.0</td>\n", + " <td>1062.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>25</th>\n", + " <td>20165.0</td>\n", + " <td>12052.0</td>\n", + " <td>87008.0</td>\n", + " <td>301.0</td>\n", + " <td>4166.0</td>\n", + " <td>243.0</td>\n", + " <td>85402.0</td>\n", + " <td>13620.0</td>\n", + " <td>3260.0</td>\n", + " <td>3026.0</td>\n", + " <td>...</td>\n", + " <td>19469.0</td>\n", + " <td>3604.0</td>\n", + " <td>96.0</td>\n", + " <td>2604.0</td>\n", + " <td>5081.0</td>\n", + " <td>2168.0</td>\n", + " <td>7735.0</td>\n", + " <td>1005.0</td>\n", + " <td>654.0</td>\n", + " <td>12429.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>26</th>\n", + " <td>25209.0</td>\n", + " <td>4772.0</td>\n", + " <td>31916.0</td>\n", + " <td>104.0</td>\n", + " <td>3903.0</td>\n", + " <td>3253.0</td>\n", + " <td>16186.0</td>\n", + " <td>6354.0</td>\n", + " <td>3945.0</td>\n", + " <td>2207.0</td>\n", + " <td>...</td>\n", + " <td>13462.0</td>\n", + " <td>2335.0</td>\n", + " <td>1397.0</td>\n", + " <td>221.0</td>\n", + " <td>2914.0</td>\n", + " <td>1956.0</td>\n", + " <td>6526.0</td>\n", + " <td>20385.0</td>\n", + " <td>8.0</td>\n", + " <td>5330.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>27</th>\n", + " <td>7247.0</td>\n", + " <td>3264.0</td>\n", + " <td>66834.0</td>\n", + " <td>2148.0</td>\n", + " <td>3504.0</td>\n", + " <td>124.0</td>\n", + " <td>7262.0</td>\n", + " <td>1902.0</td>\n", + " <td>2223.0</td>\n", + " <td>4083.0</td>\n", + " <td>...</td>\n", + " <td>8892.0</td>\n", + " <td>3559.0</td>\n", + " <td>439.0</td>\n", + " <td>295.0</td>\n", + " <td>3932.0</td>\n", + " <td>2038.0</td>\n", + " <td>5239.0</td>\n", + " <td>92.0</td>\n", + " <td>537.0</td>\n", + " <td>5162.0</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "<p>40 rows × 98 columns</p>\n", + "</div>" + ], + "text/plain": [ + " ACLY ACTG2 AGRN AIM2 ALDH9A1 ALOX12 ANO1 \\\n", + "16 4259.0 639.0 29118.0 85.0 3436.0 111.0 9165.0 \n", + "57 4120.0 26238.0 6202.0 68.0 12499.0 11254.0 759.0 \n", + "58 3257.0 2668.0 4353.0 39.0 2438.0 44.0 1147.0 \n", + "74 2965.0 1631.0 3183.0 30.0 1350.0 28.0 566.0 \n", + "84 15858.0 1250.0 57999.0 5.0 6791.0 119.0 15301.0 \n", + "92 10677.0 180261.0 20438.0 40.0 6160.0 207.0 6817.0 \n", + "94 8076.0 46720.0 9839.0 269.0 3393.0 931.0 345.0 \n", + "119 6289.0 5889.0 8126.0 76.0 3398.0 123.0 1740.0 \n", + "140 4202.0 116320.0 6614.0 23.0 2867.0 86.0 1831.0 \n", + "143 8483.0 1182882.0 10845.0 26.0 6234.0 91.0 13962.0 \n", + "150 4495.0 8065.0 14353.0 45.0 5254.0 121.0 2883.0 \n", + "190 5008.0 4862.0 13129.0 17.0 2195.0 67.0 6275.0 \n", + "191 15513.0 30383.0 37470.0 161.0 6342.0 319.0 14550.0 \n", + "0 10221.0 2443.0 75902.0 177.0 6945.0 723.0 116115.0 \n", + "1 14525.0 7171.0 35031.0 46.0 2689.0 468.0 6662.0 \n", + "2 16867.0 60482.0 44691.0 933.0 4926.0 415.0 32548.0 \n", + "3 16434.0 821.0 73091.0 73.0 6491.0 137.0 20524.0 \n", + "4 14942.0 3906.0 44243.0 175.0 3720.0 103.0 1976.0 \n", + "5 10410.0 319.0 122948.0 1317.0 2282.0 160.0 17007.0 \n", + "6 6400.0 9388.0 19432.0 520.0 2254.0 139.0 3700.0 \n", + "7 11926.0 6914.0 47899.0 264.0 3797.0 219.0 4480.0 \n", + "8 35448.0 3745.0 39035.0 14.0 5432.0 128.0 2156.0 \n", + "9 15333.0 892.0 19439.0 3.0 7741.0 97.0 18602.0 \n", + "10 23759.0 5639.0 43847.0 671.0 3206.0 170.0 4501.0 \n", + "11 41702.0 2321.0 45777.0 308.0 4215.0 244.0 23984.0 \n", + "12 21731.0 710.0 52892.0 33.0 5321.0 118.0 63199.0 \n", + "13 34728.0 3946.0 82321.0 104.0 7096.0 81.0 18992.0 \n", + "14 2574.0 20152.0 15475.0 351.0 1971.0 1195.0 5171.0 \n", + "15 24302.0 486.0 51396.0 57.0 4395.0 90.0 7689.0 \n", + "17 9038.0 7038.0 39771.0 4303.0 2628.0 166.0 15863.0 \n", + "18 13209.0 585.0 45011.0 967.0 3016.0 327.0 149348.0 \n", + "19 14932.0 432.0 117012.0 1436.0 4611.0 2028.0 2202.0 \n", + "20 17321.0 865.0 126261.0 3368.0 2587.0 888.0 29850.0 \n", + "21 14576.0 11127.0 40109.0 516.0 5076.0 725.0 64000.0 \n", + "22 21260.0 6533.0 22740.0 19.0 5653.0 589.0 2933.0 \n", + "23 7476.0 1314.0 19050.0 295.0 4972.0 924.0 18283.0 \n", + "24 33298.0 6304.0 107553.0 110.0 9714.0 321.0 5404.0 \n", + "25 20165.0 12052.0 87008.0 301.0 4166.0 243.0 85402.0 \n", + "26 25209.0 4772.0 31916.0 104.0 3903.0 3253.0 16186.0 \n", + "27 7247.0 3264.0 66834.0 2148.0 3504.0 124.0 7262.0 \n", + "\n", + " AQP3 ATP6V1D AURKA ... TJP1 TMF1 TMPRSS11D TMPRSS11E \\\n", + "16 908.0 2110.0 1706.0 ... 12162.0 3851.0 32.0 41.0 \n", + "57 114879.0 5509.0 320.0 ... 18914.0 1219.0 10813.0 25826.0 \n", + "58 1039.0 1934.0 188.0 ... 3878.0 1888.0 30.0 21.0 \n", + "74 1597.0 1023.0 137.0 ... 3079.0 1704.0 0.0 1.0 \n", + "84 2564.0 2474.0 931.0 ... 20137.0 5020.0 17.0 0.0 \n", + "92 441.0 2859.0 200.0 ... 22885.0 6003.0 18.0 0.0 \n", + "94 20829.0 2130.0 376.0 ... 8715.0 1800.0 4155.0 5119.0 \n", + "119 2034.0 1984.0 259.0 ... 7583.0 3134.0 13.0 2.0 \n", + "140 506.0 1652.0 96.0 ... 7825.0 2684.0 11.0 1.0 \n", + "143 562.0 4453.0 151.0 ... 15552.0 4512.0 92.0 97.0 \n", + "150 1873.0 1990.0 496.0 ... 5979.0 2646.0 193.0 235.0 \n", + "190 709.0 1986.0 632.0 ... 7577.0 2702.0 25.0 2.0 \n", + "191 5171.0 4683.0 790.0 ... 21395.0 9407.0 1423.0 933.0 \n", + "0 22334.0 2652.0 2276.0 ... 21246.0 2735.0 20875.0 4526.0 \n", + "1 43649.0 4385.0 2666.0 ... 9982.0 2981.0 1966.0 393.0 \n", + "2 5070.0 3712.0 2323.0 ... 19798.0 3412.0 4118.0 3319.0 \n", + "3 1654.0 3012.0 8199.0 ... 21014.0 5395.0 29.0 32.0 \n", + "4 162.0 7882.0 3729.0 ... 4917.0 2298.0 25.0 8.0 \n", + "5 12723.0 3063.0 3970.0 ... 12133.0 3552.0 29.0 125.0 \n", + "6 786.0 1339.0 435.0 ... 5565.0 2394.0 10.0 3.0 \n", + "7 7021.0 3294.0 1863.0 ... 16615.0 6816.0 2.0 3.0 \n", + "8 12611.0 3041.0 3793.0 ... 23510.0 4708.0 0.0 37.0 \n", + "9 230.0 2905.0 3268.0 ... 9944.0 2944.0 0.0 0.0 \n", + "10 3960.0 2817.0 2384.0 ... 6139.0 1230.0 3657.0 227.0 \n", + "11 1053.0 2532.0 4997.0 ... 15251.0 6759.0 356.0 130.0 \n", + "12 2126.0 3817.0 3022.0 ... 18137.0 5011.0 11.0 14.0 \n", + "13 766.0 3404.0 5879.0 ... 18162.0 6492.0 29.0 73.0 \n", + "14 28474.0 1698.0 530.0 ... 4774.0 582.0 4308.0 4168.0 \n", + "15 4533.0 3864.0 5163.0 ... 12518.0 3705.0 0.0 4.0 \n", + "17 22395.0 3801.0 3080.0 ... 6439.0 1317.0 6438.0 13.0 \n", + "18 28589.0 2945.0 3759.0 ... 10579.0 2180.0 3213.0 4494.0 \n", + "19 45630.0 3801.0 2562.0 ... 15227.0 2048.0 6666.0 8338.0 \n", + "20 35051.0 3767.0 5885.0 ... 19888.0 3006.0 6786.0 30.0 \n", + "21 3790.0 2900.0 2039.0 ... 14725.0 3461.0 12658.0 21406.0 \n", + "22 463.0 3296.0 1965.0 ... 5039.0 2981.0 691.0 293.0 \n", + "23 18513.0 3071.0 1274.0 ... 13805.0 1525.0 7008.0 8508.0 \n", + "24 2974.0 3888.0 5376.0 ... 34916.0 7692.0 12.0 46.0 \n", + "25 13620.0 3260.0 3026.0 ... 19469.0 3604.0 96.0 2604.0 \n", + "26 6354.0 3945.0 2207.0 ... 13462.0 2335.0 1397.0 221.0 \n", + "27 1902.0 2223.0 4083.0 ... 8892.0 3559.0 439.0 295.0 \n", + "\n", + " TSPAN6 TST TYMP UCHL1 ZBTB16 ZNF185 \n", + "16 1523.0 2343.0 3532.0 26.0 416.0 2809.0 \n", + "57 4473.0 3570.0 1929.0 39.0 603.0 100273.0 \n", + "58 1808.0 2044.0 358.0 38.0 5362.0 461.0 \n", + "74 1220.0 1436.0 279.0 102.0 4683.0 438.0 \n", + "84 1794.0 6792.0 822.0 6.0 67.0 3181.0 \n", + "92 1172.0 424.0 2723.0 1926.0 53533.0 720.0 \n", + "94 4336.0 3570.0 2446.0 1322.0 3443.0 22544.0 \n", + "119 1754.0 2648.0 925.0 297.0 10003.0 1010.0 \n", + "140 1024.0 962.0 499.0 2089.0 28984.0 387.0 \n", + "143 625.0 610.0 1063.0 5554.0 15996.0 785.0 \n", + "150 2635.0 1747.0 593.0 576.0 11653.0 1154.0 \n", + "190 1238.0 1986.0 574.0 138.0 5547.0 728.0 \n", + "191 2528.0 12431.0 2229.0 179.0 8099.0 8893.0 \n", + "0 2159.0 1197.0 7100.0 5154.0 499.0 37290.0 \n", + "1 4526.0 1215.0 19155.0 1843.0 6232.0 7622.0 \n", + "2 3786.0 1799.0 17049.0 1972.0 2788.0 12031.0 \n", + "3 6229.0 5317.0 7783.0 33.0 849.0 1274.0 \n", + "4 3291.0 1075.0 7023.0 24759.0 113.0 2069.0 \n", + "5 2744.0 2002.0 8195.0 4401.0 98.0 2511.0 \n", + "6 852.0 1911.0 19898.0 485.0 1871.0 647.0 \n", + "7 1547.0 9133.0 6466.0 147.0 3287.0 2043.0 \n", + "8 2967.0 2121.0 2960.0 359.0 109.0 4349.0 \n", + "9 2321.0 5301.0 437.0 208.0 25.0 117.0 \n", + "10 1671.0 1492.0 9211.0 5208.0 164.0 9055.0 \n", + "11 4966.0 4709.0 6306.0 832.0 893.0 7544.0 \n", + "12 1870.0 5407.0 3217.0 44.0 980.0 12930.0 \n", + "13 5453.0 3345.0 5279.0 174.0 98.0 5575.0 \n", + "14 1014.0 1198.0 15202.0 115.0 668.0 23839.0 \n", + "15 3680.0 3567.0 2364.0 81.0 129.0 1382.0 \n", + "17 1435.0 1498.0 24735.0 232.0 118.0 10196.0 \n", + "18 1992.0 1817.0 16004.0 4328.0 115.0 14249.0 \n", + "19 1906.0 1471.0 38164.0 1234.0 141.0 33472.0 \n", + "20 778.0 1508.0 32380.0 491.0 38.0 9261.0 \n", + "21 3326.0 2119.0 22841.0 2999.0 1834.0 10202.0 \n", + "22 9656.0 1585.0 4106.0 41302.0 111.0 4312.0 \n", + "23 3350.0 2739.0 15777.0 421.0 120.0 34415.0 \n", + "24 5229.0 6053.0 7355.0 2034.0 4225.0 1062.0 \n", + "25 5081.0 2168.0 7735.0 1005.0 654.0 12429.0 \n", + "26 2914.0 1956.0 6526.0 20385.0 8.0 5330.0 \n", + "27 3932.0 2038.0 5239.0 92.0 537.0 5162.0 \n", + "\n", + "[40 rows x 98 columns]" + ] + }, + "execution_count": 155, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "X_test" + ] + }, + { + "cell_type": "code", + "execution_count": 156, + "id": "c8c233d6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 0.67 0.31 0.42 13\n", + " 1 0.74 0.93 0.82 27\n", + "\n", + " accuracy 0.73 40\n", + " macro avg 0.70 0.62 0.62 40\n", + "weighted avg 0.71 0.72 0.69 40\n", + "\n" + ] + } + ], + "source": [ + "from sklearn.metrics import classification_report, confusion_matrix\n", + "grid_predictions = grid.predict(X_test)\n", + "print(classification_report(y_test, grid_predictions))" + ] + }, + { + "cell_type": "code", + "execution_count": 157, + "id": "3b2776c0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<style>#sk-container-id-4 {color: black;background-color: white;}#sk-container-id-4 pre{padding: 0;}#sk-container-id-4 div.sk-toggleable {background-color: white;}#sk-container-id-4 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-4 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-4 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-4 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-4 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-4 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-4 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-4 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-4 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-4 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-4 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-4 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-4 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-4 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-4 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-4 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-4 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-4 div.sk-item {position: relative;z-index: 1;}#sk-container-id-4 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-4 div.sk-item::before, #sk-container-id-4 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-4 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-4 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-4 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-4 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-4 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-4 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-4 div.sk-label-container {text-align: center;}#sk-container-id-4 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-4 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-4\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>SVC(C=0.001, kernel='linear', probability=True, random_state=47)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-8\" type=\"checkbox\" checked><label for=\"sk-estimator-id-8\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">SVC</label><div class=\"sk-toggleable__content\"><pre>SVC(C=0.001, kernel='linear', probability=True, random_state=47)</pre></div></div></div></div></div>" + ], + "text/plain": [ + "SVC(C=0.001, kernel='linear', probability=True, random_state=47)" + ] + }, + "execution_count": 157, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model_svm = grid.best_estimator_\n", + "model_svm.fit(X_train,y_train)" + ] + }, + { + "cell_type": "code", + "execution_count": 158, + "id": "94871ada", + "metadata": {}, + "outputs": [], + "source": [ + "y_proba = model_svm.fit(X_train, y_train).predict_proba(X_test)[:,1]" + ] + }, + { + "cell_type": "code", + "execution_count": 159, + "id": "f8d4142d", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.model_selection import StratifiedKFold\n", + "from sklearn.feature_selection import SelectKBest, f_classif\n", + "from sklearn.metrics import auc\n", + "def roc(X_train,y_train,model,label):\n", + " cv = StratifiedKFold(n_splits=6)\n", + " classifier = model\n", + " tprs = []\n", + " aucs = []\n", + " mean_fpr = np.linspace(0, 1, 100)\n", + "\n", + " fig, ax = plt.subplots(figsize=(6, 6))\n", + " for fold, (train, test) in enumerate(cv.split(X_train, y_train)):\n", + " classifier.fit(X_train.iloc[train], y_train.iloc[train])\n", + " viz = RocCurveDisplay.from_estimator(\n", + " classifier,\n", + " X_train.iloc[test],\n", + " y_train.iloc[test],\n", + " name=f\"ROC fold {fold}\",\n", + " alpha=0.3,\n", + " lw=1,\n", + " ax=ax,\n", + " )\n", + " interp_tpr = np.interp(mean_fpr, viz.fpr, viz.tpr)\n", + " interp_tpr[0] = 0.0\n", + " tprs.append(interp_tpr)\n", + " aucs.append(viz.roc_auc)\n", + " ax.plot([0, 1], [0, 1], \"k--\", label=\"chance level (AUC = 0.5)\")\n", + "\n", + " mean_tpr = np.mean(tprs, axis=0)\n", + " mean_tpr[-1] = 1.0\n", + " mean_auc = auc(mean_fpr, mean_tpr)\n", + " std_auc = np.std(aucs)\n", + " ax.plot(\n", + " mean_fpr,\n", + " mean_tpr,\n", + " color=\"b\",\n", + " label=r\"Mean ROC (AUC = %0.2f $\\pm$ %0.2f)\" % (mean_auc, std_auc),\n", + " lw=2,\n", + " alpha=0.8,\n", + " )\n", + "\n", + " std_tpr = np.std(tprs, axis=0)\n", + " tprs_upper = np.minimum(mean_tpr + std_tpr, 1)\n", + " tprs_lower = np.maximum(mean_tpr - std_tpr, 0)\n", + " ax.fill_between(\n", + " mean_fpr,\n", + " tprs_lower,\n", + " tprs_upper,\n", + " color=\"grey\",\n", + " alpha=0.2,\n", + " label=r\"$\\pm$ 1 std. dev.\",\n", + " )\n", + "\n", + " ax.set(\n", + " xlim=[-0.05, 1.05],\n", + " ylim=[-0.05, 1.05],\n", + " xlabel=\"False Positive Rate\",\n", + " ylabel=\"True Positive Rate\",\n", + " title=label,\n", + " )\n", + " ax.axis(\"square\")\n", + " ax.legend(loc=\"lower right\")\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 160, + "id": "802a96a5", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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H374AUePHvX7dcfFxWHMmDFYsWIF6uvrMWXKFK/nhUIh1q1bhwkTJmDQoEGYOXMmkpOTcfr0aezatQvR0dH49NNPWzz/vffeizfeeAMzZszA/v37kZqaiu3bt+Onn37CqlWr2l3UOnz4cHzzzTdYsWIFkpKSkJaWhosvvrjF/aOjo3HFFVfgxRdfhNPpRHJyMr766isUFha26/rBcN9992HNmjWYOnUqHn30USQmJmLLli2eybTO1zqzZMkSfPHFF7j88svx4IMPepK3QYMGebrqAOCaa66BVCrFxIkTcd9998FkMuGtt95CXFwcysrKvM45fPhwvP7663juuefQp08fxMXF4corr8T111+PpUuXYubMmbj00ktx8OBBbNmyBb179w78G0MiW6iGnRASbC1NfsVYw4RT6enpLD093WviKo7j2Ntvv81GjhzJoqOjWVRUFBs0aBBbsmQJM5lMLV5r+/bt7JprrmF6vZ6JxWKWmJjIpkyZwnbv3n3eOF0uF3vppZfYgAEDmFQqZQaDgU2YMIHt37/fs4/FYmF3330302g0TK1Ws1tvvZWdOXOmxSGllZWVLV7vrbfeYgCYWq1mVqu12X3+/PNPdtNNN7GYmBgmk8lYr1692K233sq+/fbb876eiooKNnPmTBYbG8ukUikbPHhws8Nh/RlSmpeXx6644goml8ubnfyquddbUlLC/vrXvzKtVss0Gg275ZZbWGlpqc971trkV02NGjXKa8hla5NfNTV9+nTWq1cvr20FBQXsuuuuY3K5nBkMBjZ37lz24YcfMgDsl19+Oe/78v3337Phw4czqVTa6uRXn3zyCRsyZAiLiopiqamp7IUXXmAbNmzwed3l5eXsuuuuY2q12mvyK5vNxubOncsSExOZXC5nI0eOZHv37vV5PwihtT8IISSMrFq1Co899hhKSkqQnJwc6nAI8QslFYQQEiJWq9VnPo1hw4aB47h2dW8REmpUU0EIISFy0003oWfPnhg6dChqa2vx7rvvIi8vD1u2bAl1aIS0CyUVhBASIuPGjcO6deuwZcsWcByHjIwM/Pvf//YpoCUkUlD3ByGEEEICguapIIQQQkhAUFJBCCGEkIDodjUVPM+jtLQUarW6Q6tAEkIIId0BYwz19fVISkryWSywqW6XVJSWliIlJSXUYRBCCCERpbi4GD169Gh1n26XVLinCS4uLvYs90wIIYSQ5tXV1SElJaVN0+x3u6TC3eURHR1NSQUhhBDSRm0pGaBCTUIIIYQEBCUVhBBCCAkISioIIYQQEhCUVBBCCCEkICipIIQQQkhAUFJBCCGEkICgpIIQQgghAUFJBSGEEEICgpIKQgghhAQEJRWEEEIICQhKKgghhBASEJRUEEIIISQgKKkghBBCSEBQUkEIIYSQgAhpUvHDDz9g4sSJSEpKgkAgwEcffXTeY3bv3o2//OUvkMlk6NOnDzZu3Bj0OAkhhBByfiFNKsxmM7KysvDqq6+2af/CwkJcd911GDNmDA4cOIA5c+Zg1qxZ+PLLL4McKSGEEELORxzKi0+YMAETJkxo8/5r165FWloali9fDgAYOHAg9uzZg5UrV2LcuHHBCpMQQkiEOHUK2LoVOHs21JGE1uDBwJ13dv51Q5pU+Gvv3r0YO3as17Zx48Zhzpw5LR5jt9tht9s9P9fV1QUlNt5YBeY8dx2nywWHw97KEf5xOngwPmCng83Jg+dZ4E7YBbkcDjCeC3UYhJA2KLaWIueYC2+tGQGLWYzu+OnGcxyEQiEEAgEctmjceaes02OIqKSivLwc8fHxXtvi4+NRV1cHq9UKuVzuc8zzzz+PJUuWBDUu3lgF86cbvbbZbFaYTCYIBIIOn9/Fi1Bt1nf4POfOx2C0082yNTzPwWw1hjoMQkgbHavWYsvuW2B3ugC40PFP3sji4jiUGc9CIZVBr1bDXOMCkNjpcURUUtEeTz31FB5//HHPz3V1dUhJSQnoNdwtFFEjroZQEwsAcBiNsFdVITpa3eHzC+wM4lIXtAYRxJKO/6mYHRzOnLEgVRcFmYQGADXHabehpuQUNPGJEEmkoQ6HENKKYwUKbFuRAk4uhlwpRZ9UI554uAZKded/Uw+F8jMVmPXoo3BxpVBrk/D2G29i4PBBIYklopKKhIQEVFRUeG2rqKhAdHR0s60UACCTySCTdc4vllATC5EhGQAgEMkBTgRER3f8xDYOqLVAbFBAEiXq8OnEdg5OlwnKZBVUso6frytyWC1w2M3Qp6VCKleEOhxCSBMOB1BUJMKxYxK89ZYSDmaHUCbA0CEMCxc6MWDAIIjFEXWLa5fi4mJM/tvfcLqsAL1798bu3Z8G/IuzPyLqHR8xYgR27tzpte3rr7/GiBEjQhRRyxjrjj16hBASWDwPlJcLcfKk+H8PEQoLxSgtFYFvUmc2cHAdnnzSjNjY6G6TUIwePRoFBe6EYndIEwogxEmFyWTC8ePHPT8XFhbiwIED0Ov16NmzJ5566imcPn0amzZtAgDcf//9WLNmDRYsWIC//e1v+O677/D+++/js88+C9VLaBElFYQQ4h+jUeBJHgoLRTh5UoyiIhFstvN3+w4aasQD8wshlcZDoej6rYvhmFAAIU4qfv/9d4wZM8bzs7v2Yfr06di4cSPKyspQVFTkeT4tLQ2fffYZHnvsMfzrX/9Cjx49sG7dOhpOSgghEcRmA4qKzrU6uFsgjMa21XhJJEDPni6kpnJITXWhTx8XxD2PQsgAiUSCqKioIL+C0Pv9999x8uTJsEoogBAnFaNHj271G31zs2WOHj0af/75ZxCjIoQQEgg8D5SViTytDu7kobRUhLY05goEQEIC50keUlNdSEvjkJTEQdSkHOywEXDanIiKioJU2vWLq//6179i+/btuOCCC8ImoQAirKYikvBNO/sIIaSLYgw4e1bgU/dQVCSGw9G2c0RHs/8lDedaIHr14iCXt70rmed5qFSqdr6K8FdcXAyRSISkpCQADYlFuKGkIogCMUcFIYSEE6vV3XUh9mqBqK1t2+edRAL06uWdPKSmuqDTMXTkI5PjOIhEoi7b9eGuoRCJRNi9e7cnsQg3lFQQQgjxwXFAaalv10V5edu7LpKSfLsuEhM5CIMwPY7T6YRCpuiSXR9NizI5LnwnL6SkghBCujHGgJoaoU/yUFQkhtPZtnNotbwneXC3QPTs6UJnNhpwLg5KvbLLtRCH6yiPllBSESQ0pJQQEm6sVoFP8lBYKIbJ1LYbsUzG0LMn12zXRShxHAehSNjlWikiLaEAKKkIqq6WMRNCIoPLBZw+LfKpe6ioaFu/g1Do7rrwTh4SE/mgdF10lN1uh0Qi6VJJRSQmFAAlFUFDLRWEkGBjDKiu9u66KCwUobhYDJerbefQ63mfuoeUFBc6aXWDDrPb7Q31FAoFutIqYiKRCCKRKKISCoCSCkIIiQhmswAnT/p2XZjNbbuTyuUMvXp5Jw+9ermg0UTmFyCXywWz2QyJRAKDwQCL0xLqkAIqKSkJu3fvBsdxEZNQAJRUBA21VBBC2sPpBEpKRF6Jw8mTYlRWtr3rIjnZu+4hLc2FuLjw7LrwF8/zMJvNAACdTgetVouoqCiUnCkJcWQdV1RUhN9//x033XQTAITtsNHWUFJBCCEhwBhw5ozQJ3koKRGhrSMGY2N5n7qHlBQOXai0wIMxBqvVCqfTCZVKBb1eD4VC0WVq14qKijBmzBicPHkSH3zwgSexiDSUVAQJtVQQQtzq6wU+RZOnTolgsbTthqhQ+HZdpKa6oFZ3j88Zu90Om82GqKgoGAwGqNVqCLtCs8v/uBMKd1HmhRdeGOqQ2o2SiiDqKhk0IaRtHA6guNi77uHkSTGqqtp2AxSJgB49vOd7SE1t6Lrojh8n7roJqVSKuLg4aDSaLrekedOEIpKKMpvTtf51wgi1VBDSdfF8y10XbV32x2DgfZKHHj04SCTBjT0SNK2b0Ol0kEXKcBQ/dLWEAqCkghBCWlVX13zXhdXatqYDpZL5TBaVmspBqaQvHk256yZcLhdUKhV0Ol2XqptorLq6usslFAAlFYQQAqCh66KoSOwz42RNTdu6LsRioGdPl8+cDzEx3bPrwl/uugm5XN4l6yaa0uv1uP7667Fjx44uk1AAlFQEDWMsINm11cnB5uBgttogquMhsYs6fE6bkwNvt8JpE8HBd90/2o5w2e2hDoEECc8DZWVCn7qH0tK2d13Ex/M+RZPJyRy6WHd/p3A6nbBarZBIJB2qm2CIrJYfgUCAVatW4dlnn0VMTEyowwkY+hMIkkDUVFidHPYXm+Ay22DJz4OoXAyhJHBJwFlHFCwiSipaIxR2PIkjoWM0Crxmmjx5UoyiIhFstrYl/CqVb9dFWhoHuTyybmDhqLn5JtpbN1FSX4Jaey366voGMsSAKy4uxv/93/9hxYoVkMlkEAgEXSqhACipCGvc/741peulqFRLkZiZjii1IiDnFgmAqAAmKF2RUCiCuAsWh3VFdjtw6pR30eTJkyIYjW37HZdIgJSUhuShIYloSB70euq6CLSmdRN6vR5yubzdLbvl5nIcNx5HijoFyarkAEcbOI3X8gCAV199NcQRBQclFRFAJhFCIhJAo1JAoVGFOhxCQqah60LkU/dQWipCWxsHExK4RjNNnuu6EFGjVNDZbDbY7XbI5XLExcVBpVJ1qG7ijOUM8mvykahMRLo2PYCRBlbTxcGefPLJUIcUNJRUBAkNKSWkY86eFXglDgUFYhQVieFwtO346GjmM2SzVy/quggFp9MJi8US0Pkmqq3VOFJ9BAaFAf10/QIUaeBF6mqj7UVJRZAEqlCTkK7OahWgqMh3me7a2rb9/UgkQK9eLp/aB52OUddFiHEcB4vFAoFAAL1e36G6icaMNiNyq3MRI4/BAP2AsP2s7W4JBUBJBSGkk3AcUFoq8lmmu6KibV0XAgGQlMQ1anVwoXdvDomJXJdYKKsrYYzBYrGA4zio1WrodLoO1U00VmuvxcGqg9DINMiIyYBQEJ7/+DzPY+LEid0qoQAoqSCEBBhjQE2N0KfuoahIDKezbefQanmvFTZTUzn07OlCVFRwYycd17huIj4+vsN1E42ZHCYcrDoIlVSFzJjMsE0oAEAoFGLNmjWYPXs2Pv30026RUACUVAQN1VSQ7sBqFfiMuCgsFMNkats3Upns3EJZ7qLJ1FQXtFr6+4k0jesm4uPjER0dHdB1OixOC3IqcxAlikJmbCZEYTrcu3HX92WXXYY//vijS0/i1RQlFUEUrv18hPjL5QJOn/ate6ioaNuHpVDo7rpwebVAJCTw1HUR4ZrWTeh0OkgDvPa6zWVDdmU2xEIxsgxZkAjDc4GU4uJi3HzzzXjzzTeRlZUFAN0qoQAoqSCENMIYUF3dfNeFy9W2c+j1vM9kUSkpLtCUH10Lz/OwWq1edRMKRWDm0WnMztmRXZkNgUCArLgsSEThm1C4izLvvfde/PLLL93yiyUlFUFAXR8kEpjNAs8U1Y27Lszmtn0QyuXnui4ad19ER9Pvf1fGGIPdbofdbodCoYBer4dKpQrKDdTJOZFTmQOOcRgWNwwyUXhmpk1HeWzfvr1bJhQAJRVBQ4kFCRdOJ1BSIvJKHE6eFKOysu1dFz16cD5zPsTFUddFd+NwOGC1Wj11ExqNBqIgzRrm4l3IqcqBg3NgWNwwyMXyoFyno7rjsNHWUFJBSBfBGHDmjNAneSgpEYHj2naO2Fjeq+4hNdWFlBQOAe4iJxHGXTchFAoRExMDrVYb8LoJr+vxHA5VHYLVZUWWIQsKSeC7VQKBEgpflFQQEoHq6wVovMLmyZMinDrV9q4LhaKh6yItzfW/iaMakgi1mlrYyDlN6ybc63QE9ZqMR251LuocdcgyZEEtVQf1eh3xzDPPUELRBCUVQeDu+uiufWokcBwOoLjYu+7h5Ekxqqra1u8gErXcdUG/nqQlnVk30fS6R6qPwGg3YnDsYGhkmqBer6Pci4L94x//oITifyipCBKappv4g+eBigqhT/JQUiICz7ftHAYD75M89OjBQRKexfIkTLnrJmQyGRISEhAdHR20uonGGGPIq8lDlbUKg2IHQRelC/o126Ourg7R0dEAAKVSiY0bN4Y2oDBDSQUhnayuTuAz38OpUyJYrW1LQpVK5rPORWoqB6WSui5I+3V23URTx4zHUGGpwED9QMTKYzvtuv5w11BMnz4dzz77bKjDCUuUVBASJA4HUFQk9pnzoaam7V0XPXs2niyqoQYiJoa6Lkjg8DwPi8UCnucRHR3tWaejMxUYC1BqKkV/XX/EK+M79dpt1bgo85133sGcOXM8LRbkHEoqgoBqKroXngfKy4U+8z2Ulra96yI+nveZ7yE5mUMAZzkmxAtjDDabDQ6HAwqFAjExMVAqlZ3+uXWq7hSK6ouQrk1HoiqxU6/dVs2N8qCEonn0kRUkNE9F12Q0CtB4hU1314Xd3rYPYpXKt+siLY2DXE6/L6TzNK6bSExMhFqt7pS6iaZK6ktQWFuI1OhUpKjDs9CRho36h5IKQlqRkyPB3r1STwuE0di2rguxuKHrovEiWWlpHPR66rogoeNyuWCxWCASiRAbGwutVgtJiCp5y83lOG48jhR1ClI1qSGJ4XwoofAfJRWEtODjj6Owdq3qvPslJHBedQ/urosQfPEjpFnuugnGGDQaDbRabafXTTR2xnIG+TX5SFQmIl2bHrI4zmfXrl2UUPiJkooAsdgZXGdNEAlrG74N1JohEorgkjraf04HB1e9GQ7Q3amz7d4t80kooqOZZ8hmWhqHXr1c6NWLui5I+GpcN6FSqaDT6UJSN9FYtbUaR6qPwKAwoJ+uX8jiaIu77roLADBmzBhKKNqIkooAsNRbcbjYBskvuRAqisDzPGprayEQCDrUT+nkGCz1DpxRSyERCSAUU3LRGX7/XYKXXz43i9/NN1vx179aoNMx6rogESNc6iYaM9qMyK3ORYw8BgP0A8KymL24uBhKpRJ6vR7AucSCtA0lFQHgcjUsrNA7szdUvdLgcrlw+vRpiEWiDvVXmhwc6srM6JGoRLRCiihVeC6o05Xk5Ynx3HPRnrUyJkyw4W9/M1MyQSKGu25CLBbDYDBAo9GErG6isVp7LQ5WHYRGpkFGTAaEgvBbja6oqAhjxoyBRqPBN99840ksSNtRUhFAcpUc0TEaOJ1OKExGiMXiDv0x83YOYhOg0KgQJaNWimBoOprj559lnpEcI0c6MHu2iRIKEhGa1k3odDpERUWFOiwAgMlhwsGqg1BJVciMyQzrhMJdQ2E2mympaAdKKoKEhpSGF5utYSKqxqt3tjaaY8gQJxYsqKOlvUnYY4zBarXC6XSGTd1EYxanBTmVOYgSRSEzNhMiYfh9QWqaUFBRZvtRUkG6FJ4HyspEPrNYlpaK0JY8TyAALrrIgQUL6mm5bxL27HY7bDYboqKiYDAYoFarIQyjTNjmsiG7MhtioRhZhixIhKHvhmmKEorAoqQiiMLlm0JXxBhw9qzAa+2MwkIxTp0Sw9HGATcaDfOZxbJnTxdCONKOkDZxuVwwm82QSCRhVTfRmJ2zI7syGwKBAFlxWZCIwis+gBKKYKCkIgio6yOwrFbg1CnvKbBPnhSjrq5tSZtEAvTq5b16Z1qaCzod/TuRyMLzPMxmMwBAp9NBq9WGTd1EY07OiZzKHHCMw7C4YZCJZKEOqVkOhwN2u50SigCipCJIKLHwH8cBpaW+XRfl5W3vukhM5HxmsUxM5Kg2gkS0pnUTer0eCoUiLFtDXbwLOVU5cHAODIsbBrk4fJv++vTpg927d0Mmk1FCESCUVJBOxxhQUyP0SR6KisRwOtt2Dq2W92p1SE3lkJJCXRek6wn3uonGOJ7DoapDsLqsyDJkQSFRhDokH8XFxcjLy8PVV18NoCGxIIFDSQUJKqtVgJMnRV5dF4WFYphMbfuGJZMx9OzJeRKHtDQXevWirgvS9TWum4iLi4NGo4E4jJet5RmP3Opc1DnqkGXIglqqPv9Bncy9lkdJSQl27NjhSSxI4ITvb2gE645Ln7tcwOnTIq/VO0+eFKOiom3fqIRCICnJ3W1xrvsiMZGnrgvSrTStm9DpdJDJwrMmwY0xhiPVR2C0GzE4djA0Mk2oQ/LRdHGwAQMGhDqkLomSiiDpqjUVjAHV1ee6LhqKJkUoLhbD5WrbOfR63mfp75QUF8L8c5OQoGpcN6FWq6HT6cK2bqIxxhjyavJQZa3CoNhB0EXpQh2SD1pttPNQUkFaZDY37ro4131hNrftQ04uZ+jVyzt56NXLBY2mayZchLRXJNVNNHXMeAwVlgoM1A9ErDw21OH4oISic1FSQeB0AiUlIp8hm5WVbe+6SE7m/rd657nui7g46rogpDXudToipW6iqQJjAUpNpeiv6494ZXyow/Fx5swZSig6WeT89kaQSKmpqKgQYtUqNQ4elHgW0Dqf2Fjep+4hJYWj2ScJ8UNz802Ee91EU6fqTqGovgjp2nQkqhJDHU6zYmJicOmllwIAJRSdhJKKIAn3moqzZwVYtEiD06ebn4dfLmc+dQ+pqS6o1eH9uggJZ+66CZfL5VmnIxLqJpoqqS9BYW0hUqNTkaIO3xu1SCTCxo0bUV1djbi4uFCH0y1QUtENWa0CPPvsuYRCp+MxZIjTp+siwj7nCAlrNpsNdrsdcrkccXFxUKlUEVM30Vi5uRzHjceRok5BqiY11OH4KC4uxpo1a7Bs2TKIRCKIRCJKKDoRJRXdjMMBLF0ajePHG/7pY2N5LF9uRFwcH+LICOmanE4nLBYLpFJpRNZNNHbGcgb5NflIVCYiXZse6nB8NC7KBIAXXnghxBF1P5H5mx3mwrXrw2IRYOVKFQ4caFjYR6VieO65WkooCAkCjuNgsVggEAig1+sjsm6isWprNY5UH4FBYUA/Xb9Qh+Oj6SiP2bNnhzqkbomSii6oLaM5ZDKGJUtq0atXGys0CSFtwhiDxWIBx3GedTrkcnnE1U00ZrQZkVudixh5DAboB4Tda6Fho+GDkoogCvYfHmPAmTNCn+ShpETU6mgOkQhYtKgOGRltnK2KENImjesm4uPjI7ZuorFaey0OVh2ERqZBRkwGhILwej2UUIQXSioiyLFjYuTliT3Jw6lTIlgsbUtcFIpzE1GNG2dD//6UUBASKI3rJuLj4xEdHR2xdRONmRwmHKw6CJVUhcyYzLBLKFwuF8aPH08JRRiJ/N/6MBSMmopPPonC66+rzrufSAT06OG9eieN5iAkOJrWTeh0Oki7yKQtFqcFOZU5iBJFITM2EyJh88PPQ0ksFuPll1/GvHnz8MUXX1BCEQYoqQgQnvEwO1wQ2Zyw2lww2V2AhOtQF4jVea4P4/vvfQu8YmN5n1kse/TgIJG0+5KEkDZoXDfReJ2OrsLmsiG7MhtioRhZhixIhOH7oTJhwgRcffXVXaJlqCugf4UAsLs41FmdOHy6DkJhDex2OyqrbFDUBaipkAHHjzf8UcfG8njiiTqkpnJQqcJzlAkhXZm7bkKhUECv10OlUoVd4WJH2Dk7siuzIRAIkBWXBYkovBKK4uJiTJs2DevWrUOfPn0AgBKKMEL/EgHg4htu7ulxKhh662G1WFEiqodaff7uivMRCYHSIikcjoafMzKcyMykeghCOlvTugmNRgORKPy6BDrCyTmRU5kDjnEYFjcMMlF4DYFtXJQ5a9Ys7N69O9QhkSYoqQggmUSI6CgJRJwDSqkIKllgPnCOHj33TWHAAEooCOlMjesmYmJioNVqu0zdRGMu3oWcqhw4OAeGxQ2DXCwPdUhemo7y2Lx5c6hDIs2gpCJIAlmsmZ9/7p+pb19nwM5LCGkZz/OwWq2eugn3fBNdEcdzOFR1CFaXFVmGLCgk4VUfQsNGIwclFUESyD7Wo0cb/pmEQiA9nVoqCAkmxhjsdnuXrptojGc8cqtzUeeoQ5YhC2qpOtQheaGEIrJQUhHmrFbg1KmGf6bUVBe66BclQsKCw+GA1Wrt0nUTjTHGcKT6CIx2IwbHDoZGpgl1SD4ee+wxSigiCCUVQRDIro8TJ8Tg/7c0R79+1EpBSDC46yaEQmGXrptojDGGvJo8VFmrMCh2EHRRulCH1Kw333wTALBy5UpKKCIAJRVBEqjEonGRJs2CSUhg8TwPi8UCnucRHR0NnU7XZesmmjpmPIYKSwUG6gciVh4b6nC8WCwWz7wfer0e27dvD3FEpK3Ca87VLiRQ/a+NizT79aMiTUICgTEGq9WK+vp6yGQyJCcnIzExsdskFAXGApSaStFf1x/xyvhQh+OlqKgIQ4YMwauvvhrqUEg7UFIRBIEd+dHQUiGVglYUJSQAHA4H6urqIBAIkJiYiB49ekCtVnfZQsymTtWdQlF9EdK16UhUJYY6HC9FRUUYM2YMTpw4gZUrV8JisYQ6JOKnkCcVr776KlJTUxEVFYWLL74Yv/76a6v7r1q1Cv3794dcLkdKSgoee+wx2Gy2Toq27QKRWBiNAlRUNPwT9e3rRBeuFyMk6FwuF+rq6uB0OhETE4OUlBRotdouXYjZVEl9CQprC5EanYoUdXjVJ7gTCndR5q5du7rU1OfdRUhrKrZt24bHH38ca9euxcUXX4xVq1Zh3LhxyM/PR1xcnM/+7733Hp588kls2LABl156KY4ePYoZM2ZAIBBgxYoVIXgFwXXsWOOuD6qnIKQ93HUTjLFuVzfRWLm5HMeNx5GiTkGqJjXU4XhpmlDQKI/IFdKWihUrVuCee+7BzJkzkZGRgbVr10KhUGDDhg3N7v/zzz9j5MiRuP3225GamoprrrkGU6dOPW/rRigEoinV3fUBUJEmIf5qXDcRFRXV7eomGjtjOYP8mnwkKhORrk0PdTheKKHoWkKWVDgcDuzfvx9jx449F4xQiLFjx2Lv3r3NHnPppZdi//79niSioKAAO3fuxLXXXtvidex2O+rq6rwewRa4kR/nWir696ciTULaqmndRHJycpeewKo11dZqHKk+AoPCgH66fqEOx8fHH39MCUUXErLuj6qqKnAch/h478rj+Ph45OXlNXvM7bffjqqqKlx22WVgjMHlcuH+++/HwoULW7zO888/jyVLlgQ09rboaGLB2LmWCrWaIT6eD0RYhHRpLpcLFosFYrEYBoMBGo0GEkl4rbLZmYw2I3KrcxEjj8EA/YCwTKoefvhhAMCkSZMooegCQl6o6Y/du3dj2bJleO211/DHH3/gP//5Dz777DP84x//aPGYp556CrW1tZ5HcXFxJ0bcfhUVQtTVNXwA9O/vRBh+FhASNnieh8lkgtVqhUajQY8ePRAbG9utE4paey0OVh2ERqZBRkwGhILw+bg/ffo0TCaT5+eHH36YEoouImQtFbGxsRCJRKioqPDaXlFRgYSEhGaPeeaZZzBt2jTMmjULADB48GCYzWbce++9WLRoEYRC3z8amUwGmazzl+/t6DcCqqcg5PwYY7DZbHA4HFCpVNDpdFAqlWH5jbwzmRwmHKw6CJVUhcyYzLBKKNxreSQnJ2Pnzp1QqVShDokEUMh+06RSKYYPH45vv/3Ws43neXz77bcYMWJEs8e4p9FtzD0cLJBzQ3RUIGLxrqegpIKQptx1E0KhEElJSd26bqIxi9OCnMocRImikBmbCZEwfIbMNl4c7PTp06itrQ11SCTAQjqk9PHHH8f06dNxwQUX4KKLLsKqVatgNpsxc+ZMAMBdd92F5ORkPP/88wCAiRMnYsWKFRg2bBguvvhiHD9+HM888wwmTpwYdmPN/UksrFagqEiMkyfFKCwUobBQ7JVU0HLnhJxDdRMts7lsyK7MhlgoRpYhCxJh+Lwvza02mpycHOqwSICFNKmYMmUKKisr8eyzz6K8vBxDhw7FF1984SneLCoq8mqZePrppyEQCPD000/j9OnTMBgMmDhxIv75z3+G6iX4heOA0lIRCgtFOHlS/L+HCOXlIrSUgyQnc9Bqw6cVhpBQaTzfhEajgU6nQ1RUVKjDCht2zo7symwIBAJkxWVBIgrvhIJqKLomAQunfoNOUFdXB41Gg9raWkRHRwfknCWHcvHbO1tx4fSp6JE5CLW1tTh8uAKVlTqv5KGoSAxnGxsdtFoe6ekuTJ1qwaBB1P1Bui/3fBNOpxMqlQp6vR4KhaLbd3M05uScOFB5AE7eiWFxwyAXh89cHJRQRD5/7pu0SmkQbNkiweuvp0DYhr5MmYyhZ08OaWkupKa6/+ui1glC0DDPjM1mQ1RUFAwGA9RqdbMF2d2Zi3chpyoHDs4RdgkFAJw9exZGo5ESim6Ckoog+OwzCRjzbl0QCoGkJA6pqQ3JQ8N/XUhM5EGfkYR4c7lcMJvNkEgkMBgM0Gq1EIvp46opjudwqOoQrC4rsgxZUEjCb62MIUOGYNeuXdDpdJRQdAP0VxoEDkfDf+VyhgceMCEtjUNKigshGNlKSETheR5msxkAoNPpoNVqqW6iBTzjkVudizpHHbIMWVBL1aEOyaO4uBglJSWekXxDhgwJcUSks1BSEQTuKhWViuHqq+2hDYaQCNC4bkKtVkOn01HdRCsYYzhSfQRGuxGDYwdDI9OEOiQPdw1FRUUFvv766xanCCBdEyUVQcBxDf+lbg1Czs9ut8NqtUIul1PdRBswxpBXk4cqaxUGxQ6CLkoX6pA8mhZl9ujRI9QhkU5GSUUQuJMKkYiKLQlpiXu+CYlEgvj4eGg0GqqbaINjxmOosFRgoH4gYuWxoQ7Hg0Z5EICSiqDg/7f2F33ZIsRX47oJrVYLnU4Xkqn0I1GBsQClplL01/VHvDL+/Ad0EkooiBslFUFASQUhvtx1Ey6Xy7NOB9VNtN2pulMoqi9CujYdiarEUIfjUVZWRgkF8aCkIghc/xtNSt0fhDSw2Wyw2+2Qy+WIi4uDSqWiugk/lNSXoLC2EKnRqUhRh9cNOyYmBoMGDQIASigIJRXBwPMN37zoM5N0d06nE1arFRKJBHFxcVQ30Q7l5nIcNx5HijoFqZrUUIfjQyqVYvv27aiurkZiYvi0oJDQoNteEFD3B+nuOI5DfX097HY7dDodevTogZiYGEoo/HTGcgb5NflIVCYiXZse6nA8iouL8c9//tOzcKJUKqWEggCgloqAY+xcUhFmC6cSEnRN6yb0ej3kcjnVTbRDtbUaeTV5MCgM6KfrF+pwPBoXZQLAokWLQhwRCSeUVARYQ0LRkL0LhVRTQboPqpsIHKPNiNzqXOij9BigHxA2SVnTUR533XVXqEMiYYaSigBzz1EBUEsF6R6cTicsFgukUini4+MRHR1N3RwdUGuvxcGqg9DINMiIyYBQEB6JGQ0bJW1Bf/kB1jipoC9ppCvjOA4WiwUCgQB6vR5arZbmm+ggk8OEg1UHoZKqkBmTSQkFiTiUVASYu54CoKSCdE2MMVgsFnAc51mng+omOs7itCCnMgdRoihkxmZCJAyPpk6Hw4GxY8dSQkHahG57AXaupUJA81SQLsdms6Gurg4SiQTJyclITEykCawCwOayIbsyG2KhGFmGLEiEklCH5CGVSvH3v/8d/fr1o4SCnBe1VAQYdX+Qrqhp3YRGo4GIioYCws7ZkV2ZDYFAgKy4LEhE4ZNQuE2dOhWTJ0+GVCoNdSgkzNFtL8Co+4N0JY3nm9Dr9UhJSYFer6eEIkCcnBM5lTngGIcsQxZkovCoSSkuLsa1116L0tJSzzZKKEhbUEtFgHFcw1wVAI3+IJGL53lYrVavugmFQhHqsLoUF+9CTlUOHJwDw+KGQS6WhzokAN5FmbNmzcLOnTtDHRKJIJRUBJj3kFKqqSCRhTEGu90Ou90OhUIBvV4PlUpFNRMBxvEcDlUdgtVlRZYhCwpJeCRsTUd5vPHGG6EOiUQYSioCrHH3B30Ok0jicDhgtVqpbiLIeMYjtzoXdY46ZBmyoJaqQx0SABo2SgKDkooAo8mvSKRxzzchFAoRExMDrVZL/edBwhjDkeojMNqNGBw7GBqZJtQhAaCEggQOJRUB1pBUNHR7UPcHCWc8z8NisYDneURHR3vmmyDBwRhDXk0eqqxVGBQ7CLooXahD8rjvvvsooSABQeMTAoy6P0i4cy/6VV9fD5lM5plvghKK4DpmPIYKSwUG6AcgVh4b6nC8rFu3DhMmTKCEgnQYtVQEGHV/kHDmrpuQyWRITEyEWq2muolOUGAsQKmpFP11/RGvjA91OAAAu93umVY9KSmJRnmQgKCWigBzt1QIBJRUkPDhcrlQV1cHp9OJmJgY9OjRA1qtlhKKTnCq7hSK6ouQrk1Hoiox1OEAaKihGDx4MLZs2RLqUEgXQ0lFgHnPqEk1FSS0eJ6HyWSC1WpFdHQ0evTogbi4OCrE7CQl9SUorC1EanQqUtTh0a3gLso8duwYlixZArvdHuqQSBdC3R8BRtN0k3DAGIPNZoPD4YBSqYRer4dSqaT5JjpRubkcx43HkaJOQaomNdThAPAd5fHtt9/SyrIkoCipCLDGhZrUskxCgeomQu+M5Qzya/KRqExEujY91OEAoGGjpHNQUhFgjafpppYK0plcLhcsFgtEIhEMBgM0Gg0kkvBbnKqrq7ZWI68mDwaFAf10/UIdDgBKKEjnoaQiwKimgnQ293wTjDFoNBrodDpERUWFOqxuyWgzIrc6F/ooPQboB4RNd9OmTZsooSCdgpKKAKPuD9JZGtdNqFQq6HQ6qpsIoVp7LQ5WHYRGpkFGTAaEgvBpqly4cCEA4K677qKEggQVJRUBRoWapDNQ3UR4MTlMOFh1ECqpCpkxmWGRUJSVlUGv10Mmk0EgEGDRokWhDol0A6H/ze9iaJpuEkzu+SZcLhcMBgNSUlJovokQszgtyKnMQZQoCpmxmRAJQ/9vUVRUhMsuuww333wzDRklnYpaKgKscfcHtVSQQKG6ifBkc9mQXZkNsVCMLEMWJMLQF8YWFRVhzJgxKCgoAADU1NQgMTE8Jt0iXR8lFQFG3R8kkNzrdDidTqqbCDN2zo7symwIBAJkxWVBIgqvhMJdlEkJBelMlFQEGK39QQLFbrfDZrMhKioKBoMBarUaQspUw4KTcyKnMgcc4zAsbhhkotBPINVcQkFFmaSzUVIRYN7dH1RTQfzncrlgNpshkUhovokw5OJdyKnKgYNzYFjcMMjFoV/dlRIKEi4oqQiwcy0VAur+IH7heR5msxkAoNPpoNVqqW4izHA8h0NVh2B1WZFlyIJCogh1SACA06dP48yZM5RQkJCjpCLAqPuD+Ktx3YRarYZOp4NCoaC6iTDDMx651bmoc9Qhy5AFtVQd6pA8RowYga+++go9evSghIKEFCUVAcZx57o8KKkg50N1E5GBMYYj1UdgtBsxOHYwNDJNqENCcXExzp49iyFDhgBoSCwICTVKKgKs8dofAgHVVJDmuesmpFIp4uLioNFoIBbTn2M4YowhryYPVdYqDIodBF2ULtQhedbyMBqN2LVrlyexICTU6FMswKj7g7Smad2ETqejpafD3DHjMVRYKjBQPxCx8thQh+OzOJhOF/okhxA3SioCjNb+IM1x1024XC7PfBNUNxH+CowFKDWVor+uP+KV8aEOh1YbJWGPkooAc7nOdXlQ1zgBvOsm4uLioFKpqG4iApyqO4Wi+iKka9ORqAr9BFKUUJBIQElFgNHS58TN6XTCarVCIpFQ3USEKakvQWFtIVKjU5GiDv2N+/Tp05RQkIhAn3ABRt0fpLn5JqhuInKUm8tx3HgcKeoUpGpSQx0OAECr1aJHjx4AQAkFCWuUVAQYLSjWfTWtm9Dr9ZDL5VQ3EUHOWM4gvyYficpEpGvTQx2Oh1KpxM6dO2E0GpGcnBzqcAhpEd32AszlavivQEDdH92JzWZDXV0dxGIxkpKSkJSURIWYEabaWo28mjwYFAb00/ULdTgoLi7G6tWrPT8rlUpKKEjYo5aKAGtoqWCgabq7B6fTCYvFQvNNRDijzYjc6lzoo/QYoB8Q8mSwcVEmADz88MMhjYeQtqJPvwCjmorugeM4WCwWCAQC6PV6qpuIYHWOOhysOgiNTIOMmAwIBaH9NtB0lMekSZNCGg8h/qCkIsDc3R8AJRVdEWMMFosFHMd51umguonIZXKYkFOZA5VUhcyYzLBLKKgok0QaSioCrPHaHzRNd9dis9lgt9shl8sRHx9P801EOIvTgpzKHESJopAZmwmRMLTfAiihIF0BJRUBRt0fXU/juon4+HhoNBqI6B83otlcNmRXZkMsFCPLkAWJUBLSeCwWC8aMGUMJBYl49DUrwGjtj67FPRumXq9HSkoK9Ho9JRQRzs7ZkV2ZDYFAgKy4LEhEoU0oAEChUOCxxx5Deno6JRQkolFSEWDeM2qGLg7ScU6nEzabDQaDAfHx8ZBKpaEOiXSQk3MipzIHHOOQZciCTBQ+xbUPPfQQcnJyKKEgEY1uewHmPfkV1VREKvfojpiYGFoFsotw8S7kVOXAwTkw1DAUcrE8pPEUFxdj8uTJqK6u9mxTKBQhjIiQjutQTYV7kSRyDo3+iHw8z8NkMkGr1SI2NpZGdnQBHM/hUNUhWF1WZBmyoJCE9ubddB6KDz/8MKTxEBIofrdU8DyPf/zjH0hOToZKpfL8UTzzzDNYv359wAOMNDRNd2RjjKG+vh5qtRoGg4FGd3QBPOORW52LOkcdBscOhlqqDmk8TUd5rFq1KqTxEBJIfn9iPvfcc9i4cSNefPFFrz7mzMxMrFu3LqDBRSLq/ohcdrsddXV1UCgUiIuLo5kxuwDGGI5UH4HRbsTg2MHQyDQhjYeGjZKuzu+kYtOmTXjzzTdxxx13eFXBZ2VlIS8vL6DBRSLq/og8LpcLtbW14DgOBoMBSUlJVJTZBTDGkFeThyprFTJiMqCLCm1tDCUUpDvw+6vY6dOn0adPH5/tPM/D6XQGJKhIRt0fkaO5JcqpRqjrOGY8hgpLBQbqByJWHhvqcDBt2jRKKEiX5/dtLyMjAz/++KPP9u3bt2PYsGEBCSqS0eRX4c891XZ9fT2USiV69OiB+Ph4Sii6kAJjAUpNpeiv6494ZXyowwEArFu3DqNGjaKEgnRpfrdUPPvss5g+fTpOnz4Nnufxn//8B/n5+di0aRN27NgRjBgjisvlrqMQUE1FGHJPZhUVFQWDwQC1Wk3FmF3MqbpTKKovQro2HYmqxJDG4nK5PLU5ffr0we7du0MaDyHB5ven6Y033ohPP/0U33zzDZRKJZ599lkcOXIEn376Ka6++upgxBhReB5g/8sl6F4VPlwuF+rq6sDzPOLi4pCSkgKNRkMJRRdTUl+CwtpCpEanIkUd2taAoqIiDBkyBJ999llI4yCkM7WrvP3yyy/H119/HehYugTq/ggvjesmtFotdDodLVHeRZWby3HceBwp6hSkalJDGktRUZFnLY/58+dj3LhxNJqIdAt+f03r3bu31wxwbkajEb179w5IUJHM5To3URIlFaHjrpswmUxedROUUHRNZyxnkF+Tj0RlItK16SGNpXFC0bt3b3z55ZeUUJBuw+/f9JMnT4JrvMDF/9jtdpw+fTogQUUynqelz0Ot8RLlcXFxtER5F1dtrUZeTR4MCgP66fqFNJamCQUVZZLups1JxSeffOL5/y+//BIazblJZDiOw7fffovU1NSABheJqPsjdBovUR4XFweNRkPfELs4o82I3Opc6KP0GKAfENIp1SmhIMSPpGLSpEkAAIFAgOnTp3s9J5FIkJqaiuXLlwc0uEhES593PvfiXwKBAHq9Hlqtlro5uoE6Rx0OVh2ERqZBRkwGhILQtka99tprlFCQbq/NSQX/v6/gaWlp+O233xAbG/rJZMIRx537pkTrUAWXu26C4zio1WrodDrI5XJaAKwbMDlMyKnMgUqqQmZMZsgTCgD45z//CaBhCXNKKEh35XfbcGFhYTDi6DLcNRVCISUVweSum1AoFNDr9VAqlVQ30U1YnBbkVOYgShSFzNhMiIShaxI8c+YMYmJiIBKJIBKJ8H//938hi4WQcNCuT2Gz2YydO3di7dq1eOWVV7we/nr11VeRmpqKqKgoXHzxxfj1119b3d9oNOKhhx5CYmIiZDIZ+vXrh507d7bnZQSFu/tDJKIizWBwOByora0FYwzx8fHo0aMHTWDVjdhcNmRXZkMsFCPLkAWJUBKyWIqLizFixAjMmDGj2eJ1Qrojv1sq/vzzT1x77bWwWCwwm83Q6/WoqqryrOz4yCOPtPlc27Ztw+OPP461a9fi4osvxqpVqzBu3Djk5+cjLi7OZ3+Hw4Grr74acXFx2L59O5KTk3Hq1ClotVp/X0bQuD9b6B4XWO66CaFQiJiYGGi1Wlr0q5uxc3ZkV2ZDIBAgKy4LElFoEwr34mAAUF1d3exnFiHdjd+3vsceewwTJ07E2bNnIZfL8csvv+DUqVMYPnw4Xn75Zb/OtWLFCtxzzz2YOXMmMjIysHbtWigUCmzYsKHZ/Tds2ICamhp89NFHGDlyJFJTUzFq1ChkZWX5+zKCxj36g4o0A4PneZhMJpjNZqhUKvTo0QNxcXGUUHQzTs6JnMoccIxDliELMlHoCnGbW22UEgpCGvidVBw4cABz586FUCiESCSC3W5HSkoKXnzxRSxcuLDN53E4HNi/fz/Gjh17LhihEGPHjsXevXubPeaTTz7BiBEj8NBDDyE+Ph6ZmZlYtmxZq02PdrsddXV1Xo9gopaKwGCMwWq1or6+HjKZDMnJyUhKSoJcLg91aKSTuXgXcqpy4OAcGGoYCrk4dL8DtHw5Ia3z+9YnkUg8/ddxcXEoKioCAGg0GhQXF7f5PFVVVeA4DvHx3isIxsfHo7y8vNljCgoKsH37dnAch507d+KZZ57B8uXL8dxzz7V4neeffx4ajcbzCPYHQENSwWgxsQ5wOByoq6uDQCBAYmKip26CRnV0PxzP4VDVIVhdVgwxDIFCoghZLJRQEHJ+ftdUDBs2DL/99hv69u2LUaNG4dlnn0VVVRU2b96MzMzMYMTo4V4M6s0334RIJMLw4cNx+vRpvPTSS1i8eHGzxzz11FN4/PHHPT/X1dUF9YOAuj/az+VywWKxQCQSUd0EAc945Fbnos5RhyxDFtRSdUjjyc/PR0lJCSUUhLTC76Ri2bJlqK+vB9AwLvuuu+7CAw88gL59+2L9+vVtPk9sbCxEIhEqKiq8tldUVCAhIaHZYxITEyGRSCBqdMceOHAgysvL4XA4mr0ByWSyTp0IyT1PBSUVbcfzPCwWCxhjiI6O9sw3QbovxhiOVB+B0W7E4NjB0Mg05z8oyMaOHYvPPvsM/fv3p4SCkBb4nVRccMEFnv+Pi4vDF1980a4LS6VSDB8+HN9++61ntk6e5/Htt99i9uzZzR4zcuRIvPfee+B53tMFc/ToUSQmJobNN1qOa+j2oJb682OMwWazweFwQKlUeuaboG6O7o0xhryaPFRZqzAodhB0UbqQxVJcXAy73Y4+ffoAgFcNGCHEV8DKCf/44w9cf/31fh3z+OOP46233sI777yDI0eO4IEHHoDZbMbMmTMBAHfddReeeuopz/4PPPAAampq8Oijj+Lo0aP47LPPsGzZMjz00EOBehkdxvPUUtEWTesmkpOToVKpKKEgOGY8hgpLBQboByBWHrqZe901FKNHj8bx48dDFgchkcSvloovv/wSX3/9NaRSKWbNmoXevXsjLy8PTz75JD799FOMGzfOr4tPmTIFlZWVePbZZ1FeXo6hQ4fiiy++8BRvFhUVeU1qlJKSgi+//BKPPfYYhgwZguTkZDz66KN44okn/LpuMNHkV61z102IxWIYDAZoNBpIJKGbb4CElwJjAUpNpeiv6494Zfz5DwiSpkWZtJYMIW3T5qRi/fr1uOeee6DX63H27FmsW7cOK1aswMMPP4wpU6bg0KFDGDhwoN8BzJ49u8Xujt27d/tsGzFiBH755Re/r9NZaEhp8xrXTWg0Guh0OkRFRYU6LBJGTtWdQlF9EdK16UhUJYYsDhrlQUj7tfnW969//QsvvPACqqqq8P7776OqqgqvvfYaDh48iLVr17YroeiK3KM/KKlo4F70q76+HnK5HMnJyUhISKCEgngpqS9BYW0hUqNTkaIO3Q2cEgpCOqbNLRUnTpzALbfcAgC46aabIBaL8dJLL6FHjx5BCy4SUffHOXa7HTabDVFRUTAYDLRGB2lWubkcx43HkaJOQaomNWRxlJSUUEJBSAe1OamwWq1QKBomnhEIBJDJZEhMDF0TZbii7o+Gugmz2QyJREJ1E6RVZyxnkF+Tj0RlItK16SGNRaFQQKPRUEJBSAf4Vai5bt06qFQqAA03jo0bNyI21rs6258Fxbqi7tz9wfM8zGYzAECn00Gr1VI3B2lRtbUaeTV5MCgM6KfrF+pwoNfr8c0338BisVALLCHt1OakomfPnnjrrbc8PyckJGDz5s1e+wgEgm6dVDDW8AC615BS9zodTqcTarUaOp0OCoWChoeSFhltRuRW50IfpccA/YCQ/a4UFxfj22+/xYwZMwA0JBZ6vT4ksRDSFbQ5qTh58mQQw+ga3K0UALrN2h9UN0H8Veeow8Gqg9DINMiIyYBQEJrfl6bLl7sTC0JI+/k9oyZpGcef+7bV1Vsq3PNNSCQSxMXFQaPRQCymXyfSOpPDhJzKHKikKmTGZIZFQtG7d29cddVVIYmDkK6G7gIBxPPnuj+6ast/47oJrVYLnU5HEwORNrE4LcipzEGUKAqZsZkQCUOTedOwUUKCh5KKAGKNuj+6WkuFu27C5XJBpVJR3QTxi81lQ3ZlNsRCMbIMWZAIQzMaiBIKQoKLkooAcnGNuz+6Tk2FzWaD3W6HXC5HXFwcVCoV1U2QNrNzdmRXZkMgECArLgsSUWgSirq6OkooCAkyujMEUONCza7wBd7pdKK2thaMMcTFxaFHjx6Ijo6mhIK0mZNzIqcyBxzjkGXIgkwUuq6y6OhoTJ8+nRIKQoKoXXeHEydO4Omnn8bUqVNx5swZAMDnn3+O3NzcgAYXaXgmANDQQhHJ3R8cx6G+vh52ux16vR49evRATEwMFWISv7h4F3KqcuDgHBhqGAq5WB7qkPDss8/izz//pISCkCDxO6n4/vvvMXjwYOzbtw//+c9/YDKZAADZ2dlYvHhxwAOMJJzr3P9HYlLBGIPZbIbZbIZKpUKPHj0QFxdHhZjEbxzP4VDVIVhdVgwxDIFCoghJHEVFRbjrrrs8n1NAQ4sFISQ4/E4qnnzySTz33HOeJdDdrrzyyrBePbQzNLRUNIi0eSpsNhvq6uogkUiQlJSExMREKsQk7cIzHrnVuahz1GFw7GCopeqQxFFUVIQxY8Zg8+bNePDBB0MSAyHdjd/t2QcPHsR7773nsz0uLg5VVVUBCSpSeU9+Fbo4/MFxHEwmE6RSKeLj46HRaCCKxGYWEhYYYzhSfQRGuxGDYwdDI9OEJA53QuEuyvznP/8ZkjgI6W78vvVptVqUlZX5bP/zzz+RnJwckKAiFcdF1uRXPM/DZDJBq9UiJSUFer2eEgrSbowx5NXkocpahYyYDOiidCGJo2lCQUWZhHQev5OK2267DU888QTKy8shEAjA8zx++uknzJs3D3fddVcwYowYkdRSwRhDfX091Go1DAaDV1cWIe1xzHgMFZYKDNAPQKw89vwHBAElFISElt+3vmXLlmHAgAFISUmByWRCRkYGrrjiClx66aV4+umngxFjxIiUtT/cCYVSqUR8fDyN6iAdVmAsQKmpFP11/RGvjA9JDIwx3HLLLZRQEBJCft9NpFIp3nrrLTzzzDM4dOgQTCYThg0bhr59+wYjvogSKd0fJpMJMpkM8fHxkEhCMxER6TpO1Z1CUX0R0rXpSFQlhiwOgUCAN998E/feey+2b99OCQUhIeB3UrFnzx5cdtll6NmzJ3r27BmMmCJWuHd/cBwHi8UCsViMhIQEGipKOqykvgSFtYVIjU5Fijo0N3Ge5z0TsmVlZeGXX36hUUuEhIjft74rr7wSaWlpWLhwIQ4fPhyMmCJW4yGl4TRNt3sRMPf8E0lJSZDLQz8REYls5eZyHDceR4o6Bama1JDEUFxcjL/85S/Ys2ePZxslFISEjt9JRWlpKebOnYvvv/8emZmZGDp0KF566SWUlJQEI76I0njyq3BoqWCMwWazob6+HlKpFMnJyZRQkIA4YzmD/Jp8JCoTka5ND0kM7sXBsrOzMXv2bPCNmwoJISHh960vNjYWs2fPxk8//YQTJ07glltuwTvvvIPU1FRceeWVwYgxYnhPfhXCQAA4HA7U1dWBMYb4+Hj06NEDarWavsWRDqu2ViOvJg8GhQH9dP1CEkPT1UY//fRTWpOGkDDQobL/tLQ0PPnkk8jKysIzzzyD77//PlBxRSSeB9j/ej1CVajpcrlgsVggEokQExMDrVZLw0VJwBhtRuRW50IfpccA/YCQJKm0fDkh4avdqf1PP/2EBx98EImJibj99tuRmZmJzz77LJCxRZzGS5939pBS90RWFosF0dHRnnU7KKEggVLnqMPBqoPQyDTIiMmAUND5LQOUUBAS3vxuqXjqqafw73//G6Wlpbj66qvxr3/9CzfeeCMUitAsGBROWAhGf7jrJhwOBxQKBWJiYqBUKqmbgwSUyWFCTmUOVFIVMmMyQ5JQAMALL7xACQUhYczvpOKHH37A/PnzceuttyI2NjSz5oUrvlHjRGd0fzgcDlitVshkMiQmJkKtVtM02yTgLE4LcipzECWKQmZsJkTC0P2OrVixAgDwxBNPUEJBSBjyO6n46aefghFHl+ByCQA0ZBbBHFLqrpsQi8UwGAzQaDQ0iRUJCpvLhuzKbIiFYmQZsiARdv7vWXV1NfR6PQQCAaRSKdasWdPpMRBC2qZNScUnn3yCCRMmQCKR4JNPPml13xtuuCEggUUi1iiPCEbvA8/zsFgsYIxBo9FAp9MhKioq8BciBICdsyO7MhsCgQBZcVmQiDo/oXDXUFx//fVYtWoVdesREubalFRMmjQJ5eXliIuLw6RJk1rcTyAQgOO4QMUWcXg+uENK3V0dVDdBgs3JOZFTmQOOcRgWNwwyUefPvtq4KHPHjh149tlnERMT0+lxEELark1JReNJZWiCmZY1zqeCsUaXy+VCbGwsVCpV4E9OyP+4eBdyqnLg4BwYFjcMcnHnT5bW3CgPSigICX9+f5/etGkT7Ha7z3aHw4FNmzYFJKhIxXlaKgQBH1LqXt+A1usgwcTxHA5VHYLVZcUQwxAoJJ0/qouGjRISufxOKmbOnIna2lqf7fX19Zg5c2ZAgopUjYeUBrpnwuFwQCqVUlJBgoZnPHKrc1HnqMPg2MFQS9WdHgMlFIRENr+TCsZYs335JSUl0Gg0AQkqUnGNkopAd3+456GgIaMkGBhjOFJ9BEa7EYNjB0MjC83f8u+//46TJ09SQkFIhGrzrW/YsGEQCAQQCAS46qqrIG501+Q4DoWFhRg/fnxQgowUHCfwjAAJdKEmY4wWAiNBwRhDXk0eqqxVGBQ7CLooXchi+etf/4rt27fjggsuoISCkAjU5qTCPerjwIEDGDdunFexoFQqRWpqKiZPnhzwACNJ4yGlgaypcLlcEIvF1PVBguKY8RgqLBUYqB+IWHnnT2hXXFwMoVCI5ORkAA2JBSEkMrU5qVi8eDEAIDU1FVOmTKH5EZrBNVr7I5C9FO56ClrHgwRagbEApaZS9Nf1R7wyvtOv766hEAqF2L17tyexIIREJr8b6adPn04JRQu4IK394XQ6oVKpaF4KElCn6k6hqL4I6dp0JKoSO/36jYsyeZ6n4eqEdAFtaqnQ6/U4evQoYmNjodPpWr251dTUBCy4SNMw+VVDt0egkgp3YSwlciSQSupLUFhbiNToVKSoO792gUZ5ENI1tSmpWLlyJdRqtef/6Rtz8xp/0QrU2h9OpxMSiYTqKUjAlJvLcdx4HCnqFKRqUjv9+pRQENJ1tSmpmD59uuf/Z8yYEaxYIl7jmopAtVQ4HA6oVCqv0TaEtNcZyxnk1+QjUZmIdG16p1+fEgpCuja/b31//PEHDh486Pn5448/xqRJk7Bw4UI4HI6ABhdp3EufCwSBSyo4joNSqQzMyUi3Vm2tRl5NHgwKA/rp+oUkBpFIBJFIRAkFIV2U37e+++67D0ePHgUAFBQUYMqUKVAoFPjggw+wYMGCgAcYSXiv0R8d7/7gOA4ikYi6PkiHGW1G5FbnQh+lxwD9gJB1YSYlJWH37t2UUBDSRfmdVBw9ehRDhw4FAHzwwQcYNWoU3nvvPWzcuBEffvhhoOOLKIEe/UFDSUkg1DnqcLDqIDQyDTJiMiAUBGEJ3VYUFRXhP//5j+fnpKQkSigI6aLaNU23e+jXN998g2uvvRYAkJKSgqqqqsBGF2H4ACYVDofDMzW3MBjrqJNuweQwIacyByqpCpkxmSFJKMaMGYNbbrnFK7EghHRNfn/CXHDBBXjuueewefNmfP/997juuusAAIWFhYiP7/zJc8IJ32ia7vbWVbpcLtTV1cHlcsFgMECv1wcuQNKtWJwW5FTmIEoUhczYTIiEnbtujDuhKCgoQGpqKi688MJOvT4hpPP5fetbtWoV7rjjDnz00UdYtGgR+vTpAwDYvn07Lr300oAHGEk4r1VK/aup4HkeZrMZAKDRaKDT6WhuCtJuNpcN2ZXZEAvFyDJkQSKUdOr1GycUVJRJSPfhd1IxZMgQr9Efbi+99FK3X0GzYfKrBm3tsWCMwWq1wul0Qq1WQ6fTQaFQ0FwgpN0cnAPZldkQCATIisuCREQJBSGkc7R78oP9+/fjyJEjAICMjAz85S9/CVhQkYr3c+lzm80Gu90OuVyOuLg4qFQqqp8gHeLknMiuzAbHOAyLGwaZqHNHDlVXV1NCQUg35ndScebMGUyZMgXff/89tFotAMBoNGLMmDH497//DYPBEOgYI0bD5Ffnn6bb6XTCYrFAKpUiLi4OGo2GJrciHebiXcipyoGDc2BY3DDIxfJOj0Gv12PixIn49NNPKaEgpBvy+2vxww8/DJPJhNzcXNTU1KCmpgaHDh1CXV0dHnnkkWDEGDH4RmUUzdVUcByH+vp62O126PV6pKSkICYmhhIK0mEcz+FQ1SFYXVYMMQyBQqIISRwCgQArV67Eb7/9RgkFId2Q30nFF198gddeew0DBw70bMvIyMCrr76Kzz//PKDBRZqWlj7neR4mkwlmsxlqtRopKSmIj4+n+SdIQPCMR251LuocdRgcOxhqqbpTr19cXIyHHnoIdrsdQENiQaOWCOme/P6KzPM8JBLfwi+JRNLtly5mjRonRKKGIkybzeaZb0Kv19MS5iSgGGM4Un0ERrsRg2MHQyPTdOr1G6/lAQCvvvpqp16fEBJe/G6puPLKK/Hoo4+itLTUs+306dN47LHHcNVVVwU0uEjDcef+n+cb5psQCARITExEjx49oFarKaEgAcMYQ15NHqqsVciIyYAuStep12+6ONiTTz7ZqdcnhIQfv5OKNWvWoK6uDqmpqUhPT0d6ejrS0tJQV1eH1atXByPGiMF5hpQK4HBYodPpkJKSAq1W2+2H25LAO2Y8hgpLBQboByBWHtup16bVRgkhzfG7+yMlJQV//PEHvv32W8+Q0oEDB2Ls2LEBDy7SMK/Jr3hIpdJmu4oI6agCYwFKTaXor+uPeGXnzmRLCQUhpCV+JRXbtm3DJ598AofDgauuugoPP/xwsOKKSC6+caGmgLo6SFCcqjuFovoipGvTkahK7NRr8zyPG264gRIKQkiz2tz98frrr2Pq1Kn4/fffcezYMTz00EOYP39+MGOLODx3rlhTKOz40ueENFVSX4LC2kKkRqciRd35N3OhUIg1a9Zg6NChlFAQQny0OalYs2YNFi9ejPz8fBw4cADvvPMOXnvttWDGFnG8p+lm1FJBAqrcXI7jxuNIUacgVZPaqddmjYY2jRw5Evv376eEghDio81JRUFBAaZPn+75+fbbb4fL5UJZWVlQAotEjRcUE4kooSCBc8ZyBvk1+UhUJiJdm96p1y4uLsYll1yC7OxszzaaTp4Q0pw2fzLY7XYolcpzBwqFkEqlsFqtQQksEjUeUioQ8NRSQQKi2lqNvJo8GBQG9NP169Rru4syf/31V9x7771eLRaEENKUX4WazzzzDBSKc9P/OhwO/POf/4RGc27CnRUrVgQuugjDvBYUo0JN0nFGmxG51bnQR+kxQD+gU3+nmo7y2L59O/1OE0Ja1eak4oorrkB+fr7XtksvvdQzkx6Abv+Bw/GNX3/3nl2UdFydow4Hqw5CI9MgIyYDQoH/XQ4cx8HpdPp9XFlZGe666y5wHIfLLrsMmzZtgsFggM1m8/tchJDwJ5VKA9Kt2eakYvfu3R2+WFfXOKmglgrSESaHCTmVOVBJVciMyfQ7oWCMoby8HEaj0e9ru1wuVFRUYNGiRRCLxYiPj4fNZkNhYaHf5yKERAahUIi0tLQOr0lFy2MGEOMa+psFgtaXPiekNRanBTmVOYgSRSEzNhMiof+zsboTiri4OCgUCr8S3JKSEmi1WkilUqSmptLCd4R0cTzPo7S0FGVlZejZs2eHvhBTUhFADS0V7qGkNKSU+M/msiG7MhtioRhZhixIhP7PyMpxnCehiImJ8fv4tLQ0FBUVITk5mRIKQroJg8GA0tJSuFyuDs0ETd+nA8jd/SEUUn0J8Z+DcyC7MhsCgQBZcVmQiNr3h+2uoWhcVH0+LpfL8/8ikSggzaCEkMjh/nvnGg9jbAdKKgLIPfpDJGJgjFoqSNs5OSeyK7PBMQ5ZhizIRLIOn7Otv38OhwNHjhzxWnmYENK9BOp+RUlFALkTPHdLBSUVpC1cvAs5VTlwcA4MNQyFXCzvtGs7HA7k5+fDbrejurraq8WCEEL81a6k4scff8Sdd96JESNG4PTp0wCAzZs3Y8+ePQENLtI07v4gpC04nsOhqkOwuqwYYhgChaTtXRYd1TihkMlk6N+/P8RiKrMihLSf37e/Dz/8EOPGjYNcLseff/4Ju90OAKitrcWyZcsCHmAk4Rt1f1BLBTkfnvHIrc5FnaMOg2MHQy1Vd9q1m0soqIbCW15eHi655BJERUVh6NChbTpmxowZmDRpUqv7jB49GnPmzOlwfM2ZNm1at/8cDqTDhw+jR48eMJvNoQ4lYvidVDz33HNYu3Yt3nrrLa8K0ZEjR+KPP/4IaHCRhm/U/UFIaxhjOFJ9BEa7EYNjB0Mj05z/oAAJ54RixowZnoRcIpEgLS0NCxYsaHbSrR07dmDUqFFQq9VQKBS48MILsXHjxmbP++GHH2L06NHQaDRQqVQYMmQIli5dipqamhZjWbx4MZRKJfLz8/Htt98G6iW2ye7du/GXv/wFMpkMffr0afF1NZadnY2dO3fikUce8Xlu69atEIlEeOihh3ye27hxI7RabbPnFAgE+Oijj7y2tee97KiamhrccccdiI6Ohlarxd133w2TydTqMSdOnMBf//pXGAwGREdH49Zbb0VFRYXXPn/88QeuvvpqaLVaxMTE4N577/U6b0ZGBi655JJuPVO0v/y+/eXn5+OKK67w2a7RaNo10U5X0rT7g1oqSHMYY8iryUOVtQoZMRnQRek69fp1dXVhmVC4jR8/HmVlZSgoKMDKlSvxxhtvYPHixV77rF69GjfeeCNGjhyJffv2IScnB7fddhvuv/9+zJs3z2vfRYsWYcqUKbjwwgvx+eef49ChQ1i+fDmys7OxefPmFuM4ceIELrvsMvTq1atdQ3Pbq7CwENdddx3GjBmDAwcOYM6cOZg1axa+/PLLVo9bvXo1brnlFqhUKp/n1q9fjwULFmDr1q0dmhW1ve9lR91xxx3Izc3F119/jR07duCHH37Avffe2+L+ZrMZ11xzDQQCAb777jv89NNPcDgcmDhxIvj/NSmXlpZi7Nix6NOnD/bt24cvvvgCubm5mDFjhte5Zs6ciddff53qjdqK+SktLY19/fXXjDHGVCoVO3HiBGOMsXfeeYcNHDjQ39Mxxhhbs2YN69WrF5PJZOyiiy5i+/bta9NxW7duZQDYjTfe2OZr1dbWMgCstra2XbE2p/jgIfafeYvYqEtrWWamlY0aZWb5+fnMarUG7Bqk68ivyWe7inaxclN5UM5vtVrZ4cOHW/39q6ysZHa7PSjX74jp06f7/D3fdNNNbNiwYZ6fi4qKmEQiYY8//rjP8a+88goDwH755RfGGGP79u1jANiqVauavd7Zs2eb3Q7A67F48WLGGGM5OTlszJgxLCoqiun1enbPPfew+vr6FuM3mUxs2rRpTKlUsoSEBPbyyy+zUaNGsUcffbTF92DBggVs0KBBXtumTJnCxo0b1+IxLpeLaTQatmPHDp/nCgoKmFwuZ0ajkV188cVsy5YtXs+//fbbTKPRtPg+/Pe//2WMtf+97KjDhw8zAOy3337zbPv888+ZQCBgp0+fbvaYL7/8kgmFQq/PeaPRyAQCgef+9cYbb7C4uDjGcZxnn5ycHAaAHTt2zLPNbrczmUzGvvnmm0C/tLDS2ueGP/dNv1sq7rnnHjz66KPYt28fBAIBSktLsWXLFsybNw8PPPCA30nNtm3b8Pjjj2Px4sX4448/kJWVhXHjxuHMmTOtHnfy5EnMmzcPl19+ud/XDBb+fy0VYrF7Zk1qqSDeCowFKDWVor+uP+KV8Z12XYfDAbvDiTpbw0Oq0sDGCzw/B+vB8R1b1fTQoUP4+eefvVpTtm/fDqfT6dMiAQD33XcfVCoVtm7dCgDYsmULVCoVHnzwwWbP31Kzf1lZGQYNGoS5c+eirKwM8+bNg9lsxrhx46DT6fDbb7/hgw8+wDfffIPZs2e3GP/8+fPx/fff4+OPP8ZXX32F3bt3n7ebeO/evRg7dqzXtnHjxmHv3r0tHpOTk4Pa2lpccMEFPs+9/fbbuO6666DRaHDnnXdi/fr1rV6/Je19LwFg0KBBUKlULT4mTJjQ4rF79+6FVqv1em1jx46FUCjEvn37mj3GbrdDIBBAJjs3NDsqKgpCodAzoMBut/usdyGXN4y8ajzoQCqVYujQofjxxx9bjJGc43ep95NPPgme53HVVVfBYrHgiiuugEwmw7x58/Dwww/7HcCKFStwzz33YObMmQCAtWvX4rPPPsOGDRvw5JNPNnsMx3G44447sGTJEvz4449h0+3C/a9Qk4aUkuacqjuFovoipGvTkahK7LTr2u12HD16FDZOgBqxvl3TfrfXRb31iI7ybxKvHTt2QKVSweVywW63QygUYs2aNZ7njx49Co1Gg8RE3/dQKpWid+/eOHr0KADg2LFj6N27t98zBCYkJEAsFkOlUiEhIQEA8NZbb8Fms2HTpk1QKpUAgDVr1mDixIl44YUXEB/vnSSaTCasX78e7777Lq666ioAwDvvvIMePXq0eu3y8nKfc8XHx6Ourg5Wq9Vz42vs1KlTEIlEiIuL89rO8zw2btyI1atXAwBuu+02zJ07F4WFhUhLS/PjHWn/ewkAO3fubHVhu+Zek1t5ebnP6xKLxdDr9SgvL2/2mEsuuQRKpRJPPPEEli1bBsYYnnzySXAch7KyMgDAlVdeiccffxwvvfQSHn30UZjNZs89x72PW1JSEk6dOtWm19rd+Z1UCAQCLFq0CPPnz8fx48dhMpmQkZHRbD/e+TgcDuzfvx9PPfWUZ5tQKMTYsWNbzcqXLl2KuLg43H333efNHu12u2eECtDQnxws7tEflEuQpkrqS1BYW4jU6FSkqFM67bruhMJut0MikeKCnhpIOrGGQin1f4jqmDFj8Prrr8NsNmPlypUQi8WYPHlyu67PWMdaSho7cuQIsrKyPAkF0FCgzvM88vPzfRKBEydOwOFw4OKLL/Zs0+v16N+/f8BicrNarZDJZD5fZL7++muYzWZce+21AIDY2FhcffXV2LBhA/7xj3/4dY2OvJe9evVq97HtYTAY8MEHH+CBBx7AK6+8AqFQiKlTp+Ivf/mLp2Vi0KBBeOedd/D444/jqaeegkgkwiOPPIL4+Hif1TrlcjksFkunvoZI1e5B6VKpFBkZGR26eFVVFTiOazYrz8vLa/aYPXv2YP369Thw4ECbrvH8889jyZIlHYqzrTjuXPcHtVQQt3JzOY4bjyNFnYJUTWqnXdfhcODUqVNhXZTZHKVSiT59+gAANmzYgKysLKxfvx533303AKBfv36ora1FaWkpkpKSvI51OBw4ceIExowZ49l3z549cDqdHVrPoDMlJCT4jFKoqKhAdHR0i9/oY2NjYbFY4HA4vP6N169fj5qaGq/jeJ5HTk4OlixZAqFQiOjoaJjNZvA873UzdbcAazQNI5M68l4OGjSo1W/6l19+OT7//PNmn0tISPDpDne5XKipqfG0IjXnmmuuwYkTJ1BVVQWxWAytVouEhAT07t3bs8/tt9+O22+/HRUVFVAqlRAIBFixYoXXPkDD6JP09PS2vNRuz++aijFjxuDKK69s8RFM9fX1mDZtGt566y3Exsa26ZinnnoKtbW1nkdxcXHQ4mvcUkEJBQGAM5YzyK/JR6IyEenazvtQcrlcOHnyZMQlFE0JhUIsXLgQTz/9NKxWKwBg8uTJkEgkWL58uc/+a9euhdlsxtSpUwE03DRMJhNee+21Zs/vT9fpwIEDkZ2d7TVnwU8//QShUNhs60N6ejokEolXv//Zs2c9XTMtGTFihM8Q1q+//hojRoxo8Rj3PBqHDx/2bKuursbHH3+Mf//73zhw4IDn8eeff+Ls2bP46quvAAD9+/eHy+Xy+aLmrv3o168fgI69lzt37vSKoelj3bp1LR47YsQIGI1G7N+/37Ptu+++A8/zXq1ALYmNjYVWq8V3332HM2fO4IYbbvDZJz4+HiqVCtu2bUNUVBSuvvpqr+cPHTqEYcOGnfdaBP6P/pgzZ47X46GHHmIjR45kGo2GPfLII36dy263M5FI5KkudrvrrrvYDTfc4LP/n3/+yQAwkUjkeQgEAiYQCJhIJGLHjx8/7zWDOfpj2GATy8y0sokT69nx48eZ0+kM2DVI5KmyVLHvi79nuVW5jOf5TrvuiRMn2Ndff81+++03lpOTE5ajPFrS3OgPp9PJkpOT2UsvveTZtnLlSiYUCtnChQvZkSNH2PHjx9ny5cuZTCZjc+fO9Tp+wYIFTCQSsfnz57Off/6ZnTx5kn3zzTfs5ptvbnEkA2OMZWVleUZ9MMaY2WxmiYmJbPLkyezgwYPsu+++Y71792bTp09vMf7777+f9erVi3377bfs4MGD7IYbbmAqlarV0R8FBQVMoVCw+fPnsyNHjrBXX32ViUQi9sUXX7T63v3lL39hq1ev9nqPEhMTm/3du/XWW9nNN9/s+fmaa65hWVlZ7JtvvmEFBQXs888/Z/3792dTpkzxOq6972VHjR8/ng0bNozt27eP7dmzh/Xt25dNnTrV83xJSQnr37+/18jBDRs2sL1797Ljx4+zzZs3M71e7zNiaPXq1Wz//v0sPz+frVmzhsnlcvavf/3La5/CwkImEAjYyZMng/b6wkGgRn/4nVS0ZPHixT5/zG1x0UUXsdmzZ3t+5jiOJScns+eff95nX6vVyg4ePOj1uPHGG9mVV17JDh482KYPz2AmFUMGmdigQVY2aVIdJRXd3FnrWfZ98ffsYOVBxvHc+Q8IoPz8fPbVV1+x7OzsiEooGGs+qWCMseeff54ZDAZmMpk82z7++GN2+eWXM6VSyaKiotjw4cPZhg0bmj3vtm3b2BVXXMHUajVTKpVsyJAhbOnSpa0Og2yaVDDm/5DS+vp6dueddzKFQsHi4+PZiy++eN4hpYwxtmvXLjZ06FAmlUpZ79692dtvv93q/owx9tprr7FLLrnE8/PgwYPZgw8+2Oy+27ZtY1KplFVWVjLGGoaDPvLIIyw9PZ3J5XLWt29ftmDBAq/X1vhYf9/LjqqurmZTp05lKpWKRUdHs5kzZ3rFVlhYyACwXbt2ebY98cQTLD4+nkkkEta3b1+2fPlynwRr2rRpTK/XM6lUyoYMGcI2bdrkc+1ly5a1Opy3qwi7pOLYsWNMp9P5fdy///1vJpPJ2MaNG9nhw4fZvffey7RaLSsvbxjDP23aNPbkk0+2eHxLH0ItCVZS8eHcRSxzoJkNGmRlN91Uy44fP85cLlfArkEiR629lv1Q/AM7cOZApycUjDV8OGRnZwf0d5yEP4vFwlJSUtjPP/8c6lC6DLvdznr27Mn27NkT6lCCLlBJRcBWD9q7dy+ioqL8Pm7KlCmorKzEs88+i/LycgwdOhRffPGFp3izqKjIpxI3HDGcq6GgIaXdl8lhQk5lDlRSFTJjMiEUdM7vbnFxMfLy8jx9wRKJJCJrKEj7yeVybNq0CVVVVaEOpcsoKirCwoULMXLkyFCHEjH8Tipuuukmr58ZYygrK8Pvv/+OZ555pl1BzJ49u8UJZHbv3t3qsW2ZE78zuCe+AgBR500DQMKIxWlBTmUOokRRyIzN7LT5IIqLizF69GiUlJRgx44dYTUhHOlco0ePDnUIXUqfPn08I5FI2/idVLiHF7m5K5+XLl2Ka665JmCBRRq+0eSkAgENKe1ubC4bsiuzIRaKkWXIgkTYOcMX3QlFQUEBevfujQEDBnTKdQkhpDl+JRUcx2HmzJkYPHgwdLrOXQQp3DHm2/1BugcH50B2ZTYEAgGy4rIgEYUmodi9ezdSUlI6tGAUIYR0hF8dviKRCNdcc03YTIsdTnjWuPuD1v7oLpycE9mV2eAYhyxDFmQi2fkPCoCWEgpCCAklv6vIMjMzUVBQEIxYIhrPC9GwoCG1VHQXLt6FnKocODgHhhqGQi5uef2CQDpz5gwlFISQsOR3UvHcc89h3rx52LFjB8rKylBXV+f16K74Jt0fpGvjeA6Hqg7B6rJiiGEIFBJFp107JiYGl112GSUUhJCw0+aaiqVLl2Lu3LmehWluuOEGr2/jjDUUJ3IcF/goI4B39wcfEcNgSfvwjEdudS7qHHXIMmRBLVV36vVFIhE2bNiA6upqn9UbCSEklNqcVCxZsgT3338/du3aFcx4Ipb36I8QBkKCijGGI9VHYLQbMTh2MDQyzfkPCoDi4mKsWbMGy5Ytg0gkanaZa0IICbU2JxXsf8vejho1KmjBRLKmoz+opaLrYYwhryYPVdYqDIodBF1U54yAalyUCQAvvPBCp1y3u8vLy8OMGTNw4MABDBgwoE0rI8+YMQNGoxEfffRRi/uMHj0aQ4cOxapVqwIWq9szzzyDiooKvPnmmwE/d3d0+PBhXHPNNcjPz/da8p60zK87HxUftqyhUBMAGIRCFtJYSHAcMx5DhaUCA/QDECtv2yq5HdV0lEdLk8R1FTNmzPDM8SKRSJCWloYFCxY0O0x2x44dGDVqFNRqNRQKBS688MIWJ8P78MMPMXr0aGg0GqhUKgwZMgRLly5FTU1Ni7EsXrwYSqUS+fn5PquGBlNZWRluv/129OvXD0KhEHPmzGnTceXl5fjXv/6FRYsW+Ty3d+9eiEQiXHfddT7P7d69GwKBoNlRfampqT7Jz65du3DttdciJiYGCoUCGRkZmDt3Lk6fPt2mONvjzTffxOjRoxEdHd1irM159dVXkZqaiqioKFx88cX49ddfvZ632Wx46KGHEBMTA5VKhcmTJ3stO5+RkYFLLrkEK1asCOTL6dL8Sir69esHvV7f6qO78q6poJaKrqbAWIBSUyn66/ojXhnfKdfsrsNGx48fj7KyMhQUFGDlypV44403sHjxYq99Vq9ejRtvvBEjR47Evn37kJOTg9tuuw33338/5s2b57XvokWLMGXKFFx44YX4/PPPcejQISxfvhzZ2dnYvHlzi3GcOHECl112GXr16oWYmJigvNbm2O12GAwGPP3008jKymrzcevWrcOll16KXr16+Ty3fv16PPzww/jhhx9QWlra7tjeeOMNjB07FgkJCfjwww9x+PBhrF27FrW1tc0uRR8oFosF48ePx8KFC9t8zLZt2/D4449j8eLF+OOPP5CVlYVx48bhzJkznn0ee+wxfPrpp/jggw/w/fffo7S01GfW6JkzZ+L111+Hy+UK2Ovp0tq62IhAIGD/+te/2MaNG1t9hLtgLSj22qyXWeZAExs0yMIefriSlZWVBez8JLRO1p5ku4p2saK6ok67ZlFREevduzcDwHr37s2Kitp+7dYWBgp3zS0QeNNNN7Fhw4Z5fi4qKmISicRnGWvGGHvllVcYAPbLL78wxhjbt28fA9DistwtrayJhvHhnod7tVJ/Vyk1mUxs2rRpTKlUsoSEBPbyyy+3aZVSN3/2HTRoEFuzZo3P9vr6eqZSqVheXh6bMmUK++c//+n1/K5duxiAZt+LXr16sZUrVzLGGCsuLmZSqZTNmTOn2esHc5VSt9Zibeqiiy5iDz30kOdnjuNYUlKSZwVso9HIJBIJ++CDDzz7HDlyhAFge/fu9Wyz2+1MJpOxb775JnAvJAyFZEGx2267jYrDWsAzoXuaCohE1FXUVZTUl6CwthCp0alIUXdOK4HL5cL48eMD30LBc4DD1PHz+EOqAjqwBsqhQ4fw888/e3373r59O5xOp0+LBADcd999WLhwIbZu3YqLL74YW7ZsgUqlwoMPPtjs+bVabbPby8rKMHbsWIwfPx7z5s2DSqWC2WzGuHHjMGLECPz22284c+YMZs2ahdmzZ7fY7TJ//nx8//33+PjjjxEXF4eFCxfijz/+wNChQ/19K1pVU1ODw4cP44ILLvB57v3338eAAQPQv39/3HnnnZgzZw6eeuopvz+jPvjgAzgcDixYsKDZ51t6LwFgwoQJ+PHHH1t8vlevXsjNzfUrntY4HA7s378fTz31lGebUCjE2LFjsXfvXgDA/v374XQ6MXbsWM8+AwYMQM+ePbF3715ccsklAACpVIqhQ4fixx9/xFVXXRWwGLuqNicVdJNsnXehJqP3qwsoN5fjuPE4UtQpSNWkdtp1xWIxXn75ZcybNw9ffPFF4Lo8HCbg1M+BOVdb9boUiPJvhMyOHTugUqngcrlgt9shFAqxZs0az/NHjx6FRqNBYmKiz7FSqRS9e/fG0aNHAQDHjh1D7969IZH4N3V6QkICxGIxVCoVEhISAABvvfUWbDYbNm3a5CnaW7NmDSZOnIgXXnjBs7Kym8lkwvr16/Huu+96bkbvvPMOevTo4VcsbVFUVATGGJKSknyeW79+Pe68804ADV1LtbW1+P777/1efOzYsWOIjo5u9n0/n3Xr1sFqtbb4vL//PudTVVUFjuN8/k3i4+ORl5cHoKEGRSqV+iRD8fHxKC8v99qWlJSEU6dOBTTGrsrv0R+keY1XKRUI6L2KdGcsZ5Bfk49EZSLStemdck3GziWjEyZMwNVXXw2x2O81/1omVTXc5DuTVOX3IWPGjMHrr78Os9mMlStXQiwWY/Lkye26fCA/t44cOYKsrCyvUQAjR44Ez/PIz8/3uYGdOHECDocDF198sWebXq9H//79AxaTm/uGHRUV5bU9Pz8fv/76K/773/8CaEhYp0yZgvXr1/udVDT+/fRXcnJyu44LF3K5HBaLJdRhRIQ2VxPyPE9dH61oPE8FFWpGtmprNfJq8mBQGNBP169TrllUVITRo0fj2LFjnm0BTSiAhm6IKE3nPtrR9aFUKtGnTx9kZWVhw4YN2LdvH9avX+95vl+/fqitrW224NDhcODEiRPo16+fZ9+CggI4nc72v28RIDa2YTTS2bNnvbavX78eLpcLSUlJEIvFEIvFeP311/Hhhx+itrYWABAdHQ0Anp8bMxqNnpWp3e97WVmZ3/FNmDABKpWqxcegQYP8PmdrYmNjIRKJvEZyAEBFRYWn5SkhIQEOh8NnJEnjfdxqampgMBgCGmNXRXe+AOGp+6NLMNqMyK3OhT5KjwH6AZ3y71hUVIQxY8bghx9+wKxZs6hVsBGhUIiFCxfi6aef9nwbnzx5MiQSSbOjDdauXQuz2YypU6cCAG6//XaYTCa89tprzZ7fn8URBw4ciOzsbJjNZs+2n376CUKhsNnWh/T0dEgkEuzbt8+z7ezZs56umUBKT09HdHQ0Dh8+7NnmcrmwadMmLF++HAcOHPA8srOzkZSUhK1btwIA+vbtC6FQiP3793uds6CgALW1tZ4E7eabb4ZUKsWLL77YbAytvZfr1q3ziqHpY+fOnR18B7xJpVIMHz7caygwz/P49ttvMWLECADA8OHDIZFIvPbJz89HUVGRZx+3Q4cOYdiwYQGNsasK8Feh7qtxUiEQUFIRieocdThYdRAamQYZMRkQCoKfc7sTCndR5rvvvku/O03ccsstmD9/Pl599VXMmzcPPXv2xIsvvoi5c+ciKioK06ZNg0Qiwccff4yFCxdi7ty5ni6Hiy++GAsWLPDMo/DXv/4VSUlJOH78ONauXYvLLrsMjz76aJviuOOOO7B48WJMnz4df//731FZWYmHH34Y06ZN8+n6AACVSoW7774b8+fPR0xMDOLi4rBo0aI2tWK6J9oymUyorKzEgQMHIJVKkZGR0ez+7iLEPXv2YNKkSQAaalPOnj2Lu+++29Pa4DZ58mSsX78e999/P9RqNWbNmoW5c+dCLBZj8ODBKC4uxhNPPIFLLrkEl17a0GWWkpKClStXYvbs2airq8Ndd92F1NRUlJSUYNOmTVCpVC0OK+1o90d5eTnKy8tx/PhxAMDBgwehVqvRs2dPz1QGV111Ff7617965nJ5/PHHMX36dFxwwQW46KKLsGrVKpjNZsycORMAoNFocPfdd+Pxxx+HXq9HdHQ0Hn74YYwYMcJTpAkAJ0+exOnTp70KOkkrAjsoJfwFa0jpC3e8xjIHNAwpffrpMlZTUxOw85Pgq7fXsx9LfmR/VPzBXJyrU6556tSpdg8bbU1XG1LKGGPPP/88MxgMzGQyebZ9/PHH7PLLL2dKpZJFRUWx4cOHsw0bNjR73m3btrErrriCqdVqplQq2ZAhQ9jSpUtbHZqYlZXlGUrq5u+Q0vr6enbnnXcyhULB4uPj2YsvvtimYaJoMqQVAOvVq1erx+zcuZMlJyczjuMYY4xdf/317Nprr212X/dQ2+zsbMZYw+/M4sWL2YABA5hcLmdpaWns3nvvZZWVlT7Hfv3112zcuHFMp9OxqKgoNmDAADZv3jxWWlraanwdsXjx4mbfk7ffftuzT69evXz+vVavXs169uzJpFIpu+iiizxDjd2sVit78MEHmU6nYwqFgv31r3/1mQ5g2bJlbNy4ccF6aWEjUENKBYx1r7bWuro6aDQa1NbWevoSO6rkUC62/N+PeHf/NDCREDffXItHH5VBp+ucaZxJx1icFhw4cwBSkRRZcVmQCANbid6cpi0UgZzYymazobCwEGlpaT6Fe6TrYozh4osvxmOPPebp/iEd43A40LdvX7z33nsYOXJkqMMJqtY+N/y5b1JNRYA0Hv1BNRWRw+ayIbsyG2KhGFmGzkkogIam2e42UyYJLoFAgDfffJNmfgygoqIiLFy4sMsnFIFENRUB0nj0Bw38iAwOzoHsymwIBIKGFgpR5yQUADwLPq1cuZISChIwQ4cODfjEWt1Znz590KdPn1CHEVEoqQgQmvwqsjg5J7Irs8ExDsPihkEmkgX9mhaLBQqFAkDDfAXbt28P+jUJIaQz0XfqAGnaUkFJRfhy8S7kVOXAwTkw1DAUcrE86NcsKirC4MGDvWaGJISQroaSigDhmtRUkPDE8RwOVR2C1WXFEMMQKCSKoF+zcVHmqlWraGY+QkiXRUlFgLAmS59TS0X44RmP3Opc1DnqMDh2MNRSddCv2XSUx65duzxdIIQQ0tVQUhEgVKgZ3hhjOFJ9BEa7EYNjB0Mj82+Rq/YI5rBRQggJR3T7CxCeCdwrn1NLRZhhjCGvJg9V1ipkxGRAFxX8+UMooSCEdEeUVARI09EfJHwcMx5DhaUCA/QDECuP7ZRrfvLJJ5RQEEK6HUoqAoTnz72VtPZH+CgwFqDUVIr+uv6IV/quzxAss2fPxurVqymhiGB5eXm45JJLEBUV1ea5H2bMmOFZe6Mlo0ePxpw5czocX3OmTZuGZcuWBeXc3dEXX3yBoUOHguf5UIcSMSipCBCeCjXDzqm6UyiqL0K6Nh2JqsSgX+/06dMwmUyen2fPnk0JhZ9mzJgBgUAAgUAAiUSCtLQ0LFiwADabzWffHTt2YNSoUVCr1VAoFLjwwguxcePGZs/74YcfYvTo0dBoNFCpVBgyZAiWLl2KmpqaFmNZvHgxlEol8vPzvVayDLb//Oc/uPrqq2EwGBAdHY0RI0bgyy+/PO9x2dnZ2LlzJx555BGf57Zu3QqRSISHHnrI57mNGzdCq9U2e06BQICPPvrIa1t73suOqqmpwR133IHo6GhotVrcfffdXn9rzRk9erTnd8n9uP/++732+e2333DVVVdBq9VCp9Nh3LhxyM7O9jw/fvx4SCQSbNmyJSivqyuipCJAvJc+D2EgBABQUl+CwtpCpEanIkUd/Bt7cXExrrjiClx77bXn/bAjrRs/fjzKyspQUFCAlStX4o033sDixYu99lm9ejVuvPFGjBw5Evv27UNOTg5uu+023H///Zg3b57XvosWLcKUKVNw4YUX4vPPP8ehQ4ewfPlyZGdnY/PmzS3GceLECVx22WXo1asXYmJigvJam/PDDz/g6quvxs6dO7F//36MGTMGEydOxJ9//tnqcatXr8Ytt9wClUrl89z69euxYMECbN26tdkEra3a+1521B133IHc3Fx8/fXX2LFjB3744Qfce++95z3unnvuQVlZmefReNl2k8mE8ePHo2fPnti3bx/27NkDtVqNcePGwel0evabMWMGXnnllaC8ri4pwAudhb1grVI657ptbND/Vildt66IWSyWgJ2f+KfMVMZ2Fe1ix88e75TrFRUVea02WlJS0inXbUlXW6X0pptuYsOGDfP8XFRUxCQSCXv88cd9jn/llVcYAM9qlO7VOFetWtXs9VpapRRNVsN0r37p7yqlJpOJTZs2jSmVSpaQkMBefvnlNq1S2lRGRgZbsmRJi8+7XC6m0WjYjh07fJ4rKChgcrmcGY1GdvHFF7MtW7Z4Pf/2228zjUbT7HkBsP/+97+Msfa/lx11+PBhBoD99ttvnm2ff/45EwgE7PTp0y0ed773+bfffmMAvFYHzsnJYQDYsWPHPNtOnTrFALDjxzvn8yRUArVKKX2nDpDGNRUiUQgD6ebOWM4gvyYficpEpGvTg3694uJijB492qsoMzk5OejXbQ+O51DvqO/UB8dzHYr50KFD+PnnnyGVSj3btm/fDqfT6dMiAQD33XcfVCoVtm7dCgDYsmULVCoVHnzwwWbP31Kzf1lZGQYNGoS5c+eirKwM8+bNg9lsxrhx46DT6fDbb7/hgw8+wDfffIPZs2e3GP/8+fPx/fff4+OPP8ZXX32F3bt3448//vDjHQB4nkd9fT30en2L++Tk5KC2thYXXHCBz3Nvv/02rrvuOmg0Gtx5551Yv369X9d3a+97CQCDBg2CSqVq8TFhwoQWj927dy+0Wq3Xaxs7diyEQiH27dt33phjY2ORmZmJp556ymviuf79+yMmJgbr16+Hw+GA1WrF+vXrMXDgQKSmpnr269mzJ+Lj4/Hjjz+2ei3SgNb+CJDGoz+oUDM0qq3VyKvJg0FhQD9dv6Bfr7mEIpxrKCwuC/ZX7O/Uaw6PH+73JGM7duyASqWCy+WC3W6HUCj0mt786NGj0Gg0SEz0rZORSqXo3bs3jh49CgA4duwYevfuDYnEv8XiEhISIBaLoVKpkJCQAAB46623YLPZsGnTJiiVSgDAmjVrMHHiRLzwwguIj/cuBDaZTFi/fj3effddXHXVVQCAd955Bz169PArlpdffhkmkwm33npri/ucOnUKIpEIcXFxXtt5nsfGjRuxevVqAMBtt92GuXPnepa49kd730sA2Llzp1eXQlNyectT5ZeXl/u8LrFYDL1ej/Ly8haPu/3229GrVy8kJSUhJycHTzzxBPLz8/Gf//wHAKBWq7F7925MmjQJ//jHPwAAffv2xZdffgmx2PvWmJSUhFOnTp33dRJKKgKmoaaiYSipWEwJRWcz2ozIrc6FPkqPAfoBQU/qIi2hAACFWIHh8cM7/Zr+GjNmDF5//XWYzWasXLkSYrEYkydPbtf1GQvc8O4jR44gKyvLk1AAwMiRI8HzPPLz832SihMnTsDhcODiiy/2bNPr9ejfv3+br/nee+9hyZIl+Pjjj31urI1ZrVbIZDKf3/uvv/4aZrMZ1157LQAgNjYWV199NTZs2OC5kbZVR97LXr16tfvY9mpcczF48GAkJibiqquuwokTJ5Ceng6r1Yq7774bI0eOxNatW8FxHF5++WVcd911+O2337wSHblcTtPrtxElFQHinlGTMVqltLPVOepwsOogNDINMmIyIBQEv1fPaDSitrY2YhIKABAJRZ0yNXlHKZVKz3LTGzZsQFZWFtavX4+7774bANCvXz/U1taitLQUSUlJXsc6HA6cOHECY8aM8ey7Z88eOJ3Odn3DDqV///vfmDVrFj744AOMHTu21X1jY2NhsVjgcDi8uorWr1+Pmpoarxskz/PIycnBkiVLIBQKER0dDbPZDJ7nIWxUZW40GgEAGk3D7LMdeS8HDRrU6jf9yy+/HJ9//nmzzyUkJODMmTNe21wuF2pqajytSG3hTu6OHz+O9PR0vPfeezh58iT27t3red3vvfcedDodPv74Y9x2222eY2tqamAwGNp8re6MaioCxHtIqYCSik5icpiQU5kDlVSFzJjMTkkogIZvPrt27YqYhCJSCYVCLFy4EE8//TSsVisAYPLkyZBIJFi+fLnP/mvXroXZbMbUqVMBNDSBm0wmvPbaa82e333jbIuBAwciOzsbZrPZs+2nn36CUChstvUhPT0dEonEq9//7Nmznq6Z1mzduhUzZ87E1q1bcd111513f/c8GocPH/Zsq66uxscff4x///vfOHDggOfx559/4uzZs/jqq68ANNQWuFwuHDhwwOuc7tqPfv0auhI78l7u3LnTK4amj3Xr1rV47IgRI2A0GrF//7muu++++w48z3u1Ap2P+/W5u80sFguEQqHXZ7X758bzUthsNpw4cQLDhg1r87W6tcDXkIa3YI3+uOeqj9mgAfUsI8PCPvjgFLPb7QE7P2me2WFmP5X8xH4r+405OEfQr1dUVMR+/vnnoF+no7ra6A+n08mSk5PZSy+95Nm2cuVKJhQK2cKFC9mRI0fY8ePH2fLly5lMJmNz5871On7BggVMJBKx+fPns59//pmdPHmSffPNN+zmm29ucSQDY4xlZWV5Rn0wxpjZbGaJiYls8uTJ7ODBg+y7775jvXv3ZtOnT28x/vvvv5/16tWLffvtt+zgwYPshhtuYCqVqtVRCVu2bGFisZi9+uqrrKyszPMwGo2tvnd/+ctf2OrVq73eo8TERMbzvM++t956K7v55ps9P19zzTUsKyuLffPNN6ygoIB9/vnnrH///mzKlClex7X3veyo8ePHs2HDhrF9+/axPXv2sL59+7KpU6d6ni8pKWH9+/dn+/btY4wxdvz4cbZ06VL2+++/s8LCQvbxxx+z3r17syuuuMJzzJEjR5hMJmMPPPAAO3z4MDt06BC78847mUajYaWlpZ79du3axVQqFTObzUF7feEgUKM/KKkIgOKDh9jdV37qSSr++98i5nAE/ybXnVmdVvbz6Z/ZvtJ9zOHqnISid+/eTKlUhn1i0dWSCsYYe/7555nBYGAmk8mz7eOPP2aXX345UyqVLCoqig0fPpxt2LCh2fNu27aNXXHFFUytVjOlUsmGDBnCli5d2uowyKZJBWP+Dymtr69nd955J1MoFCw+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", + "text/plain": [ + "<Figure size 600x600 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "model = svm_model\n", + "label=\"ROC curve of training data\"\n", + "roc(X_train,y_train,model,label)" + ] + }, + { + "cell_type": "code", + "execution_count": 161, + "id": "5b8b6681", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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hYUFtWvXjiIiInRu+91331GXLl3I3t6e7O3tqUePHiVu/7KKmKX072MXyb32ffJq/Izefbf4zH6sbOLi4sjT07NaTl9eHlVpltKBAwdS69athfdxcXFkbm5Os2bNKrb/2rVrCQCdO3eOiIgiIiIIgM5puXXNrImXZsNUz1aq7yylGRkZNHr0aLKxsSEXFxf66quvXjlLqdqwYcPo448/psDAQPLx8Slx24KCArKzs6OwsLBi62JjY8nKyopSU1Opffv2tHPnTo3127ZtIzs7O5334ZdffiGist9LMZUUa1EqlYpcXFxo1apVwrLU1FSysLCg0NBQIiK6fv06AaDz588L2+zfv58kEgklJCQIy+7fv08A6M6dO+JdiJESa5ZSg3+v3rVrF2bNmoXAwEBcvHgRPj4+CAgIwOPHj7Vuf+zYMYwYMQJHjx7F2bNnUa9ePfTq1QsJCQmVHPkLKuWLkgoeUVM8CQkJePz4MZdQiEClIuRmF1T6S6Uqexujq1ev4syZM5DL5cKyPXv2ID8/v1iJBABMnjwZCoUCoaGhAICdO3dCoVBg6tSpWo+vqyg9MTER3t7emD17NhITEzFnzhxkZmYiICAANWvWxPnz57F7924cOnQI06dP1xn/3Llzcfz4cezbtw9//fUXjh07hosXL77yurdt24bY2NhiJTS6REVFIS0tTes8Fdu2bcNbb70FOzs7jBo1CsHBwaU65svKei8BwNvbGwqFQuerT58+ZYpJl7t37yIpKQn+/v7CMjs7O7Rv3x5nz54FAJw9exb29vYa98zf3x9SqRQRERHCsvr168PZ2RknT54UNcaqzOBdSr/++mu8++67GD9+PABg48aN+OOPP7B161bMnz+/2PYv129t2bIFe/fuxeHDhzFmzJhKifllRf9ucvWHeDp06ICDBw/Czc2NE4pyys9V4uHt1Eo/b53G9rCwKv2fmbCwMCgUChQUFCA3NxdSqRTr168X1t+6dQt2dnZa29TI5XJ4enri1q1bAIDbt2/D09MT5ubmesXs4uICMzMzKBQKuLi4AAA2b96MnJwcbN++HTY2NgCA9evXo1+/flixYgWcnZ01jpGRkYHg4GD88MMPQhXG999/j7p165Z47tu3b2P+/Pk4efIkzMxKd9/u378PmUyG2rVrayxXqVQICQnBunXrAADDhw/H7Nmzhemt9VHW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", + "text/plain": [ + "<Figure size 600x600 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "label=\"ROC curve of testing data\"\n", + "roc(X_test,y_test,model,label)" + ] + }, + { + "cell_type": "code", + "execution_count": 162, + "id": "033ca70b", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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2xUTE+O2vfjii+rYsaMiIiIUFxenMWPGKD8//5LX2LlzpxITE+VwOBQVFaUuXbpo+/btrs/T09PVvXt3hYeHKy4uTuPGjVNBQUFlfD1Aktz+fkdHR8tms7n29+/fL4fDoY8//lhdunSR3W5Xenq6Ro4cqYEDB7pdZ/z48erVq5dr3zAMOZ1OxcfHKzw8XJ07d9Z7771XuV8O+C8kDKhUISEhmjdvnvbs2aPFixdr48aNmjx58iXPHzZsmJo1a6avvvpKO3bs0NSpU1WnTh1JUnZ2tpKSkjRkyBDt2rVLy5cvV3p6upKTkyvr6wBemTp1qp544gnt27dPnTp18mqM0+nUkiVLtHDhQu3Zs0cpKSm6++67lZaWVsHRAhdHXQwVZs2aNW7l2H79+undd9917V911VV67LHHNHr0aL3yyisXvcaRI0c0adIktWvXTpLUunVr12dOp1PDhg3T+PHjXZ/NmzdPPXv21IIFC4L2BTCofmbPnq1bb73V6/OLioo0d+5cbdiwQd26dZMktWzZUunp6Xr11VfVs2fPigoVuCQSBlSYxMRELViwwLUfERGhDRs2yOl0av/+/crLy9O5c+dUWFios2fPqm7duhdcY8KECRo1apTefPNN9e7dW3fccYdatWolqaxdsWvXLi1dutR1vmmaMgxDhw4dUvv27Sv+SwJeuP766306PysrS2fPnr0gySguLta1115rZWiA10gYUGEiIiKUkJDg2j98+LB+85vf6IEHHtDjjz+uBg0aKD09Xffdd5+Ki4svmjDMnDlTv//977V27Vp9/PHHmjFjht555x0NGjRI+fn5+tOf/qRx48ZdMK558+YV+t0AX0RERLjth4SE6Oer8peUlLj+fH5ez9q1a9W0aVO383j/BKoKCQMqzY4dO2QYhp599lmFhJRNn1mxYoXHcW3atFGbNm2UkpKioUOHatGiRRo0aJCuu+467d271y0pAaqDhg0bavfu3W7HMjIyXPNzOnToILvdriNHjtB+QMBg0iMqTUJCgkpKSjR//nwdPHhQb775phYuXHjJ83/88UclJydr06ZN+u6777R161Z99dVXrlbDlClTtG3bNiUnJysjI0MHDhzQhx9+yKRHBLybb75Z27dv15IlS3TgwAHNmDHDLYFwOByaOHGiUlJStHjxYmVnZ+vrr7/W/PnztXjx4iqMHDUZCQMqTefOnfXcc8/pySef1NVXX62lS5fK6XRe8vxatWrp1KlTGj58uNq0aaM777xT/fr106xZsyRJnTp1Ulpamr799lt1795d1157raZPn67Y2NjK+kpAufTt21fTpk3T5MmTdcMNN+jMmTMaPny42zlz5szRtGnT5HQ61b59eyUlJWnt2rWKj4+voqhR0/F6awAA4BEVBgAA4BEJAwAA8IiEAQAAeETCAAAAPCJhAAAAHpEwAAAAj0gYAACARyQMQDUxcuRIDRw40LXfq1cv15s6K9OmTZtks9l0+vTpS55js9m0atUqr685c+ZMXXPNNX7FdfjwYdlsNmVkZPh1HQAXR8IA+GHkyJGy2Wyy2WwKDQ1VQkKCZs+erXPnzlX4vT/44APNmTPHq3O9+SEPAJfDy6cAPyUlJWnRokUqKirSRx99pLFjx6pOnTp65JFHLji3uLhYoaGhlty3QYMGllwHALxBhQHwk91uV0xMjFq0aKEHHnhAvXv31t///ndJ/2kjPP7444qNjVXbtm0lSUePHtWdd96pevXqqUGDBhowYIAOHz7sumZpaakmTJigevXq6YorrtDkyZMveB3yz1sSRUVFmjJliuLi4mS325WQkKA33nhDhw8fVmJioiSpfv36stlsGjlypCTJMAw5nU7Fx8crPDxcnTt31nvvved2n48++kht2rRReHi4EhMT3eL01pQpU9SmTRvVrVtXLVu21LRp09xe53zeq6++qri4ONWtW1d33nmncnNz3T5//fXX1b59e4WFhaldu3Z65ZVXfI4FQPmQMAAWCw8PV3FxsWv/008/VWZmptavX681a9aopKREffv2lcPh0JYtW7R161ZFRkYqKSnJNe7ZZ59Vamqq/va3vyk9PV0//PCDVq5cedn7Dh8+XG+//bbmzZunffv26dVXX1VkZKTi4uL0/vvvS5IyMzOVk5OjF198UZLkdDq1ZMkSLVy4UHv27FFKSoruvvtupaWlSSpLbAYPHqz+/fsrIyNDo0aN0tSpU33+38ThcCg1NVV79+7Viy++qNdee03PP/+82zlZWVlasWKFVq9erXXr1umbb77RmDFjXJ8vXbpU06dP1+OPP659+/Zp7ty5mjZtGm9vBCqLCaDcRowYYQ4YMMA0TdM0DMNcv369abfbzYkTJ7o+b9y4sVlUVOQa8+abb5pt27Y1DcNwHSsqKjLDw8PNTz75xDRN02zSpIn51FNPuT4vKSkxmzVr5rqXaZpmz549zYceesg0TdPMzMw0JZnr16+/aJyfffaZKcn897//7TpWWFho1q1b19y2bZvbuffdd585dOhQ0zRN85FHHjE7dOjg9vmUKVMuuNbPSTJXrlx5yc+ffvpps0uXLq79GTNmmLVq1TKPHTvmOvbxxx+bISEhZk5OjmmaptmqVStz2bJlbteZM2eO2a1bN9M0TfPQoUOmJPObb7655H0BlB9zGAA/rVmzRpGRkSopKZFhGPr973+vmTNnuj7v2LGj27yFnTt3KisrSw6Hw+06hYWFys7OVm5urnJyctS1a1fXZ7Vr19b1119/QVvivIyMDNWqVUs9e/b0Ou6srCydPXtWt956q9vx4uJiXXvttZKkffv2ucUhSd26dfP6HuctX75c8+bNU3Z2tvLz83Xu3DlFRUW5ndO8eXM1bdrU7T6GYSgzM1MOh0PZ2dm67777dP/997vOOXfunKKjo32OB4DvSBgAPyUmJmrBggUKDQ1VbGysatd2/88qIiLCbT8/P19dunTR0qVLL7hWw4YNyxVDeHi4z2Py8/MlSWvXrnX7QS2Vzcuwyueff65hw4Zp1qxZ6tu3r6Kjo/XOO+/o2Wef9TnW11577YIEplatWpbFCuDSSBgAP0VERCghIcHr86+77jotX75cjRo1uuC37POaNGmiL7/8Uj169JBU9pv0jh07dN111130/I4dO8owDKWlpal3794XfH6+wlFaWuo61qFDB9ntdh05cuSSlYn27du7JnCe98UXX3j+kv9l27ZtatGihR599FHXse++++6C844cOaLjx48rNjbWdZ+QkBC1bdtWjRs3VmxsrA4ePKhhw4b5dH8A1mDSI1DJhg0bpiuvvFIDBgzQli1bdOjQIW3atEnjxo3TsWPHJEkPPfSQnnjiCa1atUr79+/XmDFjLruGwlVXXaURI0bo3nvv1apVq1zXXLFihSSpRYsWstlsWrNmjf75z38qPz9fDodDEydOVEpKihYvXqzs7Gx9/fXXmj9/vmsi4ejRo3XgwAFNmjRJmZmZWrZsmVJTU336vq1bt9aRI0f0zjvvKDs7W/PmzbvoBM6wsDCNGDFCO3fu1JYtWzRu3DjdeeediomJkSTNmjVLTqdT8+bN07fffqt//OMfWrRokZ577jmf4gFQPiQMQCWrW7euNm/erObNm2vw4MFq37697rvvPhUWFroqDg8//LD+8Ic/aMSIEerWrZscDocGDRp02esuWLBAv/3tbzVmzBi1a9dO999/vwoKCiRJTZs21axZszR16lQ1btxYycnJkqQ5c+Zo2rRpcjqdat++vZKSkrR27VrFx8dLKptX8P7772vVqlXq3LmzFi5cqLlz5/r0fW+//XalpKQoOTlZ11xzjbZt26Zp06ZdcF5CQoIGDx6s2267TX369FGnTp3cHpscNWqUXn/9dS1atEgdO3ZUz549lZqa6ooVQMWymZeaRQUAAPATKgwAAMAjEgYAAOARCQMAAPCIhAEAAHhEwgAAADwiYQAAAB6RMAAAAI9IGAAAgEckDAAAwCMSBgAA4BEJAwAA8IiEAQAAePT/Abvl/HA9pBryAAAAAElFTkSuQmCC", + "text/plain": [ + "<Figure size 640x480 with 2 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#######CONFUSION MATRIX ###########\n", + "from sklearn import metrics\n", + "y_test_pred_svm = model_svm.predict(X_test)\n", + "confusion_matrix_test = metrics.confusion_matrix(y_test, y_test_pred_svm)\n", + "cm_display = metrics.ConfusionMatrixDisplay(confusion_matrix = confusion_matrix_test, display_labels = [False, True])\n", + "cm_display.plot()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 163, + "id": "2f9bc4a1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Accuracy : 0.725\n", + "Sensitivity : 0.3076923076923077\n", + "Specificity : 0.9259259259259259\n" + ] + } + ], + "source": [ + "total1=sum(sum(confusion_matrix_test))\n", + "#####from confusion matrix calculate accuracy\n", + "accuracy1=(confusion_matrix_test[0,0]+confusion_matrix_test[1,1])/total1\n", + "print ('Accuracy : ', accuracy1)\n", + "\n", + "sensitivity1 = confusion_matrix_test[0,0]/(confusion_matrix_test[0,0]+confusion_matrix_test[0,1])\n", + "print('Sensitivity : ', sensitivity1 )\n", + "\n", + "specificity1 = confusion_matrix_test[1,1]/(confusion_matrix_test[1,0]+confusion_matrix_test[1,1])\n", + "print('Specificity : ', specificity1)" + ] + }, + { + "cell_type": "code", + "execution_count": 164, + "id": "8d6a7110", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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8MEHlZKSorffflvSv1vvM2bMUEJCgtq3by9JysvL0+DBgxUTE6PY2Fj1799f+/btc7+n0+nUuHHjFBMTo8aNG2vChAn65eMlftnGLy8v16OPPqrExESFhoaqbdu2mj9/vvbt2+d++EqjRo3kcDh09913S6p6hHBmZqaSkpIUHh6url276u9//7vH57z77ru65JJLFB4erl69ennEWV2PPvqoLrnkEjVo0EBt2rRRRkaGKisrzzju5ZdfVmJioho0aKDBgwerqKjIY/9rr72mjh07KiwsTB06dNBLL73kdSwAag/JHrYRHh6uiooK9+u1a9cqJydHa9as0apVq1RZWanU1FRFRkbq448/1ieffKKIiAj16dPHfd6zzz6r7Oxsvf7669qwYYOOHTum5cuX/9fPveuuu/S3v/1NWVlZ2rFjh15++WVFREQoMTFRb731liQpJydHhw8f1vPPPy9JyszM1KJFizRv3jx98803Gjt2rO68806tW7dOUtUvJQMHDlS/fv20bds23XvvvZo4caLX/04iIyOVnZ2tb7/9Vs8//7xeffVVzZo1y+OY3bt3a9myZVq5cqVWr16tL7/8Ug899JB7/+LFizV58mTNmDFDO3bs0MyZM5WRkaGFCxd6HQ+AWmIAFpSWlmb079/fMAzDcLlcxpo1a4zQ0FBj/Pjx7v1xcXFGeXm5+5y//vWvRvv27Q2Xy+UeKy8vN8LDw41//etfhmEYRrNmzYynnnrKvb+ystJo0aKF+7MMwzCuv/56Y/To0YZhGEZOTo4hyVizZs1Z4/zwww8NScZPP/3kHisrKzMaNGhgfPrppx7HDh8+3Lj99tsNwzCMSZMmGZ06dfLY/+ijj57xXr8kyVi+fPk59z/99NNG9+7d3a+nTJliBAcHGwcOHHCPvffee0ZQUJBx+PBhwzAM4+KLLzaWLFni8T7Tp083kpOTDcMwjNzcXEOS8eWXX57zcwHULubsYVmrVq1SRESEKisr5XK5dMcdd+jxxx937+/SpYvHPP327du1e/duRUZGerxPWVmZ9uzZo6KiIh0+fFg9e/Z076tXr5569OhxRiv/tG3btik4OFjXX399tePevXu3Tpw4oZtvvtljvKKiQpdffrkkaceOHR5xSFJycnK1P+O0pUuXKisrS3v27FFJSYlOnTqlqKgoj2Natmyp5s2be3yOy+VSTk6OIiMjtWfPHg0fPlz33Xef+5hTp04pOjra63gA1A6SPSyrV69emjt3rkJCQpSQkKB69Tx/3Bs2bOjxuqSkRN27d9fixYvPeK+LLrqoRjGEh4d7fU5JSYkk6Z133vFIslLVOgRf2bhxo4YOHaqpU6cqNTVV0dHReuONN/Tss896Heurr756xi8fwcHBPosVgDkke1hWw4YN1bZt22off8UVV2jp0qVq2rTpGdXtac2aNdOmTZt03XXXSaqqYLds2aIrrrjirMd36dJFLpdL69atU0pKyhn7T3cWnE6ne6xTp04KDQ3V/v37z9kR6Nixo3ux4WmfffbZ+b/kf/j000/VqlUrPfbYY+6x77///ozj9u/fr0OHDikhIcH9OUFBQWrfvr3i4uKUkJCgvXv3aujQoV59PoC6wwI94GdDhw5VkyZN1L9/f3388cfKzc3VRx99pFGjRunAgQOSpNGjR+vJJ5/UihUr9N133+mhhx76r9fIt27dWmlpabrnnnu0YsUK93suW7ZMktSqVSs5HA6tWrVKR48eVUlJiSIjIzV+/HiNHTtWCxcu1J49e7R161a98MIL7kVvDzzwgHbt2qVHHnlEOTk5WrJkibKzs736vu3atdP+/fv1xhtvaM+ePcrKyjrrYsOwsDClpaVp+/bt+vjjjzVq1CgNHjxY8fHxkqSpU6cqMzNTWVlZ2rlzp7766istWLBAzz33nFfxAKg9JHvgZw0aNND69evVsmVLDRw4UB07dtTw4cNVVlbmrvQffvhh/fGPf1RaWpqSk5MVGRmp3/72t//1fefOnavf/e53euihh9ShQwfdd999Ki0tlSQ1b95cU6dO1cSJExUXF6f09HRJ0vTp05WRkaHMzEx17NhRffr00TvvvKOkpCRJVfPob731llasWKGuXbtq3rx5mjlzplff97bbbtPYsWOVnp6ubt266dNPP1VGRsYZx7Vt21YDBw7ULbfcot69e+uyyy7zuLTu3nvv1WuvvaYFCxaoS5cuuv7665Wdne2OFYD/OYxzrSwCAACWQGUPAIDFkewBALA4kj0AABZHsgcAwOJI9gAAWBzJHgAAiyPZAwBgcSR7AAAsjmQPAIDFkewBALA4kj0AABb3/wGS0fmShV/96QAAAABJRU5ErkJggg==", + "text/plain": [ + "<Figure size 640x480 with 2 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#######CONFUSION MATRIX ###########\n", + "y_train_pred_svm = model_svm.predict(X_train)\n", + "confusion_matrix_train = metrics.confusion_matrix(y_train, y_train_pred_svm)\n", + "cm_display = metrics.ConfusionMatrixDisplay(confusion_matrix = confusion_matrix_train)\n", + "cm_display.plot()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 165, + "id": "81d0fac2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Accuracy : 0.958904109589041\n", + "Sensitivity : 0.972972972972973\n", + "Specificity : 0.9444444444444444\n" + ] + } + ], + "source": [ + "total1=sum(sum(confusion_matrix_train))\n", + "#####from confusion matrix calculate accuracy\n", + "accuracy1=(confusion_matrix_train[0,0]+confusion_matrix_train[1,1])/total1\n", + "print ('Accuracy : ', accuracy1)\n", + "\n", + "sensitivity1 = confusion_matrix_train[0,0]/(confusion_matrix_train[0,0]+confusion_matrix_train[0,1])\n", + "print('Sensitivity : ', sensitivity1 )\n", + "\n", + "specificity1 = confusion_matrix_train[1,1]/(confusion_matrix_train[1,0]+confusion_matrix_train[1,1])\n", + "print('Specificity : ', specificity1)" + ] + }, + { + "cell_type": "code", + "execution_count": 166, + "id": "c1095af0", + "metadata": {}, + "outputs": [], + "source": [ + "# for important features:\n", + "important_feat = model_svm.coef_[0]\n", + "#get indices of those important features\n", + "idx = important_feat.argsort(kind= \"quicksort\")\n", + "idx= idx[::-1][:50]" + ] + }, + { + "cell_type": "code", + "execution_count": 167, + "id": "ae7e0162", + "metadata": {}, + "outputs": [], + "source": [ + "df1 = X_selected.T" + ] + }, + { + "cell_type": "code", + "execution_count": 168, + "id": "1d97f818", + "metadata": {}, + "outputs": [], + "source": [ + "top_met = df1.iloc[idx]" + ] + }, + { + "cell_type": "code", + "execution_count": 169, + "id": "4cd4227b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['COL1A1', 'ECT2', 'COL7A1', 'IGF2BP2', 'COL5A2', 'NUSAP1', 'MCM2',\n", + " 'IGFBP3', 'FSCN1', 'LAMB3', 'RPN1', 'AGRN', 'EFNA1', 'LAMC2', 'TAPBP',\n", + " 'HSPBAP1', 'TGIF1', 'TYMP', 'ANO1', 'LCN2', 'UCHL1', 'AURKA', 'AIM2',\n", + " 'RUVBL1', 'TSPAN6', 'MYH10', 'DHRS2', 'IFI35', 'ERCC3', 'ENTPD6',\n", + " 'SLC2A1', 'PITX1', 'SSRP1', 'PCSK5', 'HSPD1', 'IL1RN', 'SERPINB13',\n", + " 'LYPD3', 'ACLY', 'SCNN1A', 'TMF1', 'GALNT1', 'SPRR3', 'ITPKC', 'STK24',\n", + " 'NT5C2', 'PTN', 'EMP1', 'TMPRSS11D', 'TST'],\n", + " dtype='object')" + ] + }, + "execution_count": 169, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "top_met.index" + ] + }, + { + "cell_type": "code", + "execution_count": 170, + "id": "8f6d88bb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['ACLY', 'ACTG2', 'AGRN', 'AIM2', 'ALDH9A1', 'ALOX12', 'ANO1', 'AQP3',\n", + " 'ATP6V1D', 'AURKA', 'CCNG2', 'CES2', 'CFD', 'CH25H', 'CLIC3', 'COL1A1',\n", + " 'COL5A2', 'COL7A1', 'CRABP2', 'CRCT1', 'CRISP3', 'CRNN', 'CYP4B1',\n", + " 'DHRS1', 'DHRS2', 'DUOX1', 'DUSP5', 'ECM1', 'ECT2', 'EFNA1', 'EMP1',\n", + " 'ENTPD6', 'ERCC3', 'FLG', 'FSCN1', 'GALE', 'GALNT1', 'GPX3', 'HOPX',\n", + " 'HSPB8', 'HSPBAP1', 'HSPD1', 'ID4', 'IFI35', 'IGF2BP2', 'IGFBP3',\n", + " 'IL1RN', 'INPP1', 'ITPKC', 'KANK1', 'KLK13', 'KRT4', 'LAMB3', 'LAMC2',\n", + " 'LCN2', 'LYPD3', 'MAL', 'MCM2', 'MUC1', 'MYH10', 'NDRG2', 'NT5C2',\n", + " 'NUSAP1', 'PCSK5', 'PHLDA1', 'PITX1', 'PPP1R3C', 'PTN', 'RAB11FIP1',\n", + " 'RANBP9', 'RHCG', 'RND3', 'RPN1', 'RUVBL1', 'SCNN1A', 'SERPINB13',\n", + " 'SERPINB2', 'SIM2', 'SLC2A1', 'SLK', 'SPRR3', 'SSRP1', 'STK24',\n", + " 'SYNPO2L', 'TAPBP', 'TFAP2B', 'TGIF1', 'TIAM1', 'TJP1', 'TMF1',\n", + " 'TMPRSS11D', 'TMPRSS11E', 'TSPAN6', 'TST', 'TYMP', 'UCHL1', 'ZBTB16',\n", + " 'ZNF185'],\n", + " dtype='object')" + ] + }, + "execution_count": 170, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "X_selected.columns" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5d9ff727", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8b304c6c", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c76098bb", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "321b6028", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.16" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} -- GitLab