{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "aMe_zL012HnI",
        "outputId": "0eb5bdc4-d09b-40b0-d28c-d9b737a48edd"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Mounted at /content/gdrive\n"
          ]
        }
      ],
      "source": [
        "from google.colab import drive\n",
        "drive.mount('/content/gdrive')"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "import os\n",
        "import numpy as np\n",
        "import pandas as pd"
      ],
      "metadata": {
        "id": "ozHxW23u26ci"
      },
      "execution_count": 2,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "gdrivePath = \"gdrive\" + os.sep +\"My Drive\""
      ],
      "metadata": {
        "id": "v0zgptJ_2YzG"
      },
      "execution_count": 3,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "df = pd.read_csv(gdrivePath +os.sep+\"Stage Classification\"+os.sep+\"Data\"+os.sep+\"GSE39582.csv\",index_col=0)\n",
        "df"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 423
        },
        "id": "GKO_9_1-2cAH",
        "outputId": "a35c4bde-f540-4d2c-9cd2-d89691730f6a"
      },
      "execution_count": 5,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "               A1CF     A2ML1    A4GALT     A4GNT      AAAS     AADAC  \\\n",
              "GSM971957  6.935159  3.832424  5.950325  3.780004  7.347515  3.848048   \n",
              "GSM971958  8.719033  3.497882  5.534437  3.656013  7.448434  3.426144   \n",
              "GSM971959  7.705797  4.200883  5.614327  3.881470  7.338812  4.391516   \n",
              "GSM971960  8.252904  3.631601  5.890179  3.588931  7.943196  4.069074   \n",
              "GSM971961  6.574572  3.991029  6.037400  3.677890  7.520319  3.832033   \n",
              "...             ...       ...       ...       ...       ...       ...   \n",
              "GSM972518  7.290118  3.603484  6.005277  3.775793  7.806333  4.003707   \n",
              "GSM972519  6.958909  3.974112  6.502340  3.992922  7.557748  3.981029   \n",
              "GSM972520  8.009338  3.860253  5.873984  3.660940  7.183424  3.353288   \n",
              "GSM972521  6.880202  3.591721  5.738715  3.649808  7.224838  3.605693   \n",
              "GSM972522  7.890874  4.007331  6.094602  3.868427  7.107789  5.166036   \n",
              "\n",
              "            AADACL2     AAGAB     AAMDC      AAR2  ...    ZSCAN4    ZSCAN9  \\\n",
              "GSM971957  2.780930  7.650580  6.541870  7.838621  ...  3.222442  5.268074   \n",
              "GSM971958  2.918063  7.601983  6.235940  8.493897  ...  2.496616  5.946938   \n",
              "GSM971959  2.796331  7.945509  6.615308  7.728518  ...  2.996275  5.448344   \n",
              "GSM971960  2.712510  7.818504  7.240094  8.780262  ...  2.431753  5.839801   \n",
              "GSM971961  2.614602  7.099265  7.178486  8.140491  ...  2.787928  6.464813   \n",
              "...             ...       ...       ...       ...  ...       ...       ...   \n",
              "GSM972518  2.687393  7.353998  7.693290  8.153824  ...  2.582716  5.781091   \n",
              "GSM972519  3.168627  7.346113  6.945644  8.106474  ...  2.751841  5.317351   \n",
              "GSM972520  2.829972  8.448994  7.049769  7.747711  ...  2.690568  6.309245   \n",
              "GSM972521  2.792008  7.400811  6.956795  7.801950  ...  2.346935  6.351397   \n",
              "GSM972522  2.700024  7.680578  6.758715  7.610651  ...  2.533881  5.484789   \n",
              "\n",
              "             ZSWIM1    ZSWIM2    ZSWIM3    ZSWIM8      ZW10     ZWINT  \\\n",
              "GSM971957  6.890350  2.687239  5.268024  6.676647  7.123652  8.013837   \n",
              "GSM971958  7.216623  2.528490  5.792529  7.801334  7.647271  9.612934   \n",
              "GSM971959  6.795365  2.549684  5.021180  6.962549  7.408491  9.994756   \n",
              "GSM971960  7.646044  2.564391  6.148328  7.101090  7.746378  9.352759   \n",
              "GSM971961  6.994484  2.726280  5.839868  7.540321  7.300215  8.159303   \n",
              "...             ...       ...       ...       ...       ...       ...   \n",
              "GSM972518  6.808849  2.410328  5.745661  7.501296  7.153054  8.328268   \n",
              "GSM972519  7.369053  2.649781  5.281891  7.234355  7.336338  9.183086   \n",
              "GSM972520  6.633808  2.484117  5.313450  6.642496  7.919715  9.394715   \n",
              "GSM972521  6.732929  2.534576  5.816215  7.343846  7.389808  8.746311   \n",
              "GSM972522  6.777579  2.461259  5.086345  7.153877  7.192400  8.190224   \n",
              "\n",
              "             ZYG11A       ZYX  \n",
              "GSM971957  4.210336  8.974277  \n",
              "GSM971958  4.141746  8.589650  \n",
              "GSM971959  4.621446  8.727542  \n",
              "GSM971960  4.615633  8.696632  \n",
              "GSM971961  3.914929  9.111527  \n",
              "...             ...       ...  \n",
              "GSM972518  4.547880  9.088618  \n",
              "GSM972519  4.558069  8.639342  \n",
              "GSM972520  4.108580  8.245980  \n",
              "GSM972521  4.199033  8.986787  \n",
              "GSM972522  4.301657  8.355827  \n",
              "\n",
              "[562 rows x 9113 columns]"
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-83e1dc24-2431-4a0b-9ee4-38037ed6f2db\" class=\"colab-df-container\">\n",
              "    <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>A1CF</th>\n",
              "      <th>A2ML1</th>\n",
              "      <th>A4GALT</th>\n",
              "      <th>A4GNT</th>\n",
              "      <th>AAAS</th>\n",
              "      <th>AADAC</th>\n",
              "      <th>AADACL2</th>\n",
              "      <th>AAGAB</th>\n",
              "      <th>AAMDC</th>\n",
              "      <th>AAR2</th>\n",
              "      <th>...</th>\n",
              "      <th>ZSCAN4</th>\n",
              "      <th>ZSCAN9</th>\n",
              "      <th>ZSWIM1</th>\n",
              "      <th>ZSWIM2</th>\n",
              "      <th>ZSWIM3</th>\n",
              "      <th>ZSWIM8</th>\n",
              "      <th>ZW10</th>\n",
              "      <th>ZWINT</th>\n",
              "      <th>ZYG11A</th>\n",
              "      <th>ZYX</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>GSM971957</th>\n",
              "      <td>6.935159</td>\n",
              "      <td>3.832424</td>\n",
              "      <td>5.950325</td>\n",
              "      <td>3.780004</td>\n",
              "      <td>7.347515</td>\n",
              "      <td>3.848048</td>\n",
              "      <td>2.780930</td>\n",
              "      <td>7.650580</td>\n",
              "      <td>6.541870</td>\n",
              "      <td>7.838621</td>\n",
              "      <td>...</td>\n",
              "      <td>3.222442</td>\n",
              "      <td>5.268074</td>\n",
              "      <td>6.890350</td>\n",
              "      <td>2.687239</td>\n",
              "      <td>5.268024</td>\n",
              "      <td>6.676647</td>\n",
              "      <td>7.123652</td>\n",
              "      <td>8.013837</td>\n",
              "      <td>4.210336</td>\n",
              "      <td>8.974277</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>GSM971958</th>\n",
              "      <td>8.719033</td>\n",
              "      <td>3.497882</td>\n",
              "      <td>5.534437</td>\n",
              "      <td>3.656013</td>\n",
              "      <td>7.448434</td>\n",
              "      <td>3.426144</td>\n",
              "      <td>2.918063</td>\n",
              "      <td>7.601983</td>\n",
              "      <td>6.235940</td>\n",
              "      <td>8.493897</td>\n",
              "      <td>...</td>\n",
              "      <td>2.496616</td>\n",
              "      <td>5.946938</td>\n",
              "      <td>7.216623</td>\n",
              "      <td>2.528490</td>\n",
              "      <td>5.792529</td>\n",
              "      <td>7.801334</td>\n",
              "      <td>7.647271</td>\n",
              "      <td>9.612934</td>\n",
              "      <td>4.141746</td>\n",
              "      <td>8.589650</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>GSM971959</th>\n",
              "      <td>7.705797</td>\n",
              "      <td>4.200883</td>\n",
              "      <td>5.614327</td>\n",
              "      <td>3.881470</td>\n",
              "      <td>7.338812</td>\n",
              "      <td>4.391516</td>\n",
              "      <td>2.796331</td>\n",
              "      <td>7.945509</td>\n",
              "      <td>6.615308</td>\n",
              "      <td>7.728518</td>\n",
              "      <td>...</td>\n",
              "      <td>2.996275</td>\n",
              "      <td>5.448344</td>\n",
              "      <td>6.795365</td>\n",
              "      <td>2.549684</td>\n",
              "      <td>5.021180</td>\n",
              "      <td>6.962549</td>\n",
              "      <td>7.408491</td>\n",
              "      <td>9.994756</td>\n",
              "      <td>4.621446</td>\n",
              "      <td>8.727542</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>GSM971960</th>\n",
              "      <td>8.252904</td>\n",
              "      <td>3.631601</td>\n",
              "      <td>5.890179</td>\n",
              "      <td>3.588931</td>\n",
              "      <td>7.943196</td>\n",
              "      <td>4.069074</td>\n",
              "      <td>2.712510</td>\n",
              "      <td>7.818504</td>\n",
              "      <td>7.240094</td>\n",
              "      <td>8.780262</td>\n",
              "      <td>...</td>\n",
              "      <td>2.431753</td>\n",
              "      <td>5.839801</td>\n",
              "      <td>7.646044</td>\n",
              "      <td>2.564391</td>\n",
              "      <td>6.148328</td>\n",
              "      <td>7.101090</td>\n",
              "      <td>7.746378</td>\n",
              "      <td>9.352759</td>\n",
              "      <td>4.615633</td>\n",
              "      <td>8.696632</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>GSM971961</th>\n",
              "      <td>6.574572</td>\n",
              "      <td>3.991029</td>\n",
              "      <td>6.037400</td>\n",
              "      <td>3.677890</td>\n",
              "      <td>7.520319</td>\n",
              "      <td>3.832033</td>\n",
              "      <td>2.614602</td>\n",
              "      <td>7.099265</td>\n",
              "      <td>7.178486</td>\n",
              "      <td>8.140491</td>\n",
              "      <td>...</td>\n",
              "      <td>2.787928</td>\n",
              "      <td>6.464813</td>\n",
              "      <td>6.994484</td>\n",
              "      <td>2.726280</td>\n",
              "      <td>5.839868</td>\n",
              "      <td>7.540321</td>\n",
              "      <td>7.300215</td>\n",
              "      <td>8.159303</td>\n",
              "      <td>3.914929</td>\n",
              "      <td>9.111527</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>GSM972518</th>\n",
              "      <td>7.290118</td>\n",
              "      <td>3.603484</td>\n",
              "      <td>6.005277</td>\n",
              "      <td>3.775793</td>\n",
              "      <td>7.806333</td>\n",
              "      <td>4.003707</td>\n",
              "      <td>2.687393</td>\n",
              "      <td>7.353998</td>\n",
              "      <td>7.693290</td>\n",
              "      <td>8.153824</td>\n",
              "      <td>...</td>\n",
              "      <td>2.582716</td>\n",
              "      <td>5.781091</td>\n",
              "      <td>6.808849</td>\n",
              "      <td>2.410328</td>\n",
              "      <td>5.745661</td>\n",
              "      <td>7.501296</td>\n",
              "      <td>7.153054</td>\n",
              "      <td>8.328268</td>\n",
              "      <td>4.547880</td>\n",
              "      <td>9.088618</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>GSM972519</th>\n",
              "      <td>6.958909</td>\n",
              "      <td>3.974112</td>\n",
              "      <td>6.502340</td>\n",
              "      <td>3.992922</td>\n",
              "      <td>7.557748</td>\n",
              "      <td>3.981029</td>\n",
              "      <td>3.168627</td>\n",
              "      <td>7.346113</td>\n",
              "      <td>6.945644</td>\n",
              "      <td>8.106474</td>\n",
              "      <td>...</td>\n",
              "      <td>2.751841</td>\n",
              "      <td>5.317351</td>\n",
              "      <td>7.369053</td>\n",
              "      <td>2.649781</td>\n",
              "      <td>5.281891</td>\n",
              "      <td>7.234355</td>\n",
              "      <td>7.336338</td>\n",
              "      <td>9.183086</td>\n",
              "      <td>4.558069</td>\n",
              "      <td>8.639342</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>GSM972520</th>\n",
              "      <td>8.009338</td>\n",
              "      <td>3.860253</td>\n",
              "      <td>5.873984</td>\n",
              "      <td>3.660940</td>\n",
              "      <td>7.183424</td>\n",
              "      <td>3.353288</td>\n",
              "      <td>2.829972</td>\n",
              "      <td>8.448994</td>\n",
              "      <td>7.049769</td>\n",
              "      <td>7.747711</td>\n",
              "      <td>...</td>\n",
              "      <td>2.690568</td>\n",
              "      <td>6.309245</td>\n",
              "      <td>6.633808</td>\n",
              "      <td>2.484117</td>\n",
              "      <td>5.313450</td>\n",
              "      <td>6.642496</td>\n",
              "      <td>7.919715</td>\n",
              "      <td>9.394715</td>\n",
              "      <td>4.108580</td>\n",
              "      <td>8.245980</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>GSM972521</th>\n",
              "      <td>6.880202</td>\n",
              "      <td>3.591721</td>\n",
              "      <td>5.738715</td>\n",
              "      <td>3.649808</td>\n",
              "      <td>7.224838</td>\n",
              "      <td>3.605693</td>\n",
              "      <td>2.792008</td>\n",
              "      <td>7.400811</td>\n",
              "      <td>6.956795</td>\n",
              "      <td>7.801950</td>\n",
              "      <td>...</td>\n",
              "      <td>2.346935</td>\n",
              "      <td>6.351397</td>\n",
              "      <td>6.732929</td>\n",
              "      <td>2.534576</td>\n",
              "      <td>5.816215</td>\n",
              "      <td>7.343846</td>\n",
              "      <td>7.389808</td>\n",
              "      <td>8.746311</td>\n",
              "      <td>4.199033</td>\n",
              "      <td>8.986787</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>GSM972522</th>\n",
              "      <td>7.890874</td>\n",
              "      <td>4.007331</td>\n",
              "      <td>6.094602</td>\n",
              "      <td>3.868427</td>\n",
              "      <td>7.107789</td>\n",
              "      <td>5.166036</td>\n",
              "      <td>2.700024</td>\n",
              "      <td>7.680578</td>\n",
              "      <td>6.758715</td>\n",
              "      <td>7.610651</td>\n",
              "      <td>...</td>\n",
              "      <td>2.533881</td>\n",
              "      <td>5.484789</td>\n",
              "      <td>6.777579</td>\n",
              "      <td>2.461259</td>\n",
              "      <td>5.086345</td>\n",
              "      <td>7.153877</td>\n",
              "      <td>7.192400</td>\n",
              "      <td>8.190224</td>\n",
              "      <td>4.301657</td>\n",
              "      <td>8.355827</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>562 rows × 9113 columns</p>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-83e1dc24-2431-4a0b-9ee4-38037ed6f2db')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-83e1dc24-2431-4a0b-9ee4-38037ed6f2db button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-83e1dc24-2431-4a0b-9ee4-38037ed6f2db');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "    <div id=\"df-18837053-dfd0-41eb-a87a-6b183b4f25f0\">\n",
              "      <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-18837053-dfd0-41eb-a87a-6b183b4f25f0')\"\n",
              "                title=\"Suggest charts\"\n",
              "                style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "      </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "      <script>\n",
              "        async function quickchart(key) {\n",
              "          const quickchartButtonEl =\n",
              "            document.querySelector('#' + key + ' button');\n",
              "          quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "          quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "          try {\n",
              "            const charts = await google.colab.kernel.invokeFunction(\n",
              "                'suggestCharts', [key], {});\n",
              "          } catch (error) {\n",
              "            console.error('Error during call to suggestCharts:', error);\n",
              "          }\n",
              "          quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "          quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "        }\n",
              "        (() => {\n",
              "          let quickchartButtonEl =\n",
              "            document.querySelector('#df-18837053-dfd0-41eb-a87a-6b183b4f25f0 button');\n",
              "          quickchartButtonEl.style.display =\n",
              "            google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "        })();\n",
              "      </script>\n",
              "    </div>\n",
              "\n",
              "  <div id=\"id_53fffc6b-0c01-401e-af4b-4f9b4844e608\">\n",
              "    <style>\n",
              "      .colab-df-generate {\n",
              "        background-color: #E8F0FE;\n",
              "        border: none;\n",
              "        border-radius: 50%;\n",
              "        cursor: pointer;\n",
              "        display: none;\n",
              "        fill: #1967D2;\n",
              "        height: 32px;\n",
              "        padding: 0 0 0 0;\n",
              "        width: 32px;\n",
              "      }\n",
              "\n",
              "      .colab-df-generate:hover {\n",
              "        background-color: #E2EBFA;\n",
              "        box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "        fill: #174EA6;\n",
              "      }\n",
              "\n",
              "      [theme=dark] .colab-df-generate {\n",
              "        background-color: #3B4455;\n",
              "        fill: #D2E3FC;\n",
              "      }\n",
              "\n",
              "      [theme=dark] .colab-df-generate:hover {\n",
              "        background-color: #434B5C;\n",
              "        box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "        filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "        fill: #FFFFFF;\n",
              "      }\n",
              "    </style>\n",
              "    <button class=\"colab-df-generate\" onclick=\"generateWithVariable('df')\"\n",
              "            title=\"Generate code using this dataframe.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "       width=\"24px\">\n",
              "    <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "    <script>\n",
              "      (() => {\n",
              "      const buttonEl =\n",
              "        document.querySelector('#id_53fffc6b-0c01-401e-af4b-4f9b4844e608 button.colab-df-generate');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      buttonEl.onclick = () => {\n",
              "        google.colab.notebook.generateWithVariable('df');\n",
              "      }\n",
              "      })();\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "df"
            }
          },
          "metadata": {},
          "execution_count": 5
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "df.describe()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 349
        },
        "id": "gNjyBb37hNwb",
        "outputId": "46d52108-63b8-4a6e-f9f7-0d8e8a6859c1"
      },
      "execution_count": 6,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "             A1CF       A2ML1      A4GALT       A4GNT        AAAS       AADAC  \\\n",
              "count  562.000000  562.000000  562.000000  562.000000  562.000000  562.000000   \n",
              "mean     7.659215    3.879307    6.072013    3.841741    7.446089    4.244672   \n",
              "std      1.055750    0.210611    0.313534    0.197596    0.309356    0.761433   \n",
              "min      3.823583    3.350959    5.270834    3.342102    6.615665    3.298955   \n",
              "25%      7.123437    3.730107    5.871037    3.708072    7.235676    3.843011   \n",
              "50%      7.872923    3.865706    6.040258    3.821201    7.430786    4.040076   \n",
              "75%      8.368075    4.009595    6.294661    3.967557    7.666336    4.363846   \n",
              "max     11.985992    4.744709    7.058635    4.647787    8.302094   11.010561   \n",
              "\n",
              "          AADACL2       AAGAB       AAMDC        AAR2  ...      ZSCAN4  \\\n",
              "count  562.000000  562.000000  562.000000  562.000000  ...  562.000000   \n",
              "mean     2.848441    7.662646    7.044993    8.127880  ...    2.719135   \n",
              "std      0.158961    0.486226    0.412604    0.429815  ...    0.164066   \n",
              "min      2.489849    5.685426    5.611597    7.006244  ...    2.330319   \n",
              "25%      2.739401    7.354655    6.783862    7.807455  ...    2.619379   \n",
              "50%      2.829843    7.697786    7.058561    8.122167  ...    2.708753   \n",
              "75%      2.932611    7.986276    7.318334    8.429601  ...    2.800766   \n",
              "max      3.472873    9.101513    8.562963    9.321532  ...    3.780872   \n",
              "\n",
              "           ZSCAN9      ZSWIM1      ZSWIM2      ZSWIM3      ZSWIM8        ZW10  \\\n",
              "count  562.000000  562.000000  562.000000  562.000000  562.000000  562.000000   \n",
              "mean     5.733846    6.929641    2.619181    5.656515    7.074357    7.452854   \n",
              "std      0.400471    0.295258    0.144896    0.437683    0.426291    0.414894   \n",
              "min      4.679992    6.185012    2.174911    4.515851    5.920371    6.044365   \n",
              "25%      5.483075    6.725019    2.519430    5.321471    6.775212    7.186105   \n",
              "50%      5.735518    6.908330    2.612240    5.655974    7.036815    7.443099   \n",
              "75%      6.005367    7.131154    2.711833    5.939294    7.342862    7.746664   \n",
              "max      7.100360    7.975466    3.207700    6.917883    8.491370    8.868562   \n",
              "\n",
              "            ZWINT      ZYG11A         ZYX  \n",
              "count  562.000000  562.000000  562.000000  \n",
              "mean     9.222865    4.383849    8.456547  \n",
              "std      0.617245    0.238436    0.580044  \n",
              "min      6.317075    3.628322    6.756072  \n",
              "25%      8.906375    4.217361    8.047312  \n",
              "50%      9.329081    4.374580    8.421318  \n",
              "75%      9.635435    4.533303    8.815301  \n",
              "max     10.775619    5.616462   10.652311  \n",
              "\n",
              "[8 rows x 9113 columns]"
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-df9f878e-df3f-45f3-ade9-61631ab30884\" class=\"colab-df-container\">\n",
              "    <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>A1CF</th>\n",
              "      <th>A2ML1</th>\n",
              "      <th>A4GALT</th>\n",
              "      <th>A4GNT</th>\n",
              "      <th>AAAS</th>\n",
              "      <th>AADAC</th>\n",
              "      <th>AADACL2</th>\n",
              "      <th>AAGAB</th>\n",
              "      <th>AAMDC</th>\n",
              "      <th>AAR2</th>\n",
              "      <th>...</th>\n",
              "      <th>ZSCAN4</th>\n",
              "      <th>ZSCAN9</th>\n",
              "      <th>ZSWIM1</th>\n",
              "      <th>ZSWIM2</th>\n",
              "      <th>ZSWIM3</th>\n",
              "      <th>ZSWIM8</th>\n",
              "      <th>ZW10</th>\n",
              "      <th>ZWINT</th>\n",
              "      <th>ZYG11A</th>\n",
              "      <th>ZYX</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>count</th>\n",
              "      <td>562.000000</td>\n",
              "      <td>562.000000</td>\n",
              "      <td>562.000000</td>\n",
              "      <td>562.000000</td>\n",
              "      <td>562.000000</td>\n",
              "      <td>562.000000</td>\n",
              "      <td>562.000000</td>\n",
              "      <td>562.000000</td>\n",
              "      <td>562.000000</td>\n",
              "      <td>562.000000</td>\n",
              "      <td>...</td>\n",
              "      <td>562.000000</td>\n",
              "      <td>562.000000</td>\n",
              "      <td>562.000000</td>\n",
              "      <td>562.000000</td>\n",
              "      <td>562.000000</td>\n",
              "      <td>562.000000</td>\n",
              "      <td>562.000000</td>\n",
              "      <td>562.000000</td>\n",
              "      <td>562.000000</td>\n",
              "      <td>562.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>mean</th>\n",
              "      <td>7.659215</td>\n",
              "      <td>3.879307</td>\n",
              "      <td>6.072013</td>\n",
              "      <td>3.841741</td>\n",
              "      <td>7.446089</td>\n",
              "      <td>4.244672</td>\n",
              "      <td>2.848441</td>\n",
              "      <td>7.662646</td>\n",
              "      <td>7.044993</td>\n",
              "      <td>8.127880</td>\n",
              "      <td>...</td>\n",
              "      <td>2.719135</td>\n",
              "      <td>5.733846</td>\n",
              "      <td>6.929641</td>\n",
              "      <td>2.619181</td>\n",
              "      <td>5.656515</td>\n",
              "      <td>7.074357</td>\n",
              "      <td>7.452854</td>\n",
              "      <td>9.222865</td>\n",
              "      <td>4.383849</td>\n",
              "      <td>8.456547</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>std</th>\n",
              "      <td>1.055750</td>\n",
              "      <td>0.210611</td>\n",
              "      <td>0.313534</td>\n",
              "      <td>0.197596</td>\n",
              "      <td>0.309356</td>\n",
              "      <td>0.761433</td>\n",
              "      <td>0.158961</td>\n",
              "      <td>0.486226</td>\n",
              "      <td>0.412604</td>\n",
              "      <td>0.429815</td>\n",
              "      <td>...</td>\n",
              "      <td>0.164066</td>\n",
              "      <td>0.400471</td>\n",
              "      <td>0.295258</td>\n",
              "      <td>0.144896</td>\n",
              "      <td>0.437683</td>\n",
              "      <td>0.426291</td>\n",
              "      <td>0.414894</td>\n",
              "      <td>0.617245</td>\n",
              "      <td>0.238436</td>\n",
              "      <td>0.580044</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>min</th>\n",
              "      <td>3.823583</td>\n",
              "      <td>3.350959</td>\n",
              "      <td>5.270834</td>\n",
              "      <td>3.342102</td>\n",
              "      <td>6.615665</td>\n",
              "      <td>3.298955</td>\n",
              "      <td>2.489849</td>\n",
              "      <td>5.685426</td>\n",
              "      <td>5.611597</td>\n",
              "      <td>7.006244</td>\n",
              "      <td>...</td>\n",
              "      <td>2.330319</td>\n",
              "      <td>4.679992</td>\n",
              "      <td>6.185012</td>\n",
              "      <td>2.174911</td>\n",
              "      <td>4.515851</td>\n",
              "      <td>5.920371</td>\n",
              "      <td>6.044365</td>\n",
              "      <td>6.317075</td>\n",
              "      <td>3.628322</td>\n",
              "      <td>6.756072</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25%</th>\n",
              "      <td>7.123437</td>\n",
              "      <td>3.730107</td>\n",
              "      <td>5.871037</td>\n",
              "      <td>3.708072</td>\n",
              "      <td>7.235676</td>\n",
              "      <td>3.843011</td>\n",
              "      <td>2.739401</td>\n",
              "      <td>7.354655</td>\n",
              "      <td>6.783862</td>\n",
              "      <td>7.807455</td>\n",
              "      <td>...</td>\n",
              "      <td>2.619379</td>\n",
              "      <td>5.483075</td>\n",
              "      <td>6.725019</td>\n",
              "      <td>2.519430</td>\n",
              "      <td>5.321471</td>\n",
              "      <td>6.775212</td>\n",
              "      <td>7.186105</td>\n",
              "      <td>8.906375</td>\n",
              "      <td>4.217361</td>\n",
              "      <td>8.047312</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>50%</th>\n",
              "      <td>7.872923</td>\n",
              "      <td>3.865706</td>\n",
              "      <td>6.040258</td>\n",
              "      <td>3.821201</td>\n",
              "      <td>7.430786</td>\n",
              "      <td>4.040076</td>\n",
              "      <td>2.829843</td>\n",
              "      <td>7.697786</td>\n",
              "      <td>7.058561</td>\n",
              "      <td>8.122167</td>\n",
              "      <td>...</td>\n",
              "      <td>2.708753</td>\n",
              "      <td>5.735518</td>\n",
              "      <td>6.908330</td>\n",
              "      <td>2.612240</td>\n",
              "      <td>5.655974</td>\n",
              "      <td>7.036815</td>\n",
              "      <td>7.443099</td>\n",
              "      <td>9.329081</td>\n",
              "      <td>4.374580</td>\n",
              "      <td>8.421318</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>75%</th>\n",
              "      <td>8.368075</td>\n",
              "      <td>4.009595</td>\n",
              "      <td>6.294661</td>\n",
              "      <td>3.967557</td>\n",
              "      <td>7.666336</td>\n",
              "      <td>4.363846</td>\n",
              "      <td>2.932611</td>\n",
              "      <td>7.986276</td>\n",
              "      <td>7.318334</td>\n",
              "      <td>8.429601</td>\n",
              "      <td>...</td>\n",
              "      <td>2.800766</td>\n",
              "      <td>6.005367</td>\n",
              "      <td>7.131154</td>\n",
              "      <td>2.711833</td>\n",
              "      <td>5.939294</td>\n",
              "      <td>7.342862</td>\n",
              "      <td>7.746664</td>\n",
              "      <td>9.635435</td>\n",
              "      <td>4.533303</td>\n",
              "      <td>8.815301</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>max</th>\n",
              "      <td>11.985992</td>\n",
              "      <td>4.744709</td>\n",
              "      <td>7.058635</td>\n",
              "      <td>4.647787</td>\n",
              "      <td>8.302094</td>\n",
              "      <td>11.010561</td>\n",
              "      <td>3.472873</td>\n",
              "      <td>9.101513</td>\n",
              "      <td>8.562963</td>\n",
              "      <td>9.321532</td>\n",
              "      <td>...</td>\n",
              "      <td>3.780872</td>\n",
              "      <td>7.100360</td>\n",
              "      <td>7.975466</td>\n",
              "      <td>3.207700</td>\n",
              "      <td>6.917883</td>\n",
              "      <td>8.491370</td>\n",
              "      <td>8.868562</td>\n",
              "      <td>10.775619</td>\n",
              "      <td>5.616462</td>\n",
              "      <td>10.652311</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>8 rows × 9113 columns</p>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-df9f878e-df3f-45f3-ade9-61631ab30884')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-df9f878e-df3f-45f3-ade9-61631ab30884 button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-df9f878e-df3f-45f3-ade9-61631ab30884');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "    <div id=\"df-49c88009-3c8b-4a2b-ac68-81b54804b498\">\n",
              "      <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-49c88009-3c8b-4a2b-ac68-81b54804b498')\"\n",
              "                title=\"Suggest charts\"\n",
              "                style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "      </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "      <script>\n",
              "        async function quickchart(key) {\n",
              "          const quickchartButtonEl =\n",
              "            document.querySelector('#' + key + ' button');\n",
              "          quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "          quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "          try {\n",
              "            const charts = await google.colab.kernel.invokeFunction(\n",
              "                'suggestCharts', [key], {});\n",
              "          } catch (error) {\n",
              "            console.error('Error during call to suggestCharts:', error);\n",
              "          }\n",
              "          quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "          quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "        }\n",
              "        (() => {\n",
              "          let quickchartButtonEl =\n",
              "            document.querySelector('#df-49c88009-3c8b-4a2b-ac68-81b54804b498 button');\n",
              "          quickchartButtonEl.style.display =\n",
              "            google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "        })();\n",
              "      </script>\n",
              "    </div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe"
            }
          },
          "metadata": {},
          "execution_count": 6
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "df_label = pd.read_csv(gdrivePath +os.sep+\"Stage Classification\"+os.sep+\"Data\"+os.sep+\"GSE39582_label.csv\")\n",
        "df_label"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 423
        },
        "id": "riNhzbg05Pmd",
        "outputId": "d2f7a45c-685a-4f02-b575-c987478975c4"
      },
      "execution_count": 7,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "     Label\n",
              "0        4\n",
              "1        4\n",
              "2        2\n",
              "3        1\n",
              "4        4\n",
              "..     ...\n",
              "557      3\n",
              "558      2\n",
              "559      3\n",
              "560      2\n",
              "561      2\n",
              "\n",
              "[562 rows x 1 columns]"
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-96592d37-132e-445d-b849-4c3015a6f29b\" class=\"colab-df-container\">\n",
              "    <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>Label</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>4</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>4</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>4</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>...</th>\n",
              "      <td>...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>557</th>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>558</th>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>559</th>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>560</th>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>561</th>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>562 rows × 1 columns</p>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-96592d37-132e-445d-b849-4c3015a6f29b')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-96592d37-132e-445d-b849-4c3015a6f29b button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-96592d37-132e-445d-b849-4c3015a6f29b');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "    <div id=\"df-ee66a605-3369-423f-806a-f0d8dfc668e7\">\n",
              "      <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-ee66a605-3369-423f-806a-f0d8dfc668e7')\"\n",
              "                title=\"Suggest charts\"\n",
              "                style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "      </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "      <script>\n",
              "        async function quickchart(key) {\n",
              "          const quickchartButtonEl =\n",
              "            document.querySelector('#' + key + ' button');\n",
              "          quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "          quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "          try {\n",
              "            const charts = await google.colab.kernel.invokeFunction(\n",
              "                'suggestCharts', [key], {});\n",
              "          } catch (error) {\n",
              "            console.error('Error during call to suggestCharts:', error);\n",
              "          }\n",
              "          quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "          quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "        }\n",
              "        (() => {\n",
              "          let quickchartButtonEl =\n",
              "            document.querySelector('#df-ee66a605-3369-423f-806a-f0d8dfc668e7 button');\n",
              "          quickchartButtonEl.style.display =\n",
              "            google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "        })();\n",
              "      </script>\n",
              "    </div>\n",
              "\n",
              "  <div id=\"id_c3428682-a66a-4266-8911-3a6ce7276b30\">\n",
              "    <style>\n",
              "      .colab-df-generate {\n",
              "        background-color: #E8F0FE;\n",
              "        border: none;\n",
              "        border-radius: 50%;\n",
              "        cursor: pointer;\n",
              "        display: none;\n",
              "        fill: #1967D2;\n",
              "        height: 32px;\n",
              "        padding: 0 0 0 0;\n",
              "        width: 32px;\n",
              "      }\n",
              "\n",
              "      .colab-df-generate:hover {\n",
              "        background-color: #E2EBFA;\n",
              "        box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "        fill: #174EA6;\n",
              "      }\n",
              "\n",
              "      [theme=dark] .colab-df-generate {\n",
              "        background-color: #3B4455;\n",
              "        fill: #D2E3FC;\n",
              "      }\n",
              "\n",
              "      [theme=dark] .colab-df-generate:hover {\n",
              "        background-color: #434B5C;\n",
              "        box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "        filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "        fill: #FFFFFF;\n",
              "      }\n",
              "    </style>\n",
              "    <button class=\"colab-df-generate\" onclick=\"generateWithVariable('df_label')\"\n",
              "            title=\"Generate code using this dataframe.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "       width=\"24px\">\n",
              "    <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "    <script>\n",
              "      (() => {\n",
              "      const buttonEl =\n",
              "        document.querySelector('#id_c3428682-a66a-4266-8911-3a6ce7276b30 button.colab-df-generate');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      buttonEl.onclick = () => {\n",
              "        google.colab.notebook.generateWithVariable('df_label');\n",
              "      }\n",
              "      })();\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "df_label",
              "summary": "{\n  \"name\": \"df_label\",\n  \"rows\": 562,\n  \"fields\": [\n    {\n      \"column\": \"Label\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0,\n        \"min\": 1,\n        \"max\": 4,\n        \"num_unique_values\": 4,\n        \"samples\": [\n          2,\n          3,\n          4\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 7
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "df_label.value_counts()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 241
        },
        "id": "6Koj1NYg6vYB",
        "outputId": "a30fb619-41a2-4660-96df-06cf655654f3"
      },
      "execution_count": 8,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Label\n",
              "2        264\n",
              "3        205\n",
              "4         60\n",
              "1         33\n",
              "Name: count, dtype: int64"
            ],
            "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>count</th>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>Label</th>\n",
              "      <th></th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>264</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>205</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>60</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>33</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div><br><label><b>dtype:</b> int64</label>"
            ]
          },
          "metadata": {},
          "execution_count": 8
        }
      ]
    },
    {
      "source": [
        "from matplotlib import pyplot as plt\n",
        "import seaborn as sns\n",
        "\n",
        "plt.figure(figsize=(10, 6))\n",
        "sns.histplot(data=df_label, x='Label')\n",
        "plt.title('Distribution of Labels')\n",
        "plt.xlabel('Class')\n",
        "plt.ylabel('Frequency')\n",
        "plt.show()"
      ],
      "cell_type": "code",
      "execution_count": 9,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ],
            "image/png": "[encoded data, 20696 characters]\n"
          },
          "metadata": {}
        }
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 564
        },
        "id": "drL6iI3v6U4G",
        "outputId": "37da390a-8b65-4792-83d6-0840d32f8465"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "Train-test Splitting"
      ],
      "metadata": {
        "id": "ThR81f3hmOsY"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "from sklearn.model_selection import train_test_split\n",
        "\n",
        "X_train, X_test, y_train, y_test = train_test_split(df, df_label, test_size=0.2, random_state=0, stratify = df_label)"
      ],
      "metadata": {
        "id": "aeUPeD6b5zj2"
      },
      "execution_count": 10,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "print(\"X_train:\", X_train.shape, \"X_test\", X_test.shape)\n",
        "print(\"y_train:\", y_train.shape, \"y_test\", y_test.shape)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "ZrWoem0X5P4p",
        "outputId": "9adfd3a0-8c23-447f-9fe3-943cecf0280a"
      },
      "execution_count": 11,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "X_train: (449, 9113) X_test (113, 9113)\n",
            "y_train: (449, 1) y_test (113, 1)\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "SVM"
      ],
      "metadata": {
        "id": "g_dH6d65mNTN"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "from sklearn import svm\n",
        "\n",
        "svm.SVC?"
      ],
      "metadata": {
        "id": "eDc4uWjYS2_1"
      },
      "execution_count": 12,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "from sklearn import svm\n",
        "\n",
        "clf = svm.SVC(kernel=\"linear\")\n",
        "\n",
        "#Train the model using the training sets\n",
        "clf.fit(X_train, y_train)\n",
        "\n",
        "#Predict the response for test dataset\n",
        "y_pred = clf.predict(X_test)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "deux6yr45QUN",
        "outputId": "393fdf41-f9f4-4148-96be-1b0d89b95a0c"
      },
      "execution_count": 13,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py:1408: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
            "  y = column_or_1d(y, warn=True)\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "from sklearn import metrics\n",
        "\n",
        "print(\"Accuracy:\",metrics.accuracy_score(y_test, y_pred))\n",
        "print(\"Macro Precision:\",metrics.precision_score(y_test, y_pred,average='macro'))\n",
        "print(\"Macro Recall:\",metrics.recall_score(y_test, y_pred,average='macro'))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "L4f44Eil9ND7",
        "outputId": "269d8e34-21ab-4bdc-bd28-66fcc6449b2b"
      },
      "execution_count": 14,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Accuracy: 0.4336283185840708\n",
            "Macro Precision: 0.2836309523809524\n",
            "Macro Recall: 0.2854540573707624\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "target_names = ['Stage-1', 'Stage-2', 'Stage-3','Stage-4' ]"
      ],
      "metadata": {
        "id": "XwdQzNLpCRTZ"
      },
      "execution_count": 17,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "from sklearn.metrics import classification_report\n",
        "print(classification_report(y_test, y_pred, target_names=target_names))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 304
        },
        "id": "fgrqFTLFVbRo",
        "outputId": "cad47122-bda4-454c-f988-d8edebf26ae5"
      },
      "execution_count": 18,
      "outputs": [
        {
          "output_type": "error",
          "ename": "ValueError",
          "evalue": "Number of classes, 2, does not match size of target_names, 4. Try specifying the labels parameter",
          "traceback": [
            "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
            "\u001b[0;31mValueError\u001b[0m                                Traceback (most recent call last)",
            "\u001b[0;32m<ipython-input-18-81a528ddee86>\u001b[0m in \u001b[0;36m<cell line: 0>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0msklearn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmetrics\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mclassification_report\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mclassification_report\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0my_test\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_pred\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtarget_names\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtarget_names\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
            "\u001b[0;32m/usr/local/lib/python3.11/dist-packages/sklearn/utils/_param_validation.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m    214\u001b[0m                     )\n\u001b[1;32m    215\u001b[0m                 ):\n\u001b[0;32m--> 216\u001b[0;31m                     \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    217\u001b[0m             \u001b[0;32mexcept\u001b[0m \u001b[0mInvalidParameterError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    218\u001b[0m                 \u001b[0;31m# When the function is just a wrapper around an estimator, we allow\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
            "\u001b[0;32m/usr/local/lib/python3.11/dist-packages/sklearn/metrics/_classification.py\u001b[0m in \u001b[0;36mclassification_report\u001b[0;34m(y_true, y_pred, labels, target_names, sample_weight, digits, output_dict, zero_division)\u001b[0m\n\u001b[1;32m   2691\u001b[0m             )\n\u001b[1;32m   2692\u001b[0m         \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2693\u001b[0;31m             raise ValueError(\n\u001b[0m\u001b[1;32m   2694\u001b[0m                 \u001b[0;34m\"Number of classes, {0}, does not match size of \"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   2695\u001b[0m                 \u001b[0;34m\"target_names, {1}. Try specifying the labels \"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
            "\u001b[0;31mValueError\u001b[0m: Number of classes, 2, does not match size of target_names, 4. Try specifying the labels parameter"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Binary Classification"
      ],
      "metadata": {
        "id": "6PoQl0DGlRf0"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "df_label.loc[df_label[\"Label\"] == 2, \"Label\"] = 1 #Early Stage\n",
        "df_label.loc[df_label[\"Label\"] == 3, \"Label\"] = 2 #Late Stage\n",
        "df_label.loc[df_label[\"Label\"] == 4, \"Label\"] = 2 #Late Stage\n",
        "df_label.value_counts()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 178
        },
        "id": "8D9hxaqVWlq0",
        "outputId": "86182b0e-2b08-4388-b9b4-3b2acba0f01a"
      },
      "execution_count": 15,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Label\n",
              "1        297\n",
              "2        265\n",
              "Name: count, dtype: int64"
            ],
            "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>count</th>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>Label</th>\n",
              "      <th></th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>297</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>265</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div><br><label><b>dtype:</b> int64</label>"
            ]
          },
          "metadata": {},
          "execution_count": 15
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "from sklearn.metrics import classification_report\n",
        "#Train-test split\n",
        "X_train, X_test, y_train, y_test = train_test_split(df, df_label, test_size=0.2, random_state=0, stratify = df_label)\n",
        "\n",
        "#Classification\n",
        "clf = svm.SVC(kernel=\"linear\")\n",
        "\n",
        "#Train the model using the training sets\n",
        "clf.fit(X_train, y_train)\n",
        "\n",
        "#Predict the response for test dataset\n",
        "y_pred = clf.predict(X_test)\n",
        "\n",
        "#Evaluation\n",
        "print(classification_report(y_test, y_pred, target_names=['Early Stage','Late Stage']))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "ecgcl4THkwbu",
        "outputId": "9cabc479-abea-44ca-908c-879ffaf71e35"
      },
      "execution_count": 19,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py:1408: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
            "  y = column_or_1d(y, warn=True)\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "              precision    recall  f1-score   support\n",
            "\n",
            " Early Stage       0.59      0.55      0.57        60\n",
            "  Late Stage       0.53      0.57      0.55        53\n",
            "\n",
            "    accuracy                           0.56       113\n",
            "   macro avg       0.56      0.56      0.56       113\n",
            "weighted avg       0.56      0.56      0.56       113\n",
            "\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Decision Tree"
      ],
      "metadata": {
        "id": "4qNQy-dYmKXM"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "from sklearn.tree import DecisionTreeClassifier\n",
        "# Create Decision Tree classifer object\n",
        "clf = DecisionTreeClassifier()\n",
        "\n",
        "# Train Decision Tree Classifer\n",
        "clf.fit(X_train,y_train)\n",
        "\n",
        "#Predict the response for test dataset\n",
        "y_pred = clf.predict(X_test)\n",
        "\n",
        "#Evaluation\n",
        "print(classification_report(y_test, y_pred, target_names=['Early Stage','Late Stage']))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "d1Tm1wMilhnO",
        "outputId": "f95be01c-3288-475e-cca0-5a5dfca3d8a8"
      },
      "execution_count": 20,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "              precision    recall  f1-score   support\n",
            "\n",
            " Early Stage       0.67      0.63      0.65        60\n",
            "  Late Stage       0.61      0.64      0.62        53\n",
            "\n",
            "    accuracy                           0.64       113\n",
            "   macro avg       0.64      0.64      0.64       113\n",
            "weighted avg       0.64      0.64      0.64       113\n",
            "\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "K-Fold Cross Validation"
      ],
      "metadata": {
        "id": "gf5zFKOPrDYh"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "from sklearn.model_selection import cross_val_score\n",
        "\n",
        "scores = cross_val_score(clf, X_train, y_train, cv=10)\n",
        "print(\"%0.2f accuracy with a standard deviation of %0.2f\" % (scores.mean(), scores.std()))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "Lxs91sDMrC_R",
        "outputId": "21e6ad0d-ebb0-458b-ad83-0be49b9fb59b"
      },
      "execution_count": 21,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "0.53 accuracy with a standard deviation of 0.05\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Hyperparameter Optimization"
      ],
      "metadata": {
        "id": "my1l-jdympE8"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "\n",
        "\n",
        "1.   Prioritize those parameters which have the most effect on our model.\n",
        "2.   Set various values to these parameters and store them in a dictionary as shown below.\n",
        "3.   Create an object of the GridSearchCV class and assign the parameters to it.\n",
        "4.   Fit the training set in the object.\n",
        "5.   We will get the best parameters from the bestestimator property of the object.\n",
        "6.   Use this object to fit training set to your classifier.\n",
        "\n",
        "\n",
        "\n",
        "\n",
        "\n",
        "\n",
        "\n",
        "\n",
        "\n"
      ],
      "metadata": {
        "id": "5YUMJrNHm7fV"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "from sklearn.model_selection import GridSearchCV\n",
        "from sklearn import svm\n",
        "\n",
        "# Hyperparameter Optimization\n",
        "parameters = {'kernel':('linear', 'rbf'), 'C':[1, 10]}\n",
        "\n",
        "svc = svm.SVC()\n",
        "\n",
        "# Run the grid search\n",
        "grid_obj = GridSearchCV(svc, parameters, cv=5)\n",
        "grid_obj = grid_obj.fit(X_train, y_train)\n",
        "\n",
        "# show best parameter configuration found for classifier\n",
        "best_parameters = grid_obj.best_params_\n",
        "print(best_parameters)\n",
        "\n",
        "# Set the clf to the best combination of parameters\n",
        "best_clf = grid_obj.best_estimator_\n",
        "\n",
        "y_pred = best_clf.predict(X_test)\n",
        "\n",
        "print(classification_report(y_test, y_pred, target_names=['Early Stage','Late Stage']))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "pBfGEOfrmbaM",
        "outputId": "4825c67f-692c-4138-94dd-ed00a3acc7bc"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py:1408: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
            "  y = column_or_1d(y, warn=True)\n",
            "/usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py:1408: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
            "  y = column_or_1d(y, warn=True)\n",
            "/usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py:1408: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
            "  y = column_or_1d(y, warn=True)\n",
            "/usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py:1408: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
            "  y = column_or_1d(y, warn=True)\n",
            "/usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py:1408: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
            "  y = column_or_1d(y, warn=True)\n",
            "/usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py:1408: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
            "  y = column_or_1d(y, warn=True)\n",
            "/usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py:1408: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
            "  y = column_or_1d(y, warn=True)\n",
            "/usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py:1408: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
            "  y = column_or_1d(y, warn=True)\n",
            "/usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py:1408: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
            "  y = column_or_1d(y, warn=True)\n",
            "/usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py:1408: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
            "  y = column_or_1d(y, warn=True)\n",
            "/usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py:1408: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
            "  y = column_or_1d(y, warn=True)\n",
            "/usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py:1408: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
            "  y = column_or_1d(y, warn=True)\n",
            "/usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py:1408: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
            "  y = column_or_1d(y, warn=True)\n",
            "/usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py:1408: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
            "  y = column_or_1d(y, warn=True)\n",
            "/usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py:1408: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
            "  y = column_or_1d(y, warn=True)\n",
            "/usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py:1408: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
            "  y = column_or_1d(y, warn=True)\n",
            "/usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py:1408: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
            "  y = column_or_1d(y, warn=True)\n",
            "/usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py:1408: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
            "  y = column_or_1d(y, warn=True)\n",
            "/usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py:1408: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
            "  y = column_or_1d(y, warn=True)\n",
            "/usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py:1408: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
            "  y = column_or_1d(y, warn=True)\n",
            "/usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py:1408: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
            "  y = column_or_1d(y, warn=True)\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "{'C': 10, 'kernel': 'rbf'}\n",
            "              precision    recall  f1-score   support\n",
            "\n",
            " Early Stage       0.62      0.67      0.64        60\n",
            "  Late Stage       0.58      0.53      0.55        53\n",
            "\n",
            "    accuracy                           0.60       113\n",
            "   macro avg       0.60      0.60      0.60       113\n",
            "weighted avg       0.60      0.60      0.60       113\n",
            "\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Confusion Matrix"
      ],
      "metadata": {
        "id": "Tultc8EQumsf"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay\n",
        "\n",
        "cm = confusion_matrix(y_test, y_pred, labels=best_clf.classes_)\n",
        "disp = ConfusionMatrixDisplay(confusion_matrix=cm, display_labels=best_clf.classes_)\n",
        "plt = disp.plot()\n",
        "plt"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 472
        },
        "id": "la-lZ8m7wCDB",
        "outputId": "a2b5fc70-1143-4566-e9e3-28c07d97a50f"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<sklearn.metrics._plot.confusion_matrix.ConfusionMatrixDisplay at 0x7d6c89ee7150>"
            ]
          },
          "metadata": {},
          "execution_count": 32
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 640x480 with 2 Axes>"
            ],
            "image/png": "[encoded data, 21548 characters]\n"
          },
          "metadata": {}
        }
      ]
    }
  ]
}