{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# MLSP 2014 Schizophrenia Classification Challenge\n",
    "\n",
    "For details, see https://www.kaggle.com/c/mlsp-2014-mri/overview\n",
    "\n",
    "## submission #842079"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "from os import path"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Data\n",
    "\n",
    "For more details, see https://www.kaggle.com/c/mlsp-2014-mri/data."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### About FNC Features\n",
    "\n",
    "Functional Network Connectivity (FNC) are correlation values that summarize the overall connection between independent brain maps over time. Therefore, the FNC feature gives a picture of the connectivity pattern over time between independent networks (or brain maps). The provided FNC information was obtained from functional magnetic resonance imaging (fMRI) from a set of schizophrenic patients and healthy controls at rest, using group independent component analysis (GICA). The GICA decomposition of the fMRI data resulted in a set of brain maps, and corresponding timecourses. These timecourses indicated the activity level of the corresponding brain map at each point in time. The FNC feature are the correlations between these timecourses. In a way, FNC indicates a subject's overall level of 'synchronicity' between brain areas. Because this information is derived from functional MRI scans, FNCs are considered a functional modality feature (i.e., they describe patterns of the brain function). More about FNCs can be found here: [FNC paper](http://cercor.oxfordjournals.org/content/early/2012/11/09/cercor.bhs352.abstract)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "FNC_train = pd.read_csv(path.join('Train', 'train_FNC.csv'), index_col=0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### About SBM Loadings\n",
    "\n",
    "Source-Based Morphometry (SBM) loadings correspond to the weights of brain maps obtained from the application of independent component analysis (ICA) on the gray-matter concentration maps of all subjects. Gray-matter corresponds to the outer-sheet of the brain; it is the brain region in which much of the brain signal processing actually occurs. In a way, the concentration of gray-matter is indicative of the \"computational power\" available in a certain region of the brain. Processing gray-matter concentration maps with ICA yields independent brain maps whose expression levels (i.e., loadings) vary across subjects. Simply put, a near-zero loading for a given ICA-derived brain map indicates that the brain regions outlined in that map are lowly present in the subject (i.e., the gray-matter concentration in those regions are very low in that subject). Because this information is derived from structural MRI scans, SBM loadings are considered a structural modality feature (i.e., they describe patterns of the brain structure). More about SBM loadings can be found here: [SBM paper](http://www.ncbi.nlm.nih.gov/pubmed/22470337)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "SBM_train = pd.read_csv(path.join('Train', 'train_SBM.csv'), index_col=0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Labels for the training set.\n",
    "\n",
    "The labels are indicated in the \"Class\" column. 0 = 'Healthy Control', 1 = 'Schizophrenic Patient'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "labels = pd.read_csv(path.join('Train', 'train_labels.csv'), index_col=0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Feature selection"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.feature_selection import SelectKBest, f_classif"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "FNC_selector = SelectKBest(f_classif).fit(FNC_train, labels['Class'])\n",
    "SBM_selector = SelectKBest(f_classif).fit(SBM_train, labels['Class'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1296x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure(figsize=(18,6))\n",
    "plot = fig.add_subplot(111, xlabel='feature number', ylabel='score', title='Univariate FNC feature scores')\n",
    "indices = np.arange(FNC_train.shape[-1])\n",
    "FNC_scores = -np.log10(FNC_selector.pvalues_)\n",
    "FNC_scores /= FNC_scores.max()\n",
    "plot.plot(indices, FNC_scores, 'r^')\n",
    "plot.vlines(indices, [0], FNC_scores)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1296x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure(figsize=(18,6))\n",
    "plot = fig.add_subplot(111, xlabel='feature number', ylabel='score', title='Univariate SBM feature scores')\n",
    "indices = np.arange(SBM_train.shape[-1])\n",
    "SBM_scores = -np.log10(SBM_selector.pvalues_)\n",
    "SBM_scores /= SBM_scores.max()\n",
    "plot.plot(indices, SBM_scores, 'b^')\n",
    "plot.vlines(indices, [0], SBM_scores)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For this submission I selected 60 FNC features and 8 SBM features."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "FNC_selector.k = 60\n",
    "SBM_selector.k = 8"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "FNC_features = FNC_train.columns[FNC_selector.get_support()]\n",
    "SBM_features = SBM_train.columns[SBM_selector.get_support()]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_train = pd.concat([ FNC_train[FNC_features], SBM_train[SBM_features]], axis=1)\n",
    "y_train = labels['Class']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "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>FNC13</th>\n",
       "      <th>FNC30</th>\n",
       "      <th>FNC33</th>\n",
       "      <th>FNC35</th>\n",
       "      <th>FNC37</th>\n",
       "      <th>FNC38</th>\n",
       "      <th>FNC40</th>\n",
       "      <th>FNC41</th>\n",
       "      <th>FNC42</th>\n",
       "      <th>FNC43</th>\n",
       "      <th>...</th>\n",
       "      <th>FNC353</th>\n",
       "      <th>FNC368</th>\n",
       "      <th>SBM_map7</th>\n",
       "      <th>SBM_map17</th>\n",
       "      <th>SBM_map36</th>\n",
       "      <th>SBM_map52</th>\n",
       "      <th>SBM_map61</th>\n",
       "      <th>SBM_map64</th>\n",
       "      <th>SBM_map67</th>\n",
       "      <th>SBM_map75</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>120873</th>\n",
       "      <td>0.270490</td>\n",
       "      <td>0.036615</td>\n",
       "      <td>0.21516</td>\n",
       "      <td>0.069346</td>\n",
       "      <td>-0.086613</td>\n",
       "      <td>0.054857</td>\n",
       "      <td>-0.365520</td>\n",
       "      <td>-0.273410</td>\n",
       "      <td>-0.275500</td>\n",
       "      <td>-0.035595</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.23049</td>\n",
       "      <td>-0.060204</td>\n",
       "      <td>-0.264192</td>\n",
       "      <td>0.137624</td>\n",
       "      <td>-1.062109</td>\n",
       "      <td>0.791762</td>\n",
       "      <td>-0.982331</td>\n",
       "      <td>1.070363</td>\n",
       "      <td>0.220316</td>\n",
       "      <td>-0.002006</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>135376</th>\n",
       "      <td>-0.088119</td>\n",
       "      <td>0.450290</td>\n",
       "      <td>0.70298</td>\n",
       "      <td>0.543640</td>\n",
       "      <td>0.244000</td>\n",
       "      <td>0.512400</td>\n",
       "      <td>0.439300</td>\n",
       "      <td>0.125780</td>\n",
       "      <td>0.191420</td>\n",
       "      <td>-0.058085</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.31699</td>\n",
       "      <td>0.369300</td>\n",
       "      <td>-0.466051</td>\n",
       "      <td>0.972934</td>\n",
       "      <td>0.044317</td>\n",
       "      <td>-0.073326</td>\n",
       "      <td>-0.057543</td>\n",
       "      <td>0.371701</td>\n",
       "      <td>-0.513081</td>\n",
       "      <td>-0.295125</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>139149</th>\n",
       "      <td>-0.361020</td>\n",
       "      <td>0.203270</td>\n",
       "      <td>0.51565</td>\n",
       "      <td>0.114280</td>\n",
       "      <td>0.262910</td>\n",
       "      <td>0.018740</td>\n",
       "      <td>0.088855</td>\n",
       "      <td>-0.211420</td>\n",
       "      <td>0.026982</td>\n",
       "      <td>0.093953</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.17144</td>\n",
       "      <td>0.521330</td>\n",
       "      <td>1.439242</td>\n",
       "      <td>-1.488153</td>\n",
       "      <td>0.414747</td>\n",
       "      <td>-0.910225</td>\n",
       "      <td>0.597229</td>\n",
       "      <td>1.220756</td>\n",
       "      <td>-0.059213</td>\n",
       "      <td>0.350434</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146791</th>\n",
       "      <td>-0.060777</td>\n",
       "      <td>0.658060</td>\n",
       "      <td>0.64302</td>\n",
       "      <td>0.589520</td>\n",
       "      <td>0.485810</td>\n",
       "      <td>0.574150</td>\n",
       "      <td>0.344040</td>\n",
       "      <td>0.255670</td>\n",
       "      <td>0.091637</td>\n",
       "      <td>0.183470</td>\n",
       "      <td>...</td>\n",
       "      <td>0.27329</td>\n",
       "      <td>0.144460</td>\n",
       "      <td>-0.492673</td>\n",
       "      <td>0.187573</td>\n",
       "      <td>-0.026555</td>\n",
       "      <td>-3.013096</td>\n",
       "      <td>0.829697</td>\n",
       "      <td>-0.450726</td>\n",
       "      <td>-0.791032</td>\n",
       "      <td>0.448966</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153870</th>\n",
       "      <td>0.048705</td>\n",
       "      <td>0.158000</td>\n",
       "      <td>0.25707</td>\n",
       "      <td>0.152580</td>\n",
       "      <td>-0.105510</td>\n",
       "      <td>-0.234190</td>\n",
       "      <td>-0.127320</td>\n",
       "      <td>0.143880</td>\n",
       "      <td>-0.286530</td>\n",
       "      <td>-0.333980</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.49929</td>\n",
       "      <td>-0.179310</td>\n",
       "      <td>-1.105922</td>\n",
       "      <td>1.961955</td>\n",
       "      <td>-1.027496</td>\n",
       "      <td>0.474353</td>\n",
       "      <td>-0.978412</td>\n",
       "      <td>0.158492</td>\n",
       "      <td>0.889753</td>\n",
       "      <td>-0.551440</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>934330</th>\n",
       "      <td>-0.373800</td>\n",
       "      <td>0.706610</td>\n",
       "      <td>0.53835</td>\n",
       "      <td>0.428510</td>\n",
       "      <td>0.533970</td>\n",
       "      <td>0.317520</td>\n",
       "      <td>-0.042524</td>\n",
       "      <td>0.249370</td>\n",
       "      <td>0.191810</td>\n",
       "      <td>0.184660</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.46915</td>\n",
       "      <td>0.108670</td>\n",
       "      <td>-0.515736</td>\n",
       "      <td>-0.112326</td>\n",
       "      <td>0.458916</td>\n",
       "      <td>-0.516803</td>\n",
       "      <td>0.826910</td>\n",
       "      <td>-0.225792</td>\n",
       "      <td>0.369724</td>\n",
       "      <td>0.567717</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>950671</th>\n",
       "      <td>-0.029000</td>\n",
       "      <td>0.516310</td>\n",
       "      <td>0.41210</td>\n",
       "      <td>0.354370</td>\n",
       "      <td>0.311470</td>\n",
       "      <td>-0.067289</td>\n",
       "      <td>0.011223</td>\n",
       "      <td>0.173140</td>\n",
       "      <td>-0.039187</td>\n",
       "      <td>0.137150</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.42424</td>\n",
       "      <td>0.304690</td>\n",
       "      <td>-0.933527</td>\n",
       "      <td>-0.347191</td>\n",
       "      <td>0.183240</td>\n",
       "      <td>0.914623</td>\n",
       "      <td>0.482055</td>\n",
       "      <td>0.073327</td>\n",
       "      <td>-0.455141</td>\n",
       "      <td>0.977018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>963924</th>\n",
       "      <td>-0.197060</td>\n",
       "      <td>0.011246</td>\n",
       "      <td>0.35735</td>\n",
       "      <td>0.623080</td>\n",
       "      <td>0.317980</td>\n",
       "      <td>-0.081810</td>\n",
       "      <td>-0.102280</td>\n",
       "      <td>0.029382</td>\n",
       "      <td>0.205780</td>\n",
       "      <td>0.374430</td>\n",
       "      <td>...</td>\n",
       "      <td>0.42983</td>\n",
       "      <td>0.357230</td>\n",
       "      <td>-0.523021</td>\n",
       "      <td>1.369376</td>\n",
       "      <td>-0.976704</td>\n",
       "      <td>-1.429466</td>\n",
       "      <td>-0.114078</td>\n",
       "      <td>-0.476524</td>\n",
       "      <td>-0.556896</td>\n",
       "      <td>-0.424864</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>993348</th>\n",
       "      <td>-0.087478</td>\n",
       "      <td>0.420390</td>\n",
       "      <td>0.29361</td>\n",
       "      <td>0.026402</td>\n",
       "      <td>-0.041024</td>\n",
       "      <td>0.355390</td>\n",
       "      <td>0.163750</td>\n",
       "      <td>-0.186250</td>\n",
       "      <td>-0.297480</td>\n",
       "      <td>0.179980</td>\n",
       "      <td>...</td>\n",
       "      <td>0.15890</td>\n",
       "      <td>0.462660</td>\n",
       "      <td>0.462689</td>\n",
       "      <td>-1.749746</td>\n",
       "      <td>-0.385862</td>\n",
       "      <td>0.839745</td>\n",
       "      <td>-0.163926</td>\n",
       "      <td>0.953385</td>\n",
       "      <td>0.402673</td>\n",
       "      <td>-0.421040</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>993946</th>\n",
       "      <td>-0.061554</td>\n",
       "      <td>-0.125080</td>\n",
       "      <td>0.15613</td>\n",
       "      <td>0.269830</td>\n",
       "      <td>-0.178200</td>\n",
       "      <td>-0.133630</td>\n",
       "      <td>0.019102</td>\n",
       "      <td>0.383180</td>\n",
       "      <td>-0.082001</td>\n",
       "      <td>-0.058647</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.17677</td>\n",
       "      <td>0.307260</td>\n",
       "      <td>1.522190</td>\n",
       "      <td>-0.281454</td>\n",
       "      <td>-0.907096</td>\n",
       "      <td>1.241959</td>\n",
       "      <td>-0.626201</td>\n",
       "      <td>0.229092</td>\n",
       "      <td>1.358773</td>\n",
       "      <td>-1.125141</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>86 rows × 68 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "           FNC13     FNC30    FNC33     FNC35     FNC37     FNC38     FNC40  \\\n",
       "Id                                                                            \n",
       "120873  0.270490  0.036615  0.21516  0.069346 -0.086613  0.054857 -0.365520   \n",
       "135376 -0.088119  0.450290  0.70298  0.543640  0.244000  0.512400  0.439300   \n",
       "139149 -0.361020  0.203270  0.51565  0.114280  0.262910  0.018740  0.088855   \n",
       "146791 -0.060777  0.658060  0.64302  0.589520  0.485810  0.574150  0.344040   \n",
       "153870  0.048705  0.158000  0.25707  0.152580 -0.105510 -0.234190 -0.127320   \n",
       "...          ...       ...      ...       ...       ...       ...       ...   \n",
       "934330 -0.373800  0.706610  0.53835  0.428510  0.533970  0.317520 -0.042524   \n",
       "950671 -0.029000  0.516310  0.41210  0.354370  0.311470 -0.067289  0.011223   \n",
       "963924 -0.197060  0.011246  0.35735  0.623080  0.317980 -0.081810 -0.102280   \n",
       "993348 -0.087478  0.420390  0.29361  0.026402 -0.041024  0.355390  0.163750   \n",
       "993946 -0.061554 -0.125080  0.15613  0.269830 -0.178200 -0.133630  0.019102   \n",
       "\n",
       "           FNC41     FNC42     FNC43  ...   FNC353    FNC368  SBM_map7  \\\n",
       "Id                                    ...                                \n",
       "120873 -0.273410 -0.275500 -0.035595  ... -0.23049 -0.060204 -0.264192   \n",
       "135376  0.125780  0.191420 -0.058085  ... -0.31699  0.369300 -0.466051   \n",
       "139149 -0.211420  0.026982  0.093953  ... -0.17144  0.521330  1.439242   \n",
       "146791  0.255670  0.091637  0.183470  ...  0.27329  0.144460 -0.492673   \n",
       "153870  0.143880 -0.286530 -0.333980  ... -0.49929 -0.179310 -1.105922   \n",
       "...          ...       ...       ...  ...      ...       ...       ...   \n",
       "934330  0.249370  0.191810  0.184660  ... -0.46915  0.108670 -0.515736   \n",
       "950671  0.173140 -0.039187  0.137150  ... -0.42424  0.304690 -0.933527   \n",
       "963924  0.029382  0.205780  0.374430  ...  0.42983  0.357230 -0.523021   \n",
       "993348 -0.186250 -0.297480  0.179980  ...  0.15890  0.462660  0.462689   \n",
       "993946  0.383180 -0.082001 -0.058647  ... -0.17677  0.307260  1.522190   \n",
       "\n",
       "        SBM_map17  SBM_map36  SBM_map52  SBM_map61  SBM_map64  SBM_map67  \\\n",
       "Id                                                                         \n",
       "120873   0.137624  -1.062109   0.791762  -0.982331   1.070363   0.220316   \n",
       "135376   0.972934   0.044317  -0.073326  -0.057543   0.371701  -0.513081   \n",
       "139149  -1.488153   0.414747  -0.910225   0.597229   1.220756  -0.059213   \n",
       "146791   0.187573  -0.026555  -3.013096   0.829697  -0.450726  -0.791032   \n",
       "153870   1.961955  -1.027496   0.474353  -0.978412   0.158492   0.889753   \n",
       "...           ...        ...        ...        ...        ...        ...   \n",
       "934330  -0.112326   0.458916  -0.516803   0.826910  -0.225792   0.369724   \n",
       "950671  -0.347191   0.183240   0.914623   0.482055   0.073327  -0.455141   \n",
       "963924   1.369376  -0.976704  -1.429466  -0.114078  -0.476524  -0.556896   \n",
       "993348  -1.749746  -0.385862   0.839745  -0.163926   0.953385   0.402673   \n",
       "993946  -0.281454  -0.907096   1.241959  -0.626201   0.229092   1.358773   \n",
       "\n",
       "        SBM_map75  \n",
       "Id                 \n",
       "120873  -0.002006  \n",
       "135376  -0.295125  \n",
       "139149   0.350434  \n",
       "146791   0.448966  \n",
       "153870  -0.551440  \n",
       "...           ...  \n",
       "934330   0.567717  \n",
       "950671   0.977018  \n",
       "963924  -0.424864  \n",
       "993348  -0.421040  \n",
       "993946  -1.125141  \n",
       "\n",
       "[86 rows x 68 columns]"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "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>Class</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Id</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>120873</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>135376</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>139149</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146791</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153870</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>934330</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>950671</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>963924</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>993348</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>993946</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>86 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        Class\n",
       "Id           \n",
       "120873      1\n",
       "135376      0\n",
       "139149      0\n",
       "146791      0\n",
       "153870      1\n",
       "...       ...\n",
       "934330      0\n",
       "950671      0\n",
       "963924      1\n",
       "993348      0\n",
       "993946      1\n",
       "\n",
       "[86 rows x 1 columns]"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "labels"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Training"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.neighbors import KNeighborsClassifier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "clf = KNeighborsClassifier(n_neighbors=35).fit(X_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.872093023255814\n"
     ]
    }
   ],
   "source": [
    "print(clf.score(X_train, labels))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Submission"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "FNC_test = pd.read_csv(path.join('Test', 'test_FNC.csv'), index_col=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "SBM_test = pd.read_csv(path.join('Test', 'test_SBM.csv'), index_col=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "scrolled": false
   },
   "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>FNC13</th>\n",
       "      <th>FNC30</th>\n",
       "      <th>FNC33</th>\n",
       "      <th>FNC35</th>\n",
       "      <th>FNC37</th>\n",
       "      <th>FNC38</th>\n",
       "      <th>FNC40</th>\n",
       "      <th>FNC41</th>\n",
       "      <th>FNC42</th>\n",
       "      <th>FNC43</th>\n",
       "      <th>...</th>\n",
       "      <th>FNC353</th>\n",
       "      <th>FNC368</th>\n",
       "      <th>SBM_map7</th>\n",
       "      <th>SBM_map17</th>\n",
       "      <th>SBM_map36</th>\n",
       "      <th>SBM_map52</th>\n",
       "      <th>SBM_map61</th>\n",
       "      <th>SBM_map64</th>\n",
       "      <th>SBM_map67</th>\n",
       "      <th>SBM_map75</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>100004</th>\n",
       "      <td>0.113166</td>\n",
       "      <td>0.304551</td>\n",
       "      <td>0.678723</td>\n",
       "      <td>0.676364</td>\n",
       "      <td>0.102174</td>\n",
       "      <td>0.022148</td>\n",
       "      <td>0.317406</td>\n",
       "      <td>0.464976</td>\n",
       "      <td>0.236121</td>\n",
       "      <td>-0.047108</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.483997</td>\n",
       "      <td>0.150698</td>\n",
       "      <td>-2.404130</td>\n",
       "      <td>2.256762</td>\n",
       "      <td>-2.011786</td>\n",
       "      <td>0.139369</td>\n",
       "      <td>1.123770</td>\n",
       "      <td>2.083006</td>\n",
       "      <td>1.145440</td>\n",
       "      <td>0.192076</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100015</th>\n",
       "      <td>-0.054457</td>\n",
       "      <td>0.315034</td>\n",
       "      <td>0.770686</td>\n",
       "      <td>0.787717</td>\n",
       "      <td>0.366940</td>\n",
       "      <td>-0.299074</td>\n",
       "      <td>0.699394</td>\n",
       "      <td>0.452051</td>\n",
       "      <td>0.032888</td>\n",
       "      <td>0.262658</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.252089</td>\n",
       "      <td>0.318086</td>\n",
       "      <td>-0.612468</td>\n",
       "      <td>1.711094</td>\n",
       "      <td>0.185261</td>\n",
       "      <td>-2.084801</td>\n",
       "      <td>1.397832</td>\n",
       "      <td>1.046136</td>\n",
       "      <td>-0.191733</td>\n",
       "      <td>0.174160</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100026</th>\n",
       "      <td>0.002372</td>\n",
       "      <td>-0.108333</td>\n",
       "      <td>-0.058818</td>\n",
       "      <td>0.316538</td>\n",
       "      <td>0.081580</td>\n",
       "      <td>0.113453</td>\n",
       "      <td>-0.050571</td>\n",
       "      <td>0.068699</td>\n",
       "      <td>0.275885</td>\n",
       "      <td>0.562116</td>\n",
       "      <td>...</td>\n",
       "      <td>0.294130</td>\n",
       "      <td>0.093333</td>\n",
       "      <td>-0.752907</td>\n",
       "      <td>1.386814</td>\n",
       "      <td>-0.123830</td>\n",
       "      <td>0.046525</td>\n",
       "      <td>1.906989</td>\n",
       "      <td>-2.661633</td>\n",
       "      <td>-0.193911</td>\n",
       "      <td>-0.476647</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100030</th>\n",
       "      <td>0.040945</td>\n",
       "      <td>0.675230</td>\n",
       "      <td>0.537128</td>\n",
       "      <td>0.124338</td>\n",
       "      <td>0.073727</td>\n",
       "      <td>0.278834</td>\n",
       "      <td>0.161171</td>\n",
       "      <td>0.316369</td>\n",
       "      <td>0.067719</td>\n",
       "      <td>-0.046476</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.270263</td>\n",
       "      <td>0.442313</td>\n",
       "      <td>1.041755</td>\n",
       "      <td>-0.949757</td>\n",
       "      <td>0.167515</td>\n",
       "      <td>-1.693663</td>\n",
       "      <td>-1.997087</td>\n",
       "      <td>-2.083782</td>\n",
       "      <td>1.154107</td>\n",
       "      <td>2.790871</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100047</th>\n",
       "      <td>-0.245284</td>\n",
       "      <td>0.624100</td>\n",
       "      <td>0.294196</td>\n",
       "      <td>0.332166</td>\n",
       "      <td>0.447499</td>\n",
       "      <td>0.264495</td>\n",
       "      <td>0.446376</td>\n",
       "      <td>0.400933</td>\n",
       "      <td>0.041004</td>\n",
       "      <td>0.538643</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.204068</td>\n",
       "      <td>0.394492</td>\n",
       "      <td>-1.775324</td>\n",
       "      <td>0.415556</td>\n",
       "      <td>2.410666</td>\n",
       "      <td>0.021838</td>\n",
       "      <td>1.578984</td>\n",
       "      <td>1.402592</td>\n",
       "      <td>-1.230440</td>\n",
       "      <td>-1.544345</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>999956</th>\n",
       "      <td>0.182524</td>\n",
       "      <td>0.241864</td>\n",
       "      <td>0.606688</td>\n",
       "      <td>-0.000529</td>\n",
       "      <td>0.566684</td>\n",
       "      <td>-0.232798</td>\n",
       "      <td>0.733727</td>\n",
       "      <td>-0.056436</td>\n",
       "      <td>-0.227445</td>\n",
       "      <td>0.171759</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.184820</td>\n",
       "      <td>0.407409</td>\n",
       "      <td>-1.123315</td>\n",
       "      <td>0.428509</td>\n",
       "      <td>2.027816</td>\n",
       "      <td>0.849052</td>\n",
       "      <td>1.079632</td>\n",
       "      <td>-1.525021</td>\n",
       "      <td>2.479249</td>\n",
       "      <td>0.548342</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>999979</th>\n",
       "      <td>-0.172684</td>\n",
       "      <td>0.259993</td>\n",
       "      <td>0.571281</td>\n",
       "      <td>-0.075842</td>\n",
       "      <td>-0.262201</td>\n",
       "      <td>0.019818</td>\n",
       "      <td>0.504592</td>\n",
       "      <td>-0.185592</td>\n",
       "      <td>-0.809122</td>\n",
       "      <td>0.389232</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.310955</td>\n",
       "      <td>0.473550</td>\n",
       "      <td>-1.270540</td>\n",
       "      <td>0.013607</td>\n",
       "      <td>-0.047793</td>\n",
       "      <td>-0.755896</td>\n",
       "      <td>0.192909</td>\n",
       "      <td>-0.336587</td>\n",
       "      <td>0.062809</td>\n",
       "      <td>-0.690686</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>999989</th>\n",
       "      <td>-0.408067</td>\n",
       "      <td>0.862003</td>\n",
       "      <td>0.646698</td>\n",
       "      <td>0.700784</td>\n",
       "      <td>0.572094</td>\n",
       "      <td>-0.678907</td>\n",
       "      <td>0.192104</td>\n",
       "      <td>-0.556889</td>\n",
       "      <td>-0.246365</td>\n",
       "      <td>-0.199630</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.167875</td>\n",
       "      <td>-0.437320</td>\n",
       "      <td>-0.501659</td>\n",
       "      <td>-0.680883</td>\n",
       "      <td>1.595677</td>\n",
       "      <td>0.466304</td>\n",
       "      <td>0.430025</td>\n",
       "      <td>1.452216</td>\n",
       "      <td>0.759654</td>\n",
       "      <td>1.607317</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>999992</th>\n",
       "      <td>-0.160676</td>\n",
       "      <td>-0.055138</td>\n",
       "      <td>0.247362</td>\n",
       "      <td>0.478874</td>\n",
       "      <td>0.195440</td>\n",
       "      <td>0.358874</td>\n",
       "      <td>-0.124268</td>\n",
       "      <td>0.284184</td>\n",
       "      <td>0.330500</td>\n",
       "      <td>-0.258015</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.497435</td>\n",
       "      <td>0.783766</td>\n",
       "      <td>-1.248628</td>\n",
       "      <td>0.815399</td>\n",
       "      <td>1.427952</td>\n",
       "      <td>-0.305261</td>\n",
       "      <td>-2.599313</td>\n",
       "      <td>-0.161822</td>\n",
       "      <td>0.183669</td>\n",
       "      <td>-1.313079</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>999994</th>\n",
       "      <td>0.005356</td>\n",
       "      <td>0.403151</td>\n",
       "      <td>0.538632</td>\n",
       "      <td>0.792229</td>\n",
       "      <td>-0.226379</td>\n",
       "      <td>-0.229716</td>\n",
       "      <td>-0.044973</td>\n",
       "      <td>-0.262501</td>\n",
       "      <td>-0.039308</td>\n",
       "      <td>-0.207124</td>\n",
       "      <td>...</td>\n",
       "      <td>0.300068</td>\n",
       "      <td>0.562554</td>\n",
       "      <td>-1.980608</td>\n",
       "      <td>-1.398193</td>\n",
       "      <td>-1.263830</td>\n",
       "      <td>-0.303426</td>\n",
       "      <td>0.785046</td>\n",
       "      <td>2.369759</td>\n",
       "      <td>-0.168919</td>\n",
       "      <td>-0.668412</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>119748 rows × 68 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "           FNC13     FNC30     FNC33     FNC35     FNC37     FNC38     FNC40  \\\n",
       "Id                                                                             \n",
       "100004  0.113166  0.304551  0.678723  0.676364  0.102174  0.022148  0.317406   \n",
       "100015 -0.054457  0.315034  0.770686  0.787717  0.366940 -0.299074  0.699394   \n",
       "100026  0.002372 -0.108333 -0.058818  0.316538  0.081580  0.113453 -0.050571   \n",
       "100030  0.040945  0.675230  0.537128  0.124338  0.073727  0.278834  0.161171   \n",
       "100047 -0.245284  0.624100  0.294196  0.332166  0.447499  0.264495  0.446376   \n",
       "...          ...       ...       ...       ...       ...       ...       ...   \n",
       "999956  0.182524  0.241864  0.606688 -0.000529  0.566684 -0.232798  0.733727   \n",
       "999979 -0.172684  0.259993  0.571281 -0.075842 -0.262201  0.019818  0.504592   \n",
       "999989 -0.408067  0.862003  0.646698  0.700784  0.572094 -0.678907  0.192104   \n",
       "999992 -0.160676 -0.055138  0.247362  0.478874  0.195440  0.358874 -0.124268   \n",
       "999994  0.005356  0.403151  0.538632  0.792229 -0.226379 -0.229716 -0.044973   \n",
       "\n",
       "           FNC41     FNC42     FNC43  ...    FNC353    FNC368  SBM_map7  \\\n",
       "Id                                    ...                                 \n",
       "100004  0.464976  0.236121 -0.047108  ... -0.483997  0.150698 -2.404130   \n",
       "100015  0.452051  0.032888  0.262658  ... -0.252089  0.318086 -0.612468   \n",
       "100026  0.068699  0.275885  0.562116  ...  0.294130  0.093333 -0.752907   \n",
       "100030  0.316369  0.067719 -0.046476  ... -0.270263  0.442313  1.041755   \n",
       "100047  0.400933  0.041004  0.538643  ... -0.204068  0.394492 -1.775324   \n",
       "...          ...       ...       ...  ...       ...       ...       ...   \n",
       "999956 -0.056436 -0.227445  0.171759  ... -0.184820  0.407409 -1.123315   \n",
       "999979 -0.185592 -0.809122  0.389232  ... -0.310955  0.473550 -1.270540   \n",
       "999989 -0.556889 -0.246365 -0.199630  ... -0.167875 -0.437320 -0.501659   \n",
       "999992  0.284184  0.330500 -0.258015  ... -0.497435  0.783766 -1.248628   \n",
       "999994 -0.262501 -0.039308 -0.207124  ...  0.300068  0.562554 -1.980608   \n",
       "\n",
       "        SBM_map17  SBM_map36  SBM_map52  SBM_map61  SBM_map64  SBM_map67  \\\n",
       "Id                                                                         \n",
       "100004   2.256762  -2.011786   0.139369   1.123770   2.083006   1.145440   \n",
       "100015   1.711094   0.185261  -2.084801   1.397832   1.046136  -0.191733   \n",
       "100026   1.386814  -0.123830   0.046525   1.906989  -2.661633  -0.193911   \n",
       "100030  -0.949757   0.167515  -1.693663  -1.997087  -2.083782   1.154107   \n",
       "100047   0.415556   2.410666   0.021838   1.578984   1.402592  -1.230440   \n",
       "...           ...        ...        ...        ...        ...        ...   \n",
       "999956   0.428509   2.027816   0.849052   1.079632  -1.525021   2.479249   \n",
       "999979   0.013607  -0.047793  -0.755896   0.192909  -0.336587   0.062809   \n",
       "999989  -0.680883   1.595677   0.466304   0.430025   1.452216   0.759654   \n",
       "999992   0.815399   1.427952  -0.305261  -2.599313  -0.161822   0.183669   \n",
       "999994  -1.398193  -1.263830  -0.303426   0.785046   2.369759  -0.168919   \n",
       "\n",
       "        SBM_map75  \n",
       "Id                 \n",
       "100004   0.192076  \n",
       "100015   0.174160  \n",
       "100026  -0.476647  \n",
       "100030   2.790871  \n",
       "100047  -1.544345  \n",
       "...           ...  \n",
       "999956   0.548342  \n",
       "999979  -0.690686  \n",
       "999989   1.607317  \n",
       "999992  -1.313079  \n",
       "999994  -0.668412  \n",
       "\n",
       "[119748 rows x 68 columns]"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_test = pd.concat([FNC_test[FNC_features], SBM_test[SBM_features]], axis=1)\n",
    "X_test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "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>Healthy Control</th>\n",
       "      <th>Schizophrenic Patient</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>100004</th>\n",
       "      <td>0.342857</td>\n",
       "      <td>0.657143</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100015</th>\n",
       "      <td>0.542857</td>\n",
       "      <td>0.457143</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100026</th>\n",
       "      <td>0.600000</td>\n",
       "      <td>0.400000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100030</th>\n",
       "      <td>0.685714</td>\n",
       "      <td>0.314286</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100047</th>\n",
       "      <td>0.600000</td>\n",
       "      <td>0.400000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>999956</th>\n",
       "      <td>0.485714</td>\n",
       "      <td>0.514286</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>999979</th>\n",
       "      <td>0.428571</td>\n",
       "      <td>0.571429</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>999989</th>\n",
       "      <td>0.600000</td>\n",
       "      <td>0.400000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>999992</th>\n",
       "      <td>0.342857</td>\n",
       "      <td>0.657143</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>999994</th>\n",
       "      <td>0.514286</td>\n",
       "      <td>0.485714</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>119748 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        Healthy Control  Schizophrenic Patient\n",
       "Id                                            \n",
       "100004         0.342857               0.657143\n",
       "100015         0.542857               0.457143\n",
       "100026         0.600000               0.400000\n",
       "100030         0.685714               0.314286\n",
       "100047         0.600000               0.400000\n",
       "...                 ...                    ...\n",
       "999956         0.485714               0.514286\n",
       "999979         0.428571               0.571429\n",
       "999989         0.600000               0.400000\n",
       "999992         0.342857               0.657143\n",
       "999994         0.514286               0.485714\n",
       "\n",
       "[119748 rows x 2 columns]"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_test = clf.predict_proba(X_test)\n",
    "submission = pd.DataFrame(y_test, index=X_test.index, columns=['Healthy Control', 'Schizophrenic Patient'])\n",
    "submission"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "submission.to_csv('submission.csv', columns=['Schizophrenic Patient'], header=['Probability'])"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}