{
  "cells": [
    {
      "cell_type": "markdown",
      "id": "53ef867e-3e0b-4683-b472-145471fe2097",
      "metadata": {
        "id": "53ef867e-3e0b-4683-b472-145471fe2097"
      },
      "source": [
        "<div style=\"color:blue\">\n",
        "    \n",
        "# **General Instructions for the ML Coding Problems**\n",
        "\n",
        "Please follow these instructions carefully to ensure a smooth evaluation process.\n",
        "\n",
        "## **1. Notebook Submission**\n",
        "- You **must** make a copy of this notebook and append your **full name** to the filename before submitting (e.g., `[OriginalNotebookName]_[YourName].ipynb`).\n",
        "- Share  your notebook copy with inaio@acmindia.org [This is for your own safety so that you do not accidentally lose any changes while editing the notebook]\n",
        "- After solving the questions, ensure you mention the correct URL of your  modified notebook in the test form\n",
        "- Also answer questions on external resources used and link to LLM chats used for each problem in the main test form\n",
        "\n",
        "## **2. Attempting the Questions**\n",
        "- Carefully **read each problem statement** before attempting.\n",
        "- **Attempt all parts** of each question.\n",
        "- Each question is organized into the following parts\n",
        "   - **DATA**, **TASK**, **HELPER CODE [Optional]** and **ANSWER**\n",
        "- **Follow the function signatures** provided. Do not modify them.\n",
        "- You only need to edit the cells in the **ANSWER** sections\n",
        "- If required, you may also add other modules under **IMPORTS** and **INSTALLATION INSTRUCTIONS**\n",
        "- Do not edit the other cells, especially those marked with **DO NOT MODIFY** which are meant for evaluation\n",
        "- You may add new cells to the notebook with extra code as desired\n",
        "  \n",
        "\n",
        "## **3. Scoring Criteria**\n",
        "Your score will be based on the following factors with distribution varying across each problem.\n",
        "- **Soundness & Creativity** of your approach.  \n",
        "  - Include a clear description and rationale of your solution methodology in the notebook (in markdown cells)\n",
        "  - Solutions that showcase your understanding of data and ML will garner more points\n",
        "- **Code Implementation & Readability**\n",
        "  - Ensure your implementation is correct and works\n",
        "  - Incomplete non-working code will be awarded  partial marks based on problem-wise rubric\n",
        "  - In case you have a solution but are unsure about some aspect, you can define a function that solves that aspect and present the rest of the solution\n",
        "  - Use comments to explain important parts of your code.\n",
        "- **Performance of Your Model**:\n",
        "  - Each task will be assessed based on specified performance metrics both on shared datasets and secret datasets\n",
        "  - Different performance ranges will receive different scores.\n",
        "  - Secret datasets used for last section will be shared along with the final results\n",
        "\n",
        "**Points associated with cells are marked at the beginning of the cell**\n",
        "    \n",
        "## **4. Dataset Usage**\n",
        "- **Only use the datasets provided** in this test.\n",
        "- Do **not** use the provided test data set for training.\n",
        "- Do **not** use external datasets for training or testing.\n",
        "- If the submitted performance metrics cannot be reproduced with your code and original datasets, then you will lose all the points associated with model performance.\n",
        "\n",
        "\n",
        "</div>"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "65cb0461-0656-4d25-a67b-3385821ac8d9",
      "metadata": {
        "id": "65cb0461-0656-4d25-a67b-3385821ac8d9"
      },
      "outputs": [],
      "source": []
    },
    {
      "cell_type": "markdown",
      "id": "016204c1-8ed0-4105-8a3d-ea3f7757b05b",
      "metadata": {
        "id": "016204c1-8ed0-4105-8a3d-ea3f7757b05b"
      },
      "source": [
        "<div style=\"color:blue\">\n",
        "    \n",
        "## Problem 5: Classifying the Unnown: Decoding the Mystery of Genetics and Terrain [14 pts]\n",
        "\n",
        "On the island of Poké, strange creatures called \"Unnown\" roam diverse terrains—volcanic landscapes, forests, swamps, and more. Professor Log, a leading researcher, has been studying their physiological attributes and geographic locations to uncover patterns in their distinctive genetic strains, labeled as **A, B, C, and D**.\n",
        "\n",
        "While some relationships exist between terrain-attribute and genetic strains, the mapping is not clear cut which makes classification challenging since labels are few.\n",
        "\n",
        "Professor Log's goal is to develop a predictive model that classifies an Unnown’s genetic strain based on its location (x, y) and physiological traits, without having to do expensive genetic testing. To bootstrap this effort, he has conducted genetic testing for a small number of creatures.\n",
        "\n",
        "Your challenge is to use your data expertise to assist Professor Log in classying the Unnown according to genetic strain.\n",
        "\n",
        "This problem consists of 5 tasks (students must attempt first 4; the 5th is for private evaluation):\n",
        "\n",
        "-  **Q1: Exploring the Unnown** [4 pts]  \n",
        "-  **Q2: Clustering the Unnown based on Location** [4 pts]  \n",
        "-  **Q3: Training a Genetic Strain Classifier** [4 pts]\n",
        "-  **Q4: Testing your Unnown Classifier on New Public Dataset** [1 pts]  \n",
        "-  **Q5: Testing your Unnown Classifier on New Private Dataset** [1 pts] [NOT FOR STUDENTS TO ATTEMPT]  \n",
        "\n",
        "\n",
        "</div>"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "123c5fbd-9159-42d1-a35c-550c43f68c34",
      "metadata": {
        "id": "123c5fbd-9159-42d1-a35c-550c43f68c34"
      },
      "source": [
        "<div style=\"color:blue\">\n",
        "    \n",
        "### INSTALLATION  \n",
        "\n",
        "</div>"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "bbe57e50-312a-4a19-82d9-74122c890673",
      "metadata": {
        "id": "bbe57e50-312a-4a19-82d9-74122c890673",
        "outputId": "c9e5bab2-c73c-47c8-c413-bce941d2ea0c",
        "colab": {
          "base_uri": "https://localhost:8080/"
        }
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Requirement already satisfied: uv in /usr/local/lib/python3.11/dist-packages (0.6.3)\n",
            "\u001b[2mUsing Python 3.11.11 environment at: /usr\u001b[0m\n",
            "\u001b[2mAudited \u001b[1m5 packages\u001b[0m \u001b[2min 115ms\u001b[0m\u001b[0m\n"
          ]
        }
      ],
      "source": [
        "! pip install uv\n",
        "! uv pip install pandas numpy scikit-learn  matplotlib seaborn"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "4ac8aa6b-a58f-492a-8541-cd849da6bbae",
      "metadata": {
        "id": "4ac8aa6b-a58f-492a-8541-cd849da6bbae"
      },
      "source": [
        "<div style=\"color:blue\">\n",
        "    \n",
        "### IMPORTS\n",
        "</div>"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "b2593443-65dd-4769-a76a-8628d5cffdea",
      "metadata": {
        "id": "b2593443-65dd-4769-a76a-8628d5cffdea"
      },
      "outputs": [],
      "source": [
        "# EDIT: [O pts]\n",
        "# You may add any other free python packages along with comments\n",
        "\n",
        "# Scikit learn imports\n",
        "from sklearn.pipeline import Pipeline\n",
        "from sklearn.semi_supervised import LabelSpreading, SelfTrainingClassifier\n",
        "\n",
        "\n",
        "# Data Types\n",
        "from typing import Any, List, Optional, Set, Tuple\n",
        "\n",
        "# Data handling\n",
        "import pandas as pd  # Data manipulation and analysis\n",
        "import numpy as np  # Numerical computations and array handling\n",
        "\n",
        "# Machine Learning - Process\n",
        "from sklearn.model_selection import train_test_split  # Splitting dataset\n",
        "\n",
        "# Machine Learning - Models\n",
        "from sklearn.cluster import KMeans, DBSCAN, AgglomerativeClustering, SpectralClustering\n",
        "from sklearn.mixture import GaussianMixture\n",
        "\n",
        "# Machine Learning - Feature Transformations\n",
        "from sklearn.preprocessing import OneHotEncoder, StandardScaler # Feature transformations if needed\n",
        "from sklearn.compose import ColumnTransformer #Transforming columns\n",
        "\n",
        "# Model evaluation\n",
        "from sklearn.metrics import normalized_mutual_info_score, homogeneity_score, completeness_score, confusion_matrix, accuracy_score\n",
        "\n",
        "# Classifier models\n",
        "from sklearn.ensemble import RandomForestClassifier\n",
        "from sklearn.linear_model import LogisticRegression\n",
        "from sklearn.naive_bayes import MultinomialNB\n",
        "\n",
        "# Visualization\n",
        "import matplotlib.pyplot as plt  # Plotting graphs\n",
        "import seaborn as sns  # Enhanced data visualization\n"
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "**COPY DATA**"
      ],
      "metadata": {
        "id": "YAo--XgPKcYR"
      },
      "id": "YAo--XgPKcYR"
    },
    {
      "cell_type": "code",
      "source": [
        "# Copy data\n",
        "!mkdir /content/data\n",
        "!wget https://raw.githubusercontent.com/inaiogit/stage2test/main/test/unnown_test_public.csv\n",
        "!wget https://raw.githubusercontent.com/inaiogit/stage2test/main/test/unnown_train.csv\n",
        "!mv unnown_test_public.csv unnown_train.csv data/"
      ],
      "metadata": {
        "id": "zmXTBuEY9SnZ",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "e0038fb2-bb57-4331-e367-42055deed3c9"
      },
      "id": "zmXTBuEY9SnZ",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "--2025-03-02 05:12:12--  https://raw.githubusercontent.com/inaiogit/stage2test/main/test/unnown_test_public.csv\n",
            "Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.110.133, 185.199.111.133, 185.199.109.133, ...\n",
            "Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.110.133|:443... connected.\n",
            "HTTP request sent, awaiting response... 200 OK\n",
            "Length: 3671 (3.6K) [text/plain]\n",
            "Saving to: ‘unnown_test_public.csv’\n",
            "\n",
            "unnown_test_public. 100%[===================>]   3.58K  --.-KB/s    in 0s      \n",
            "\n",
            "2025-03-02 05:12:13 (40.1 MB/s) - ‘unnown_test_public.csv’ saved [3671/3671]\n",
            "\n",
            "--2025-03-02 05:12:13--  https://raw.githubusercontent.com/inaiogit/stage2test/main/test/unnown_train.csv\n",
            "Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.110.133, 185.199.108.133, 185.199.109.133, ...\n",
            "Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.110.133|:443... connected.\n",
            "HTTP request sent, awaiting response... 200 OK\n",
            "Length: 49815 (49K) [text/plain]\n",
            "Saving to: ‘unnown_train.csv’\n",
            "\n",
            "unnown_train.csv    100%[===================>]  48.65K  --.-KB/s    in 0.07s   \n",
            "\n",
            "2025-03-02 05:12:14 (687 KB/s) - ‘unnown_train.csv’ saved [49815/49815]\n",
            "\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "id": "9a31fe8d-7d7c-4d0d-85fc-b625fcff025c",
      "metadata": {
        "id": "9a31fe8d-7d7c-4d0d-85fc-b625fcff025c"
      },
      "source": [
        "<div style=\"color:blue\">\n",
        "    \n",
        "# **Q1: Exploring the Unnown** [4 pts]\n",
        "\n",
        "Before building any predictive model, it is  crucial to explore the data to uncover patterns, relationships.\n",
        "In particular, you need to examine Prof. Log's hunch that location signal is highly predictive of the genetic label.\n",
        "\n",
        "</div>\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "f738630c-e2e4-4d33-84da-37b9dd026366",
      "metadata": {
        "id": "f738630c-e2e4-4d33-84da-37b9dd026366"
      },
      "source": [
        "<div style=\"color:blue\">\n",
        "\n",
        "### **DATA**\n",
        "\n",
        "Prof Log shares with you a train **dataset** containing detailed observations of Unnown specimens, their geographic locations, physiological attributes with genetic labels for a subset of specimens. Each row corresponds to an individual specimen.\n",
        "\n",
        "- **`unnown_train_path`**: Training dataset with recorded Unnown observations.\n",
        "\n",
        "#### Columns\n",
        "- **`Specimen_ID`** - Unique identifier for each Unnown specimen.  \n",
        "- **`X, Y`** – Geographic coordinates of capture, i.e., terrain  \n",
        "- **`Specimen_Size`** – Measured size of the Unnown (continuous variable).  \n",
        "- **`Diet_Type`** – Categorical variable indicating whether the Unnown is **herbivorous, carnivorous, or omnivorous**.  \n",
        "- **`Genetic_Label`** – The target variable, representing one of four possible Unnown genetic strains (**A, B, C, D**) which is missing for most specimens.  \n",
        "\n",
        "</div>\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "109bde31-5c49-4618-a648-5b8e6bb7abc0",
      "metadata": {
        "id": "109bde31-5c49-4618-a648-5b8e6bb7abc0"
      },
      "outputs": [],
      "source": [
        "# Training datasets\n",
        "unnown_train_path = \"data/unnown_train.csv\"  # Unnown specimen data\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "c8a75ea1-4c6b-4959-97a2-97801615682f",
      "metadata": {
        "id": "c8a75ea1-4c6b-4959-97a2-97801615682f"
      },
      "source": [
        "<div style=\"color:blue\">\n",
        "    \n",
        "### **TASK**\n",
        "\n",
        "Analyze the data and record your observations below:\n",
        "   - (a) Is there a correlation between the location variables and the genetic label and can you directly use them as features for classification? Justify\n",
        "   - (b) Prof. Log suggests using K-means to identify clusters that could map to genetic groups? Is that a good idea? Justify.\n",
        "\n",
        "</div>\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "22317080-f918-404a-a904-ea58014a1ab1",
      "metadata": {
        "id": "22317080-f918-404a-a904-ea58014a1ab1"
      },
      "source": [
        "<div style=\"color:blue\">\n",
        "    \n",
        "### **HELPER CODE**\n",
        "\n",
        "</div>"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "a39ca7ff-4772-4166-bf85-3c28f6c90392",
      "metadata": {
        "id": "a39ca7ff-4772-4166-bf85-3c28f6c90392"
      },
      "outputs": [],
      "source": [
        "def learn_clusters(\n",
        "    df: pd.DataFrame,\n",
        "    cols: list,\n",
        "    method: str = \"kmeans\",\n",
        "    k: int = 3,\n",
        "    eps: float = 0.5,\n",
        "    min_samples: int = 5,\n",
        ") -> pd.DataFrame:\n",
        "    \"\"\"\n",
        "    Applies a clustering algorithm on location data and appends a Cluster_ID column.\n",
        "\n",
        "    Parameters:\n",
        "    - df (pd.DataFrame): Input DataFrame containing location and specimen ID.\n",
        "    - cols (list): location columns to use for clustering.\n",
        "    - method (str): Clustering algorithm to use. Options: 'kmeans', 'dbscan', 'agglomerative', 'gmm', 'spectral'.\n",
        "    - k (int): Number of clusters (for k-means, spectral, agglomerative, and GMM).\n",
        "    - eps (float): Maximum distance between two samples for DBSCAN clustering.\n",
        "    - min_samples (int): Minimum samples per cluster for DBSCAN.\n",
        "\n",
        "    Returns:\n",
        "    - pd.DataFrame: The original DataFrame with an additional 'Cluster_ID' column.\n",
        "    \"\"\"\n",
        "    df = df.copy(deep=True)\n",
        "    # Extract and standardize data\n",
        "    scaled_data = StandardScaler().fit_transform(df[cols])\n",
        "\n",
        "    # Choose clustering method\n",
        "    if method == \"kmeans\":\n",
        "        model = KMeans(n_clusters=k, random_state=42, n_init=10)\n",
        "        df[\"Cluster_ID\"] = model.fit_predict(scaled_data)\n",
        "    elif method == \"dbscan\":\n",
        "        model = DBSCAN(eps=eps, min_samples=min_samples)\n",
        "        df[\"Cluster_ID\"] = model.fit_predict(scaled_data)\n",
        "    elif method == \"agglomerative\":\n",
        "        model = AgglomerativeClustering(n_clusters=k)\n",
        "        df[\"Cluster_ID\"] = model.fit_predict(scaled_data)\n",
        "    elif method == \"gmm\":\n",
        "        model = GaussianMixture(n_components=k, random_state=42)\n",
        "        df[\"Cluster_ID\"] = model.fit_predict(scaled_data)\n",
        "    elif method == \"spectral\":\n",
        "        model = SpectralClustering(n_clusters=k, affinity=\"nearest_neighbors\", random_state=42)\n",
        "        df[\"Cluster_ID\"] = model.fit_predict(scaled_data)\n",
        "    else:\n",
        "        raise ValueError(f\"Unsupported clustering method: {method}\")\n",
        "    return df\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "e1c7a7db-40a0-4d6c-a1ae-e62a5ea95d9f",
      "metadata": {
        "id": "e1c7a7db-40a0-4d6c-a1ae-e62a5ea95d9f"
      },
      "source": [
        "<div style=\"color:red\">\n",
        "    \n",
        "# ANSWER\n",
        "\n",
        "</div>"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "0d984777-5591-4f49-be3b-a9a987ba6116",
      "metadata": {
        "id": "0d984777-5591-4f49-be3b-a9a987ba6116",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 206
        },
        "outputId": "6c18725d-539e-4b35-898e-30157dab3463"
      },
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "           X         Y  Specimen_Size  Diet_Type Genetic_Label  Specimen_ID\n",
              "0   5.253094  5.844291      12.364020  Herbivore           NaN            1\n",
              "1  11.373440  0.378987      15.651165  Herbivore           NaN            2\n",
              "2  -2.879896  2.051275      15.697827  Carnivore           NaN            3\n",
              "3   2.100327  1.883168      16.417212  Carnivore           NaN            4\n",
              "4   6.112791 -2.614663       9.439839  Carnivore             C            5"
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-b5ce541f-0bd2-4068-a919-033427f3e9bc\" 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>X</th>\n",
              "      <th>Y</th>\n",
              "      <th>Specimen_Size</th>\n",
              "      <th>Diet_Type</th>\n",
              "      <th>Genetic_Label</th>\n",
              "      <th>Specimen_ID</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>5.253094</td>\n",
              "      <td>5.844291</td>\n",
              "      <td>12.364020</td>\n",
              "      <td>Herbivore</td>\n",
              "      <td>NaN</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>11.373440</td>\n",
              "      <td>0.378987</td>\n",
              "      <td>15.651165</td>\n",
              "      <td>Herbivore</td>\n",
              "      <td>NaN</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>-2.879896</td>\n",
              "      <td>2.051275</td>\n",
              "      <td>15.697827</td>\n",
              "      <td>Carnivore</td>\n",
              "      <td>NaN</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>2.100327</td>\n",
              "      <td>1.883168</td>\n",
              "      <td>16.417212</td>\n",
              "      <td>Carnivore</td>\n",
              "      <td>NaN</td>\n",
              "      <td>4</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>6.112791</td>\n",
              "      <td>-2.614663</td>\n",
              "      <td>9.439839</td>\n",
              "      <td>Carnivore</td>\n",
              "      <td>C</td>\n",
              "      <td>5</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-b5ce541f-0bd2-4068-a919-033427f3e9bc')\"\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-b5ce541f-0bd2-4068-a919-033427f3e9bc 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-b5ce541f-0bd2-4068-a919-033427f3e9bc');\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-de7b2648-8fa8-49f1-82ad-02ba0b2ffbfb\">\n",
              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-de7b2648-8fa8-49f1-82ad-02ba0b2ffbfb')\"\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-de7b2648-8fa8-49f1-82ad-02ba0b2ffbfb 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",
              "variable_name": "data",
              "summary": "{\n  \"name\": \"data\",\n  \"rows\": 700,\n  \"fields\": [\n    {\n      \"column\": \"X\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 5.0626553511776695,\n        \"min\": -11.680413282084784,\n        \"max\": 11.738113808564488,\n        \"num_unique_values\": 700,\n        \"samples\": [\n          4.81520027137303,\n          5.870713684161615,\n          1.514834634284245\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"Y\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 4.247760237690948,\n        \"min\": -8.310085869016696,\n        \"max\": 7.976586386979925,\n        \"num_unique_values\": 700,\n        \"samples\": [\n          -3.030681898519493,\n          -2.976466952670753,\n          6.844420110696304\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"Specimen_Size\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 3.5828658113652336,\n        \"min\": 6.353698927696243,\n        \"max\": 23.23068749517973,\n        \"num_unique_values\": 700,\n        \"samples\": [\n          11.168105475230998,\n          9.94973251642651,\n          13.427961471609784\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"Diet_Type\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 2,\n        \"samples\": [\n          \"Carnivore\",\n          \"Herbivore\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"Genetic_Label\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 4,\n        \"samples\": [\n          \"B\",\n          \"A\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"Specimen_ID\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 202,\n        \"min\": 1,\n        \"max\": 700,\n        \"num_unique_values\": 700,\n        \"samples\": [\n          159,\n          501\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 24
        }
      ],
      "source": [
        "# EDIT: [2 pts]\n",
        "# Add your data exploration code here\n",
        "data = pd.read_csv(unnown_train_path)\n",
        "data.head()"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "data.info()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "m4tzEzvxR37J",
        "outputId": "f3c2c0fa-63e3-4391-e6d6-4174d4be0586"
      },
      "id": "m4tzEzvxR37J",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "<class 'pandas.core.frame.DataFrame'>\n",
            "RangeIndex: 700 entries, 0 to 699\n",
            "Data columns (total 6 columns):\n",
            " #   Column         Non-Null Count  Dtype  \n",
            "---  ------         --------------  -----  \n",
            " 0   X              700 non-null    float64\n",
            " 1   Y              700 non-null    float64\n",
            " 2   Specimen_Size  700 non-null    float64\n",
            " 3   Diet_Type      700 non-null    object \n",
            " 4   Genetic_Label  50 non-null     object \n",
            " 5   Specimen_ID    700 non-null    int64  \n",
            "dtypes: float64(3), int64(1), object(2)\n",
            "memory usage: 32.9+ KB\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "data.Genetic_Label.unique()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "L8oxycjGR5Bt",
        "outputId": "5ee7d18f-b997-43da-fb6a-988453228453"
      },
      "id": "L8oxycjGR5Bt",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "array([nan, 'C', 'B', 'D', 'A'], dtype=object)"
            ]
          },
          "metadata": {},
          "execution_count": 16
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "plt.scatter(data.dropna().Specimen_ID,data.dropna().Genetic_Label)\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 430
        },
        "id": "0PAXLBM6Yx76",
        "outputId": "875f5895-c88f-4b8f-80cb-818ba5ca8d8a"
      },
      "id": "0PAXLBM6Yx76",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ],
            "image/png": "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3DoWDh48qIqKCn3mM5/Rddddp0OHDknKrRqsX79eU6dO1be+9S2Vlpbq0ksv1cMPPxxZnovXyE8++URr167V9ddfL5/P5+nxkLEB46OPPlJnZ2dUQSRp5MiRam5u9mhU6dU9z/5q0NzcrNLS0qjl+fn5Kikpycg6hcNh3XHHHbr88ss1YcIESV1zLCgoUHFxcVTb0+vQW526l2WKPXv2aNiwYfL7/brlllv01FNPafz48TlVg3Xr1umNN95QbW1tj2W5Uofp06drzZo12rRpk1auXKmGhgZdeeWVam9vz5kaSNK7776rlStXauzYsdq8ebOWLFmi73//+3rsscck5eY18umnn9bRo0dVXV0tydtzwpN/TRVI1NKlS7V37169+uqrXg/FExdeeKHq6+vV1tamv/zlL1q8eLG2bdvm9bDSprGxUbfffru2bNmiwsJCr4fjmblz50b+e+LEiZo+fbpGjx6tJ554QkOHDvVwZOkVDoc1depU3XfffZKkSy+9VHv37tXvf/97LV682OPReWPVqlWaO3euKioqvB5K5n6DMWLECA0ZMqTHL2GPHDmisrIyj0aVXt3z7K8GZWVlamlpiVp+8uRJtba2ZlydbrvtNm3cuFEvvviizjvvvMj7ZWVl+uSTT3T06NGo9qfXobc6dS/LFAUFBRozZoymTJmi2tpaTZo0Sb/5zW9ypgY7d+5US0uLJk+erPz8fOXn52vbtm164IEHlJ+fr5EjR+ZEHU5XXFysCy64QO+8807OHAuSVF5ervHjx0e997nPfS7y10W5do18//339fe//1033nhj5D0vj4eMDRgFBQWaMmWKXnjhhch74XBYL7zwgmbMmOHhyNKnqqpKZWVlUTUIhULasWNHpAYzZszQ0aNHtXPnzkibrVu3KhwOa/r06WkfcyKcc7rtttv01FNPaevWraqqqopaPmXKFJ1xxhlRdThw4IAOHToUVYc9e/ZEXUi2bNmiQCDQ4wKVScLhsDo6OnKmBjNnztSePXtUX18feU2dOlXXXXdd5L9zoQ6nO3bsmP7973+rvLw8Z44FSbr88st73LL+9ttva/To0ZJy5xrZbfXq1SotLdW8efMi73l6PCT889BBYN26dc7v97s1a9a4ffv2uZtvvtkVFxdH/RI207W3t7tdu3a5Xbt2OUnu17/+tdu1a5d7//33nXNdt2AVFxe7Z555xr355pvummuu6fUWrEsvvdTt2LHDvfrqq27s2LEZdQvWkiVLXDAYdC+99FLUrVj/+9//Im1uueUWN2rUKLd161b3+uuvuxkzZrgZM2ZElnffhvW1r33N1dfXu02bNrlzzjkno27Lu/vuu922bdtcQ0ODe/PNN93dd9/tfD6f+9vf/uacy40a9ObUu0icy4063Hnnne6ll15yDQ0N7h//+IebNWuWGzFihGtpaXHO5UYNnOu6VTk/P9/de++97uDBg+6Pf/yjO/PMM93atWsjbXLhGulc112Uo0aNcnfddVePZV4dDxkdMJxz7re//a0bNWqUKygocNOmTXOvvfaa10My9eKLLzpJPV6LFy92znXdhvXTn/7UjRw50vn9fjdz5kx34MCBqG385z//cQsXLnTDhg1zgUDAffe733Xt7e0ezCYxvc1fklu9enWkzccff+xuvfVWN3z4cHfmmWe6b37zm66pqSlqO++9956bO3euGzp0qBsxYoS788473aeffprm2STu+uuvd6NHj3YFBQXunHPOcTNnzoyEC+dyowa9OT1g5EIdrr32WldeXu4KCgrcueee66699tqoZz/kQg26bdiwwU2YMMH5/X43btw499BDD0Utz4VrpHPObd682UnqMTfnvDse+OfaAQCAuYz9DQYAABi8CBgAAMAcAQMAAJgjYAAAAHMEDAAAYI6AAQAAzBEwAACAOQIGAAAwR8AAAADmCBgAAMAcAQMAAJgjYAAAAHP/D7kgQFnuxninAAAAAElFTkSuQmCC\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "plt.scatter(data.dropna().Specimen_Size,data.dropna().Genetic_Label)\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 430
        },
        "id": "aFp97UdtZB5I",
        "outputId": "16b4ad38-725a-4fbd-97bc-dd2f2319b9f9"
      },
      "id": "aFp97UdtZB5I",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ],
            "image/png": "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bW3V0qVLNX78eI0ZM0aLFi1SY2OjRxXbiDTvpqYm3XTTTZoyZYpGjRqliRMn6uabb1YwGIx7bAJGFNauXav169fr0UcfVVVVldauXav77rtPjzzyiNelmTp8+LBmzpypdevW9fr4fffdp4cfflgbNmzQm2++qdGjR2vBggVqbW1NcqX2+pv7kSNHVFFRoVWrVqmiokIvvPCCqqurdfHFF3tQqa1Iz3mnzZs364033lBeXl6SKkusSPP+4IMPdPbZZ6uwsFCvvfaa9uzZo1WrVik9PT3JldqLNPdbb71VZWVl2rRpk6qqqrR8+XItW7ZMW7ZsSXKltnbu3KmlS5fqjTfe0F/+8he1t7frggsu0OHDh7u2ueWWW7R161Y9//zz2rlzp+rq6nT55Zd7WHX8Is27rq5OdXV1uv/++7V37149+eSTKisr0/XXXx//4A4iWrhwoXPdddd1u+/yyy93rrrqKo8qSjxJzubNm7t+DofDTk5OjvOrX/2q675Dhw45fr/fefbZZz2oMHF6zr035eXljiTnwIEDySkqCfqa97///W/nlFNOcfbu3etMmjTJ+fWvf5302hKpt3lfccUVzuLFi70pKIl6m/vUqVOdu+66q9t9s2fPdu68884kVpZ4Bw8edCQ5O3fudBzn6PvZyJEjneeff75rm6qqKkeSs3v3bq/KNNdz3r157rnnnLS0NKe9vT2usTiDEYUzzzxTr776qt59911J0ttvv63XX39dF154oceVJU9NTY0aGhp0/vnnd90XCAR0xhlnaPfu3R5W5o1gMCifz6exY8d6XUpChcNhXX311VqxYoWmTp3qdTlJEQ6H9fLLL+tLX/qSFixYoOzsbJ1xxhn9/vloKDnzzDO1ZcsWffTRR3IcRzt27NC7776rCy64wOvSTHX+CSArK0uS9NZbb6m9vb3be1xhYaEmTpw4pN7jes67r20yMzOVmhrfvysjYETh9ttv13e/+10VFhZq5MiR+spXvqLly5frqquu8rq0pGloaJAknXzyyd3uP/nkk7seGy5aW1t122236corrxzy/xhp7dq1Sk1N1c033+x1KUlz8OBBtbS06N5771VxcbH+/Oc/67LLLtPll1+unTt3el1ewj3yyCMqKirShAkTlJaWpuLiYq1bt07z58/3ujQz4XBYy5cv11lnnaVp06ZJOvoel5aWdtyHhqH0HtfbvHv6+OOPdffdd+uGG26IezxP/pvqYPPcc8/p97//vZ555hlNnTpVlZWVWr58ufLy8nTttdd6XR6SqL29Xd/5znfkOI7Wr1/vdTkJ9dZbb+k3v/mNKioq5PP5vC4nacLhsCTpkksu0S233CJJmjVrlv7+979rw4YNOuecc7wsL+EeeeQRvfHGG9qyZYsmTZqkXbt2aenSpcrLy+v26X4wW7p0qfbu3avXX3/d61KSKtK8Q6GQFi5cqKKiIv385z+PezwCRhRWrFjRdRZDkqZPn64DBw6otLR02ASMnJwcSVJjY6Nyc3O77m9sbNSsWbM8qiq5OsPFgQMHtH379iF/9uJvf/ubDh48qIkTJ3bd19HRoZ/85Cd66KGHtH//fu+KS6ATTzxRqampKioq6nb/l7/85SF/QPr00091xx13aPPmzVq4cKEkacaMGaqsrNT9998/JALGsmXLtG3bNu3atUsTJkzouj8nJ0efffaZDh061O0sRmNjY9f732DW17w7NTc3q7i4WBkZGdq8ebNGjhwZ95j8iSQKR44cUUpK9101YsSIrk86w0FBQYFycnL06quvdt0XCoX05ptvat68eR5Wlhyd4eK9997TX//6V40fP97rkhLu6quv1p49e1RZWdl1y8vL04oVK/TKK694XV7CpKWlac6cOcddwvjuu+9q0qRJHlWVHO3t7Wpvbx+S73eO42jZsmXavHmztm/froKCgm6Pn3766Ro5cmS397jq6mp9+OGHg/o9LtK8paPv5RdccIHS0tK0ZcsWs6ulOIMRhZKSEt1zzz2aOHGipk6dqn/84x968MEHdd1113ldmqmWlha9//77XT/X1NSosrJSWVlZmjhxopYvX65f/OIXOu2001RQUKBVq1YpLy9Pl156qXdFG+lv7rm5ufr2t7+tiooKbdu2TR0dHV1/k83KylJaWppXZcct0nPeM0iNHDlSOTk5mjJlSrJLNRVp3itWrNAVV1yh+fPn69xzz1VZWZm2bt2q1157zbuijUSa+znnnKMVK1Zo1KhRmjRpknbu3Kmnn35aDz74oIdVx2/p0qV65pln9NJLLykjI6PrdzgQCGjUqFEKBAK6/vrrdeuttyorK0uZmZm66aabNG/ePH31q1/1uHr3Is27M1wcOXJEmzZtUigUUigUkiSddNJJGjFihPvB47oGZZgIhULOj3/8Y2fixIlOenq688UvftG58847nba2Nq9LM7Vjxw5H0nG3a6+91nGco5eqrlq1yjn55JMdv9/vnHfeeU51dbW3RRvpb+41NTW9PibJ2bFjh9elxyXSc97TULlMNZp5b9y40Zk8ebKTnp7uzJw503nxxRe9K9hQpLnX19c7S5YscfLy8pz09HRnypQpzgMPPOCEw2FvC49TX7/DTzzxRNc2n376qfOjH/3IGTdunHPCCSc4l112mVNfX+9d0QYizbuv14Mkp6amJq6x+XftAADAHN/BAAAA5ggYAADAHAEDAACYI2AAAABzBAwAAGCOgAEAAMwRMAAAgDkCBgAAMEfAAAAA5ggYAADAHAEDAACYI2AAAABz/x8LZcFOuq/I7gAAAABJRU5ErkJggg==\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# Plot Unnown location with different colors for known genetic labels and gray for the unlabeled ones\n",
        "sns.scatterplot(data.fillna('E'),x='X',y='Y',hue='Genetic_Label',palette={\n",
        "    'A': 'red',\n",
        "    'B': 'blue',\n",
        "    'C': 'green',\n",
        "    'D': 'orange',\n",
        "    'E': 'grey'\n",
        "})\n",
        "plt.show()\n",
        "sns.scatterplot(data,x='X',y='Y',hue='Genetic_Label')\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 881
        },
        "id": "5WMbl58jSDXH",
        "outputId": "dec898fc-7d74-44b2-b65d-b596c9e0b960"
      },
      "id": "5WMbl58jSDXH",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj0AAAGwCAYAAABCV9SaAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAUwBJREFUeJzt3Xl8U1X+//FXmrTpvu+lQFkUEEQERIVREVRcGJ1xFxVwmVFRcZsRXEZww20cv4I/XAYB92XcYVAZFBSVAWV1AWQvlG6UpnvapPf3R4dqbQMFktykeT8fjzxmck+S+0mLybvnnHuOxTAMAxEREZEOLszsAkRERET8QaFHREREQoJCj4iIiIQEhR4REREJCQo9IiIiEhIUekRERCQkKPSIiIhISLCZXYA/NTY2UlBQQFxcHBaLxexyREREpB0Mw6CyspLs7GzCwg69vyakQk9BQQG5ublmlyEiIiKHID8/n06dOh3y80Mq9MTFxQFNP7T4+HiTqxEREZH2qKioIDc3t/l7/FCFVOjZN6QVHx+v0CMiIhJkDndqiiYyi4iISEhQ6BEREZGQoNAjIiIiISFo5vS43W6mTJnCK6+8QmFhIdnZ2YwbN4577rnH65efu91uGhoavPqa4l3h4eFYrVazyxARkSASNKHn0UcfZebMmcydO5ejjjqKb7/9lvHjx5OQkMDNN9/slXMYhkFhYSHl5eVeeT3xrcTERDIzM7XmkoiItEvQhJ6vv/6ac889l7PPPhuArl278vrrr7N8+XKvnWNf4ElPTyc6OlpfpgHKMAxqamooLi4GICsry+SKREQkGARN6DnxxBN5/vnn2bhxI0cccQRr1qxh6dKlPPnkkx6f43Q6cTqdzfcrKio8PtbtdjcHnpSUFK/WLt4XFRUFQHFxMenp6RrqEhGRAwqa0DNp0iQqKiro1asXVqsVt9vNQw89xJgxYzw+Z9q0aUydOrVdr79vDk90dLRX6hXf2/e7amhoUOgREZEDCpqrt9566y1effVVXnvtNVauXMncuXN54oknmDt3rsfnTJ48GYfD0XzLz88/4Hk0pBU89LsSEZGDETQ9PX/5y1+YNGkSl1xyCQD9+vVj+/btTJs2jbFjx7b5HLvdjt1u92eZImKyqvoqal21RFgjSLAnmF2OiASQoAk9NTU1rXZWtVqtNDY2mlSRiASSGlcN2xzbmLl6Jj+V/URWTBbX9b+Ovil9SYhU+BGRIBreGj16NA899BDz589n27ZtvPfeezz55JP84Q9/MLu0gHHKKadwyy23mF0G0HR13VNPPXVYrzFlyhSOOeYYr9QjHZthGHxb+C2XzLuExTsXU1RTxOqS1Vz3n+t4a+Nb1DTUmF2iiASAoAk906dP54ILLuCGG26gd+/e3HHHHfz5z3/mgQce8FsNhYWFTJw4kR49ehAZGUlGRgZDhw5l5syZ1NT470N18eLFWCyWVusJvfvuu175eWzbtg2LxcLq1asP+7VE/KG4ppip30zFwGjV9szqZ9hTt8eEqkQk0ATN8FZcXBxPPfXUYfceHKotW7YwdOhQEhMTefjhh+nXrx92u51169bx/PPPk5OTw+9//3tTatsnOTnZ1POLmMXhdFBcU9xmm9tws92xndy4XD9XJSKBJmh6esx2ww03YLPZ+Pbbb7nooovo3bs33bp149xzz2X+/PmMHj0agPLycq655hrS0tKIj4/n1FNPZc2aNc2vs2/I5uWXX6Zr164kJCRwySWXUFlZ2fyYxsZGpk2bRl5eHlFRUfTv359//etfQFMvzPDhwwFISkrCYrEwbtw4oPXwltPp5M477yQ3Nxe73U6PHj2YNWvWYf8sNm/ezLnnnktGRgaxsbEMHjyY//znP60eV1lZyaWXXkpMTAw5OTk888wzLdoP9LMSaa/fzvf7rXBruJ8qEZFAptDTDnv27OHTTz9lwoQJxMTEtPmYfZdPX3jhhRQXF7NgwQK+++47jj32WEaMGEFZWVnzYzdv3sz777/PvHnzmDdvHkuWLOGRRx5pbp82bRovvfQSzz77LD/88AO33norl19+OUuWLCE3N5d33nkHgA0bNrB7927+7//+r82arrzySl5//XWefvppfvrpJ5577jliY2MP++dRVVXFWWedxaJFi1i1ahWjRo1i9OjR7Nixo8XjHn/8cfr378+qVauYNGkSEydOZOHChc3t7flZibRHYkQiefF5bbZF2aLoFNfJzxWJSEAyQojD4TAAw+FwtGqrra01fvzxR6O2trZV27JlywzAePfdd1scT0lJMWJiYoyYmBjjr3/9q/Hll18a8fHxRl1dXYvHde/e3XjuuecMwzCM++67z4iOjjYqKiqa2//yl78YQ4YMMQzDMOrq6ozo6Gjj66+/bvEaV199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mlft+wzxxueLQk8AmzRpEhaLZb+3fXNCAO6++27OP/98Bg4cyOzZs7FYLLz99tsmv4u2tfe9TZ8+ncrKSiZPnmx2yQelve/v13bt2sWoUaO48MILufbaa02qXA5kwoQJfP/997zxxhtml+IV+fn5TJw4kVdffZXIyEizy/GqxsZGjj32WB5++GEGDBjAn/70J6699lqeffZZs0vzirfeeotXX32V1157jZUrVzJ37lyeeOKJDhPqfMFmdgHi2e233864ceP2+5hu3bqxe/duAPr06dN83G63061bN3bs2OHLEg9Ze9/bZ599xjfffNNqz5VBgwYxZsyYgP2Pu73vb5+CggKGDx/OiSeeyPPPP+/j6rwvNTUVq9VKUVFRi+NFRUVkZmaaVJX33XjjjcybN48vvviCTp06mV2OV3z33XcUFxdz7LHHNh9zu9188cUXzJgxA6fTidVqNbHCQ5eVldXicxGgd+/evPPOOyZV5F1/+ctfmnt7APr168f27duZNm0aY8eONbk679n3GVJUVERWVlbz8aKiIo455piDei2FngCWlpZGWlraAR83cOBA7HY7GzZsYNiwYQA0NDSwbds2unTp4usyD0l739vTTz/Ngw8+2Hy/oKCAM844gzfffJMhQ4b4ssTD0t73B009PMOHD2/uoQsLC74O2IiICAYOHMiiRYual0pobGxk0aJF3HjjjeYW5wWGYXDTTTfx3nvvsXjxYvLy8swuyWtGjBjBunXrWhwbP348vXr14s477wzawAMwdOjQVksLbNy4MWA/Fw9WTU1Nq88Lq9Xa3PvfUeTl5ZGZmcmiRYuaQ05FRQX//e9/uf766w/uxbwz11rMNnHiRCMnJ8f45JNPjPXr1xtXX321kZ6ebpSVlZldmldt3bq1Q129tXPnTqNHjx7GiBEjjJ07dxq7d+9uvgWbN954w7Db7cacOXOMH3/80fjTn/5kJCYmGoWFhWaXdtiuv/56IyEhwVi8eHGL31FNTY3ZpflER7l6a/ny5YbNZjMeeugh4+effzZeffVVIzo62njllVfMLs0rxo4da+Tk5Bjz5s0ztm7darz77rtGamqq8de//tXs0g5aZWWlsWrVKmPVqlUGYDz55JPGqlWrjO3btxuGYRiPPPKIkZiYaHzwwQfG2rVrjXPPPdfIy8szamtrD+o8Cj0dRH19vXH77bcb6enpRlxcnDFy5Ejj+++/N7ssr+tooWf27NkG0OYtGE2fPt3o3LmzERERYRx33HHGsmXLzC7JKzz9jmbPnm12aT7RUUKPYRjGRx99ZPTt29ew2+1Gr169jOeff97skrymoqLCmDhxotG5c2cjMjLS6Natm3H33XcbTqfT7NIO2ueff97mf2Njx441DKPpsvV7773XyMjIMOx2uzFixAhjw4YNB30ei2EE4dKNIiIiIgcp+CYPiIiIiBwChR4REREJCQo9IiIiEhIUekRERCQkKPSIiIhISFDoERERkZCg0CMiIiIhQaFHREREQoJCj4iIiIQEhR4RCUput5sTTzyRP/7xjy2OOxwOcnNzufvuu02qTEQClbahEJGgtXHjRo455hheeOEFxowZA8CVV17JmjVrWLFiBRERESZXKCKBRKFHRILa008/zZQpU/jhhx9Yvnw5F154IStWrKB///5mlyYiAUahR0SCmmEYnHrqqVitVtatW8dNN93EPffcY3ZZIhKAFHpEJOitX7+e3r17069fP1auXInNZjO7JBEJQJrILCJB78UXXyQ6OpqtW7eyc+dOs8sRkQClnh4RCWpff/01J598Mp9++ikPPvggAP/5z3+wWCwmVyYigUY9PSIStGpqahg3bhzXX389w4cPZ9asWSxfvpxnn33W7NJEJACpp0dEgtbEiRP597//zZo1a4iOjgbgueee44477mDdunV07drV3AJFJKAo9IhIUFqyZAkjRoxg8eLFDBs2rEXbGWecgcvl0jCXiLSg0CMiIiIhQXN6REREJCQo9IiIiEhIUOgRERGRkKDQIyIiIiFBoUdERERCgkKPiIiIhASFHhEREQkJCj0iIiISEhR6REREJCQo9IiIiEhIUOgRERGRkPD/AXXRJKZX8yD/AAAAAElFTkSuQmCC\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# Plot Unnown location with different colors for k-means clusters (choose K based on what you feel is appropriate)\n",
        "kmeans = KMeans(n_clusters=6, random_state=42)\n",
        "kmeans.fit(data.dropna()[['X','Y']])\n",
        "centers = kmeans.cluster_centers_\n",
        "plt.scatter(data.dropna().X,data.dropna().Y, c=kmeans.labels_, cmap='viridis', alpha=0.6, edgecolor='k')\n",
        "plt.scatter(centers[:, 0], centers[:, 1], c='red', s=100, marker='X', label='Centroids')\n",
        "plt.legend()\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 430
        },
        "id": "9vNVA5qOT-2i",
        "outputId": "14e201c7-affa-4e7e-9d4b-03490791b172"
      },
      "id": "9vNVA5qOT-2i",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ],
            "image/png": "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5sxBaGgo0tLSsH//fixatAhOTk6X+1dIPYCnpx+Kips7bC8qaYCXt38XVkREjqh3hRSVCkhNBcLCgAvc3milUFiOT021PgvoIuXk5EAURcTFxXV4zPbt27F371788MMPSEpKQkxMDN588014enrixx9/bD3ObDbjq6++woABA5CcnIw77rijdUyLh4cHlEolXFxcEBgYiMDAQMjl8tZz/+///g9XXHEFoqOjoVKp8PHHH+ONN97AjBkzEB8fj88++wzOzs74/PPPrdb43nvv4corr8QTTzyB2NhYPPTQQ5g+fXqbY06dOoWpU6ciLi4OMTExmD17NgYPHnw5f33UQ4wdm4ycfCArp7JdW+HpWhzJNGLMmAldXxgROZTeFVIAICQE2Latc0GlJaBs22Y5zwY6swP0oUOH0NDQAB8fH7i5ubV+5eXlITc3t/W4iIiINtM0g4KCUFZW1qk6kpKSWv87NzcXBoMBY8eObX3OyckJI0aMQGZmptXzMzMzMXLkyDbPjR49us3jRx99FPfccw+mTp2KJUuWtKmderehQ4citv8kfPSfE1i/KRfVNc2oqdFic0oe3vn4KMIjx7b7/4mIeh+7Dpx1WCEhlkGyI0ac/zij0XKcjQIKAMTExEAQhPMOjm1oaEBQUBC2bt3aru3cKb5/vnUiCEKn16CxdqvJ1l544QXcdtttWL16NdauXYvnn38e3333nWNMQSdJyWQyPPjgI1i+PAi/bVyPFauPABAhU3gjafgtuO22Obw1SES9NKQUFVlm8SgUHY9BASztN99s054Ub29vTJ8+HR999BEeeuihdmGhpqYGw4YNw5kzZ6BQKBAREXHJ11IqlTCZTBc8Ljo6GkqlEjt27ECfPn0AAAaDAWlpaR1OYe7fvz/27NnT5rmWQb/nio2NRWxsLP7+97/j1ltvxZdffsmQQgAsK0zfeeeduP7661t72VoGgRMRAb3xdk/LOih/nsVjTcusn3PXUbGBjz76CCaTCSNGjMBPP/2E7OxsZGZm4v3338fo0aMxdepUjB49Gtdddx02bNiA/Px87Ny5E08//fRFzY6JiIjAnj17kJ+fj4qKig57WVxdXbFgwQI8/vjjWLduHY4dO4b58+ejqakJd999t9VzHnroIaxbtw5vvvkmsrOz8eGHH2LdunWt7c3NzXjggQewdetWFBQUYMeOHUhL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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "markdown",
      "id": "df4a5187-08ba-420b-b24a-5c8290e59b8b",
      "metadata": {
        "id": "df4a5187-08ba-420b-b24a-5c8290e59b8b"
      },
      "source": [
        "## **EDIT THIS: [2 pts]**\n",
        "\n",
        "### (a)  Is there a correlation between the location variables and the genetic label? Can you directly use them as features for classification?  Justify. [1 pt]\n",
        "- 1st Part: Yes, 2nd Part: No\n",
        "- Reasons: There is a clear corelation between the location and genetic label as we can see from the plot. However, between label A and D, location isn't enough. We also might want to scale the input data as it is very noisy.\n",
        "\n",
        "### (b) Prof. Log suggests using K-means to identify clusters that could map to genetic groups. Is that a good idea? Justify. [1 pt]\n",
        "- No\n",
        "- Reasons: While using K-Means is enough for B and C, it fails to differentiate between A and D.\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "90396dfb-9b1b-48e6-8a4e-bff9ad429fc3",
      "metadata": {
        "id": "90396dfb-9b1b-48e6-8a4e-bff9ad429fc3"
      },
      "source": [
        "<div style=\"color:blue\">\n",
        "<hr>\n",
        "    \n",
        "# **Q2: Clustering the Unnown based on Location** [4 pts]\n",
        "</div>"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "7aa16c19-2d02-4347-9ce4-6a4ac230e0b7",
      "metadata": {
        "id": "7aa16c19-2d02-4347-9ce4-6a4ac230e0b7"
      },
      "source": [
        "<div style=\"color:blue\">\n",
        "\n",
        "### **DATA**\n",
        "\n",
        "Use the same train **dataset** as in Q1\n",
        "\n",
        "- **`unnown_train_path`**: Training dataset with recorded Unnown observations.\n",
        "\n",
        "\n",
        "</div>\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "acdedf10-2dd4-4aef-ab5a-eab8a681d299",
      "metadata": {
        "id": "acdedf10-2dd4-4aef-ab5a-eab8a681d299"
      },
      "outputs": [],
      "source": [
        "# Training datasets\n",
        "unnown_train_path = \"data/unnown_train.csv\"  # Unnown specimen data\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "5607c19b-2e1a-4fa7-91d0-a3833dce5fc7",
      "metadata": {
        "id": "5607c19b-2e1a-4fa7-91d0-a3833dce5fc7"
      },
      "source": [
        "<div style=\"color:blue\">\n",
        "    \n",
        "### **TASK**\n",
        "\n",
        "#### (a) Create a function **learn_location_clusters** as per the signature defined below.  \n",
        "If you scroll down, you will see cells with the skeletal code that you need to flesh out.\n",
        "\n",
        "---\n",
        "\n",
        "#### **Function 1: `learn_location_clusters`**\n",
        "\n",
        "```python\n",
        "def learn_location_clusters(df: pd.DataFrame, k: int) -> pd.DataFrame:\n",
        "    \"\"\"\n",
        "    Applies k-Means clustering on the given location columns and appends a Cluster_ID to the DataFrame.\n",
        "\n",
        "    Parameters:\n",
        "    - df (pd.DataFrame): The input DataFrame containing location and specimen ID.\n",
        "    - k (int): The number of clusters to form.\n",
        "\n",
        "    Returns:\n",
        "    - pd.DataFrame: The original DataFrame with an additional 'Cluster_ID' column.\n",
        "    \"\"\"\n",
        "```\n",
        "\n",
        "#### (b) Evaluate the goodness of resulting clustering relative to the known labels using the helper code\n",
        "\n",
        "</div>"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "dd8f6483-e49c-4c8e-acf4-36aafd974782",
      "metadata": {
        "id": "dd8f6483-e49c-4c8e-acf4-36aafd974782"
      },
      "source": [
        "<div style=\"color:blue\">\n",
        "    \n",
        "### **HELPER CODE**\n",
        "</div>"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "4aecde05-cf08-4bce-ab76-d2a801331ce1",
      "metadata": {
        "id": "4aecde05-cf08-4bce-ab76-d2a801331ce1"
      },
      "outputs": [],
      "source": [
        "# HELPER CODE\n",
        "# You may choose to use or modify any of the below code in your solution, but it is NOT mandatory\n",
        "\n",
        "def plot_confusion_matrix(true_labels, predicted_labels, title=\"Confusion Matrix\"):\n",
        "    \"\"\"\n",
        "    Generates and displays a confusion matrix.\n",
        "\n",
        "    Parameters:\n",
        "    - true_labels (array-like): Ground truth labels (e.g., genetic labels).\n",
        "    - predicted_labels (array-like): Predicted labels (e.g., Cluster_IDs).\n",
        "    - title (str): Title for the confusion matrix plot.\n",
        "\n",
        "    Returns:\n",
        "    - None (displays the plot).\n",
        "    \"\"\"\n",
        "    cm = confusion_matrix(true_labels, predicted_labels)\n",
        "\n",
        "    plt.figure(figsize=(6, 5))\n",
        "    sns.heatmap(cm, annot=True, fmt='d', cmap=\"Blues\", xticklabels=sorted(set(predicted_labels)), yticklabels=sorted(set(true_labels)))\n",
        "    plt.xlabel(\"Predicted Clusters\")\n",
        "    plt.ylabel(\"True Labels\")\n",
        "    plt.title(title)\n",
        "    plt.show()\n",
        "\n",
        "\n",
        "def evaluate_location_cluster_predictive_utility(file_path: str, k: int = 4) -> dict:\n",
        "    \"\"\"\n",
        "    Reads a CSV file, applies k-Means clustering on (X, Y) location data, evaluates clustering performance\n",
        "    using NMI, Homogeneity, and Completeness, and visualizes a confusion matrix of clusters vs. genetic labels.\n",
        "\n",
        "    Parameters:\n",
        "    - file_path (str): Path to the CSV file containing the dataset.\n",
        "    - k (int): Number of clusters for k-Means clustering (default: 4).\n",
        "\n",
        "    Returns:\n",
        "    - dict: Dictionary of clustering evaluation metrics (NMI, Homogeneity, Completeness).\n",
        "    \"\"\"\n",
        "\n",
        "    # Load dataset\n",
        "    df = pd.read_csv(file_path)\n",
        "\n",
        "    # Ensure required columns exist\n",
        "    required_cols = [\"X\", \"Y\", \"Genetic_Label\"]\n",
        "    if not all(col in df.columns for col in required_cols):\n",
        "        raise ValueError(f\"Missing required columns. Ensure {required_cols} exist in the dataset.\")\n",
        "\n",
        "    # Drop rows where X or Y are missing\n",
        "    df = df.dropna(subset=[\"X\", \"Y\"])\n",
        "\n",
        "    # Apply clustering on (X, Y) using learn_location_clusters\n",
        "    df = learn_location_clusters(df, location_cols=[\"X\", \"Y\"], specimen_id_col=\"Specimen_ID\", k=k)\n",
        "\n",
        "    # Filter dataset to compute metrics only where Genetic_Label is available\n",
        "    df_labeled = df.dropna(subset=[\"Genetic_Label\"])\n",
        "\n",
        "    # Convert genetic labels to integer if needed\n",
        "    labels_true = df_labeled[\"Genetic_Label\"].map({\n",
        "        'A': 0,\n",
        "        'B': 1,\n",
        "        'C': 2,\n",
        "        'D': 3,\n",
        "    })\n",
        "    labels_pred = df_labeled[\"Cluster_ID\"]\n",
        "\n",
        "    # Compute clustering evaluation metrics\n",
        "    metrics = {\n",
        "        \"NMI\": normalized_mutual_info_score(labels_true, labels_pred),\n",
        "        \"Homogeneity\": homogeneity_score(labels_true, labels_pred),\n",
        "        \"Completeness\": completeness_score(labels_true, labels_pred)\n",
        "    }\n",
        "\n",
        "    # Print results\n",
        "    print(\"\\nClustering Evaluation Metrics (Only on Available Genetic Labels):\")\n",
        "    for key, value in metrics.items():\n",
        "        print(f\"{key}: {value:.4f}\")\n",
        "\n",
        "    # Generate and display the confusion matrix\n",
        "    plot_confusion_matrix(labels_true, labels_pred, title=\"Confusion Matrix: Genetic Label vs. Cluster ID\")\n",
        "\n",
        "    return metrics\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "ebb0a1cf-b311-453b-b33e-b389d46dc8ea",
      "metadata": {
        "id": "ebb0a1cf-b311-453b-b33e-b389d46dc8ea"
      },
      "source": [
        "<div style=\"color:red\">\n",
        "    \n",
        "# ANSWER\n",
        "\n",
        "</div>"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "480dcef1-34ce-4535-8eb1-81ec4eecc4d1",
      "metadata": {
        "id": "480dcef1-34ce-4535-8eb1-81ec4eecc4d1"
      },
      "source": [
        "## **EDIT: [1 pts]**\n",
        "#### You can jot down initial notes here and flesh this out in more detail after the implementation.\n",
        "\n",
        "### **Describe Your Solution Approach**\n",
        "\n",
        "#### **• Data Exploration Notes** [0.5 pt]\n",
        "  -   Just location is not enough to find out the genetic label.\n",
        "  -   As stated above, A and D have similar location patterns.\n",
        "  -   Everything except specimen ID seems to be useful.\n",
        "\n",
        "#### **• Modeling Strategy & Choices** [0.5 pt]\n",
        "  -   I am applying K-Means on the input data\n",
        "  -   I could scale it, but it is not asked by the question\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "eee9efac-7f31-4aa7-9867-36483a35f99c",
      "metadata": {
        "id": "eee9efac-7f31-4aa7-9867-36483a35f99c"
      },
      "outputs": [],
      "source": [
        "# EDIT: [2 pts]\n",
        "# Implement the learning of location clusters\n",
        "# You can edit the partial implementation but keep the signature same\n",
        "\n",
        "def learn_location_clusters(df: pd.DataFrame, location_cols: list, specimen_id_col: str, k: int) -> pd.DataFrame:\n",
        "    \"\"\"\n",
        "    Applies k-Means clustering on the given location columns and appends a Cluster_ID to the DataFrame.\n",
        "\n",
        "    Parameters:\n",
        "    - df (pd.DataFrame): The input DataFrame containing location and specimen ID.\n",
        "    - location_cols (list): location columns to use for clustering.\n",
        "    - k (int): The number of clusters to form.\n",
        "\n",
        "    Returns:\n",
        "    - pd.DataFrame: The original DataFrame with an additional 'Cluster_ID' column.\n",
        "    \"\"\"\n",
        "    df[\"Cluster_ID\"] = KMeans(n_clusters=k).fit_predict(df[['X','Y']])\n",
        "    return df"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "d38110a0-11a7-4542-84e2-722a7d0d1026",
      "metadata": {
        "id": "d38110a0-11a7-4542-84e2-722a7d0d1026",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 594
        },
        "outputId": "f2621d39-ab39-40ed-88d4-6b809192b646"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "Clustering Evaluation Metrics (Only on Available Genetic Labels):\n",
            "NMI: 0.5268\n",
            "Homogeneity: 0.5438\n",
            "Completeness: 0.5109\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 600x500 with 2 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "{'NMI': 0.5268427855206459, 'Homogeneity': 0.5437642626071661, 'Completeness': 0.5109426876721497}\n"
          ]
        }
      ],
      "source": [
        "# DO NOT MODIFY except for choice of k - you can set it to your preferred value\n",
        "# Run this code and observe the clustering metrics\n",
        "# [pts depend on performance range]\n",
        "chosen_k = 5\n",
        "print(evaluate_location_cluster_predictive_utility(unnown_train_path, chosen_k))"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "7c03dcb5-e0ff-4d3b-a891-a5dd98ad6719",
      "metadata": {
        "id": "7c03dcb5-e0ff-4d3b-a891-a5dd98ad6719"
      },
      "source": [
        "## **EDIT: [1 pts]**\n",
        "#### You can jot down clustering metrics below\n",
        "\n",
        "### **Train Set Performance**\n",
        "  - K: 5\n",
        "  - Normalized Mutual information: 0.53\n",
        "  - Homogeneity Score: 0.54\n",
        "  - Completeness Score: 0.51\n",
        "  - Confusion Matrix Output: (ran above)\n",
        "      \n",
        "\n",
        "### **Any Additional Observations**\n",
        "  -   The model seems to perform best with k = 5"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "38f43c60-3d68-4bc4-9a0d-04013384205a",
      "metadata": {
        "id": "38f43c60-3d68-4bc4-9a0d-04013384205a"
      },
      "source": [
        "<div style=\"color:blue\">\n",
        "<hr>    \n",
        "\n",
        "# **Q3: Training a Genetic Strain Classifier** [4 pts]\n",
        "\n",
        "</div>"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "b1df1984-d7ae-4727-8b46-1f73272d48d3",
      "metadata": {
        "id": "b1df1984-d7ae-4727-8b46-1f73272d48d3"
      },
      "source": [
        "<div style=\"color:blue\">\n",
        "\n",
        "### **DATA**\n",
        "\n",
        "Use the same train **dataset** as in Q1\n",
        "\n",
        "- **`unnown_train_path`**: Training dataset with recorded Unnown observations.\n",
        "\n",
        "\n",
        "</div>\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "f5faafdf-faaf-4cb4-9255-f96cf51c92df",
      "metadata": {
        "id": "f5faafdf-faaf-4cb4-9255-f96cf51c92df"
      },
      "outputs": [],
      "source": [
        "# Training datasets\n",
        "unnown_train_path = \"data/unnown_train.csv\"  # Unnown specimen data\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "b06bb2d5-b6a0-4445-9dd9-3ad195a6f917",
      "metadata": {
        "id": "b06bb2d5-b6a0-4445-9dd9-3ad195a6f917"
      },
      "source": [
        "<div style=\"color:blue\">\n",
        "    \n",
        "### **TASK**\n",
        "\n",
        "Create two functions **learn_unnown_classifier** and **classify_unnown** as per the signatures defined below.  \n",
        "If you scroll down, you will see cells with the skeletal code that you need to flesh out.\n",
        "\n",
        "---\n",
        "\n",
        "#### **Function 1: `learn_unnown_classifier`**\n",
        "```python\n",
        "def learn_unnown_classifier(train_file_path: str) -> Any:\n",
        "    \"\"\"\n",
        "    Loads the Unnown dataset from a CSV file, trains a classifier using both location and other available features,\n",
        "    (but no cluster labels) and returns the trained model.\n",
        "\n",
        "    Parameters:\n",
        "    - train_file_path (str): Path to CSV file containing labeled Unnown data.\n",
        "\n",
        "    Returns:\n",
        "    - model: Trained machine learning model (can take any form).\n",
        "    \"\"\"\n",
        "```\n",
        "---\n",
        "\n",
        "#### **Function 2: `classify_unnown`**\n",
        "```python\n",
        "def classify_unnown(features: pd.DataFrame, model: Any) -> pd.Series:\n",
        "    \"\"\"\n",
        "    Uses the trained model to classify an Unnown specimen into one of four genetic strain classes (A, B, C, D).\n",
        "\n",
        "    Parameters:\n",
        "    - features (pd.DataFrame): A dataframe containing feature values (e.g., pd.DataFrame({\"X\": 45.3, \"Y\": 12.7, \"specimen_size\": 5.8, ...})).\n",
        "    - model (Any): The trained model from learn_unnown_classifier.\n",
        "\n",
        "    Returns:\n",
        "    - pd.Series: A hard label prediction indicating the predicted genetic label of the Unnown.\n",
        "        - \"A\", \"B\", \"C\", or \"D\" depending on classification result.\n",
        "    \"\"\"\n",
        "```\n",
        "\n",
        "</div>"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "635f2188-3452-4b20-8a69-180aaf34ab01",
      "metadata": {
        "id": "635f2188-3452-4b20-8a69-180aaf34ab01"
      },
      "source": [
        "<div style=\"color:blue\">\n",
        "    \n",
        "### **HELPER CODE**\n",
        "\n",
        "You may choose to use or modify any of the below code in your solution, but it is NOT mandatory\n",
        "\n",
        "</div>"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "bd4f5867-84cd-4345-9b47-1b3cca647420",
      "metadata": {
        "id": "bd4f5867-84cd-4345-9b47-1b3cca647420"
      },
      "outputs": [],
      "source": [
        "# HELPER CODE\n",
        "# You may choose to use or modify any of the below code in your solution, but it is NOT mandatory\n",
        "\n",
        "def prepare_features(\n",
        "    df: pd.DataFrame,\n",
        "    numeric_features: List[str],\n",
        "    categorical_features: List[str],\n",
        "    encoders: dict = None,\n",
        "    scalers: dict = None\n",
        ") -> Tuple[pd.DataFrame, dict, dict]:\n",
        "    \"\"\"\n",
        "    Transforms a DataFrame by encoding categorical features and scaling numeric features.\n",
        "\n",
        "    Parameters:\n",
        "    - df (pd.DataFrame): Input data containing numeric and categorical features.\n",
        "    - numeric_features (List[str]): List of numeric feature columns to scale.\n",
        "    - categorical_features (List[str]): List of categorical feature columns to one-hot encode (including cluster IDs).\n",
        "    - encoders (dict): Pre-fitted OneHotEncoders for categorical features (for inference consistency).\n",
        "    - scalers (dict): Pre-fitted StandardScalers for numeric features (for inference consistency).\n",
        "\n",
        "    Returns:\n",
        "    - pd.DataFrame: Transformed feature matrix ready for training/inference.\n",
        "    - dict: Updated encoders (useful for reusing between train and test).\n",
        "    - dict: Updated scalers (useful for reusing between train and test).\n",
        "    \"\"\"\n",
        "\n",
        "    X_parts = []\n",
        "\n",
        "    # Step A: Process Numeric Features\n",
        "    if scalers is None:\n",
        "        scalers = {}\n",
        "    numeric_df = df[numeric_features].copy()\n",
        "\n",
        "    for num_col in numeric_features:\n",
        "        if num_col not in scalers:\n",
        "            scaler = StandardScaler()\n",
        "            numeric_df[num_col] = scaler.fit_transform(numeric_df[[num_col]])\n",
        "            scalers[num_col] = scaler\n",
        "        else:\n",
        "            scaler = scalers[num_col]\n",
        "            numeric_df[num_col] = scaler.transform(numeric_df[[num_col]])\n",
        "\n",
        "    X_parts.append(numeric_df)\n",
        "\n",
        "    # Step B: Process Categorical Features (including Cluster_ID)\n",
        "    if encoders is None:\n",
        "        encoders = {}\n",
        "    cat_df_list = []\n",
        "\n",
        "    for cat_col in categorical_features:\n",
        "        if cat_col not in encoders:\n",
        "            ohe = OneHotEncoder(handle_unknown=\"ignore\", sparse_output=False)\n",
        "            ohe.fit(df[[cat_col]])\n",
        "            encoders[cat_col] = ohe\n",
        "        else:\n",
        "            ohe = encoders[cat_col]\n",
        "\n",
        "        cat_data = ohe.transform(df[[cat_col]])\n",
        "        cat_names = ohe.get_feature_names_out([cat_col])\n",
        "        cat_df = pd.DataFrame(cat_data, columns=cat_names, index=df.index)\n",
        "        cat_df_list.append(cat_df)\n",
        "\n",
        "    if cat_df_list:\n",
        "        cat_combined = pd.concat(cat_df_list, axis=1)\n",
        "        X_parts.append(cat_combined)\n",
        "\n",
        "    # Step C: Combine all parts horizontally\n",
        "    X = pd.concat(X_parts, axis=1).reset_index(drop=True)\n",
        "\n",
        "    return X, encoders, scalers\n",
        "\n",
        "\n",
        "\n",
        "def learn_classifier(X, y, model_name=\"random_forest\"):\n",
        "    \"\"\"\n",
        "    Train a classifier based on the chosen model.\n",
        "\n",
        "    Parameters:\n",
        "    - X (numpy.ndarray or pandas.DataFrame): Feature matrix (samples x features).\n",
        "    - y (numpy.ndarray or pandas.Series): Labels corresponding to samples.\n",
        "    - model_name (str): Name of the model to use (\"random_forest\", \"logistic_regression\", \"naive_bayes\").\n",
        "\n",
        "    Returns:\n",
        "    - model (fitted classifier): Trained classifier.\n",
        "    - accuracy (float): Training accuracy.\n",
        "    \"\"\"\n",
        "\n",
        "    # Select the model based on user input\n",
        "    if model_name == \"random_forest\":\n",
        "        model = RandomForestClassifier(n_estimators=100, random_state=42)\n",
        "    elif model_name == \"logistic_regression\":\n",
        "        model = LogisticRegression(max_iter=1000, random_state=42)\n",
        "    elif model_name == \"naive_bayes\":\n",
        "        model = MultinomialNB()\n",
        "    else:\n",
        "        raise ValueError(\"Invalid model_name. Choose from 'random_forest', 'logistic_regression', 'naive_bayes'.\")\n",
        "\n",
        "    # Train the model\n",
        "    model.fit(X, y)\n",
        "\n",
        "    # Evaluate accuracy on test data\n",
        "    y_pred = model.predict(X)\n",
        "    accuracy = accuracy_score(y, y_pred)\n",
        "    print(f'Train Classification Accuracy: {accuracy}')\n",
        "    return model, accuracy\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "46e3303e-cb4a-481b-bac5-a360ac7bb39f",
      "metadata": {
        "id": "46e3303e-cb4a-481b-bac5-a360ac7bb39f"
      },
      "source": [
        "<div style=\"color:red\">\n",
        "    \n",
        "# ANSWER\n",
        "\n",
        "</div>"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "04fcebb9-832e-4223-a3ea-00198282628b",
      "metadata": {
        "id": "04fcebb9-832e-4223-a3ea-00198282628b"
      },
      "source": [
        "## **EDIT: [1.5 pts]**\n",
        "You can jot initial notes here and flesh this out in more detail after the implementation.\n",
        "\n",
        "#### **Describe Your Solution Approach** [0.5pt]\n",
        " - I am using a Scikit learn pipeline for my model\n",
        "#### **Modeling Strategy and Choices** [1 pt]\n",
        "  -   \n",
        "  -   \n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "ef5b8218-ddb4-43ae-bec4-04ee074774b5",
      "metadata": {
        "id": "ef5b8218-ddb4-43ae-bec4-04ee074774b5"
      },
      "outputs": [],
      "source": [
        "# EDIT: [1.5 pts]\n",
        "# Implement the classifier training\n",
        "# You can choose to  edit the partial implementation but keep the signature same\n",
        "def learn_unnown_classifier(train_file_path: str) -> Any:\n",
        "    \"\"\"\n",
        "    Loads the Unnown dataset from a CSV file, trains a classifier using both location and other available features,\n",
        "    and returns the trained model.\n",
        "    Consider how you can use the Cluster_IDs here to improve the performance.\n",
        "\n",
        "    Parameters:\n",
        "    - train_file_path (str): Path to CSV file containing labeled Unnown data.\n",
        "\n",
        "    Returns:\n",
        "    - model: Trained machine learning model (can take any form, including a dict).\n",
        "    \"\"\"\n",
        "    data = pd.read_csv(unnown_train_path)\n",
        "    model = Pipeline([\n",
        "          (\"Label\",LabelSpreading(kernel=\"knn\")),\n",
        "    ])\n",
        "    mapping2 = {\"Herbivore\": 1,\"Carnivore\": 2}\n",
        "    mapping = {'A': 1, 'B': 2, 'C': 3, 'D': 4}\n",
        "    data.Genetic_Label = data.Genetic_Label.map(mapping)\n",
        "    data.Genetic_Label = data.Genetic_Label.fillna(-1)\n",
        "    data.Diet_Type = data.Diet_Type.map(mapping2)\n",
        "    model.fit(data[['X','Y','Specimen_Size','Diet_Type']],data.Genetic_Label)\n",
        "    return model"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "5820a513-afe3-4b39-a695-57f7a17a0d83",
      "metadata": {
        "id": "5820a513-afe3-4b39-a695-57f7a17a0d83"
      },
      "outputs": [],
      "source": [
        "# EDIT: [1 pt]\n",
        "# Implement the classifier prediction function\n",
        "# You can choose to  edit the partial implementation but keep the signature same\n",
        "def classify_unnown(features: pd.DataFrame, model: Any) -> pd.Series:\n",
        "    \"\"\"\n",
        "    Uses the trained model to classify an Unnown specimen into one of four genetic strain classes (A, B, C, D).\n",
        "\n",
        "    Parameters:\n",
        "    - features (pd.DataFrame): A dataframe containing feature values (e.g., pd.DataFrame({\"X\": 45.3, \"Y\": 12.7, \"specimen_size\": 5.8, ...})).\n",
        "    - model (Any): The trained model from learn_unnown_classifier\n",
        "\n",
        "    Returns:\n",
        "    - pd.Series: A hard label prediction indicating the predicted genetic label of the Unnown.\n",
        "        - \"A\", \"B\", \"C\", or \"D\" depending on classification result.\n",
        "    \"\"\"\n",
        "    mapping = {1: 'A', 2: 'B', 3: 'C', 4: 'D'}\n",
        "\n",
        "    mapping2 = {\"Herbivore\": 1,\"Carnivore\": 2}\n",
        "    features.Diet_Type = features.Diet_Type.map(mapping2)\n",
        "    pred =  model.predict(features[['X','Y','Specimen_Size','Diet_Type']])\n",
        "    # pred = pred.map(mapping)\n",
        "    # print(pred.info())\n",
        "    return pd.Series(pred).map(mapping)"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "b2b32973-f713-4c29-9f7e-8af081fab10a",
      "metadata": {
        "id": "b2b32973-f713-4c29-9f7e-8af081fab10a"
      },
      "source": [
        "<div style=\"color:blue\">\n",
        "<hr>\n",
        "    \n",
        "# **Q4: Testing your Unnown Classifier on New Public Dataset** [1 pt]\n",
        "\n",
        "</div>"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "174ad98c-1104-4638-af34-13cff87cfe7c",
      "metadata": {
        "id": "174ad98c-1104-4638-af34-13cff87cfe7c"
      },
      "source": [
        "<div style=\"color:blue\">\n",
        "\n",
        "### **DATA**\n",
        "Prof. Log  discovers a small completely labeled dataset created by another researcher. Luckily it also has detailed observations of the locations and  physiological attributes with genetic labels for you to test out your classification model\n",
        "\n",
        "- **`unnown_test_public_path`**: Test dataset with recorded Unnown observations.\n",
        "\n",
        "#### Columns\n",
        "- **`Specimen_ID`** - Unique identifier for each Unnown specimen.  \n",
        "- **`X, Y`** – Geographic coordinates of capture, i.e., terrain  \n",
        "- **`Specimen_Size`** – Measured size of the Unnown (continuous variable).  \n",
        "- **`Diet_Type`** – Categorical variable indicating whether the Unnown is **herbivorous, carnivorous, or omnivorous**.  \n",
        "- **`Genetic_Label`** – The target variable, representing one of four possible Unnown genetic strains (**A, B, C, D**) available for all specimens\n",
        "                                            \n",
        "</div>"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "6545d03d-d186-4e35-a68a-6982dade2017",
      "metadata": {
        "id": "6545d03d-d186-4e35-a68a-6982dade2017"
      },
      "outputs": [],
      "source": [
        "# Public Test Dataset\n",
        "unnown_test_public_path = \"data/unnown_test_public.csv\"  # test dataset that does not overlap with the train data"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "b5ebae74-5747-43be-bb08-4b751447baa9",
      "metadata": {
        "id": "b5ebae74-5747-43be-bb08-4b751447baa9"
      },
      "source": [
        "<div style=\"color:blue\">  \n",
        "\n",
        "### **TASK**\n",
        "\n",
        "Execute the code below as is with your implementation of **learn_unnown_classifier** and **classify_unnown** to test your model\n",
        "\n",
        "- Evaluate your model on this test set.\n",
        "- Compute **Classification Accuracy** and **Confusion Matrix**\n",
        "  \n",
        "</div>"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "712424fb-20f3-4e94-ab42-d16b8c8273d2",
      "metadata": {
        "id": "712424fb-20f3-4e94-ab42-d16b8c8273d2"
      },
      "source": [
        "<div style=\"color:blue\">\n",
        "    \n",
        "### **HELPER CODE**\n",
        "</div>"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "2b861f33-3a7d-480c-8478-7c16b5294cc3",
      "metadata": {
        "id": "2b861f33-3a7d-480c-8478-7c16b5294cc3"
      },
      "outputs": [],
      "source": [
        "# HELPER CODE, DO NOT MODIFY\n",
        "# Use these functions directly since these are meant for evaluation\n",
        "\n",
        "\n",
        "def evaluate_unnown_classifier(test_file_path: str, model) -> None:\n",
        "    \"\"\"\n",
        "    Evaluates a trained Unnown classifier on a test dataset and prints performance metrics.\n",
        "\n",
        "    Parameters:\n",
        "    - test_file_path (str): Path to CSV file containing labeled test data.\n",
        "    - model (Any): Pre-trained model from learn_unnown_classifier.\n",
        "\n",
        "    Returns:\n",
        "    - None (prints accuracy and confusion matrix).\n",
        "    \"\"\"\n",
        "\n",
        "    # Load the test dataset\n",
        "    df_test = pd.read_csv(test_file_path)\n",
        "\n",
        "    # Ensure the target label exists\n",
        "    if \"Genetic_Label\" not in df_test.columns:\n",
        "        raise ValueError(\"Test file must contain 'Genetic_Label' column for evaluation.\")\n",
        "\n",
        "    # Extract true labels and features\n",
        "    true_labels = df_test[\"Genetic_Label\"]\n",
        "\n",
        "    # Drop non-feature columns (e.g., Specimen_ID)\n",
        "    feature_columns = [col for col in df_test.columns if col not in [\"Specimen_ID\", \"Genetic_Label\"]]\n",
        "\n",
        "    # Predict labels using classify_unnown\n",
        "    predicted_labels = classify_unnown(df_test[feature_columns], model)\n",
        "\n",
        "    # Compute classification accuracy\n",
        "    accuracy = accuracy_score(true_labels, predicted_labels)\n",
        "\n",
        "    # Generate confusion matrix\n",
        "    unique_labels = sorted(true_labels.unique())  # Ensure correct label order\n",
        "    cm = confusion_matrix(true_labels, predicted_labels, labels=unique_labels)\n",
        "\n",
        "    # Print classification accuracy\n",
        "    print(f\"\\nTest Classification Accuracy: {accuracy:.4f}\")\n",
        "\n",
        "    # Plot confusion matrix\n",
        "    plt.figure(figsize=(6,5))\n",
        "    sns.heatmap(cm, annot=True, fmt='d', cmap=\"Blues\", xticklabels=unique_labels, yticklabels=unique_labels)\n",
        "    plt.xlabel(\"Predicted Label\")\n",
        "    plt.ylabel(\"True Label\")\n",
        "    plt.title(\"Confusion Matrix: Test Set\")\n",
        "    plt.show()\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "ccf2868a-0bc1-45a3-94c9-352aafad85c8",
      "metadata": {
        "id": "ccf2868a-0bc1-45a3-94c9-352aafad85c8",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 630
        },
        "outputId": "b45084eb-b147-43b1-c8ca-bde33eedc3bf"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "Test Classification Accuracy: 0.8400\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "<ipython-input-108-fc2c2d537d86>:19: SettingWithCopyWarning: \n",
            "A value is trying to be set on a copy of a slice from a DataFrame.\n",
            "Try using .loc[row_indexer,col_indexer] = value instead\n",
            "\n",
            "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
            "  features.Diet_Type = features.Diet_Type.map(mapping2)\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 600x500 with 2 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {}
        }
      ],
      "source": [
        "# DO NOT MODIFY\n",
        "# Run this code and observe the performance on the test set\n",
        "# [pts depend on performance range]\n",
        "model = learn_unnown_classifier(unnown_train_path)\n",
        "evaluate_unnown_classifier(unnown_test_public_path, model)"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "06100e12-6da5-42f1-b437-0b17fd92280f",
      "metadata": {
        "id": "06100e12-6da5-42f1-b437-0b17fd92280f"
      },
      "source": [
        "<div style=\"color:red\">\n",
        "    \n",
        "# ANSWER\n",
        "\n",
        "</div>"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "40a1cb92-1a56-4277-b6ad-51dda9dcbd9d",
      "metadata": {
        "id": "40a1cb92-1a56-4277-b6ad-51dda9dcbd9d"
      },
      "source": [
        "## **EDIT: [1 pts]**\n",
        "#### You can jot down the train and test metrics below\n",
        "\n",
        "### **Test Set Performance**\n",
        "  - Classification Accuracy: 0.84\n",
        "  - Confusion Matrix: Shown Above\n",
        "\n",
        "### **Any Additional Observations**\n",
        "  -   I used a semi-supervised approach since less amount of labelled data available\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "3d3bf4f4-d9da-4b10-bcde-bcd987a20648",
      "metadata": {
        "id": "3d3bf4f4-d9da-4b10-bcde-bcd987a20648"
      },
      "outputs": [],
      "source": []
    },
    {
      "cell_type": "markdown",
      "id": "15e0f606-9220-4647-9165-2077c2c9edc5",
      "metadata": {
        "id": "15e0f606-9220-4647-9165-2077c2c9edc5"
      },
      "source": [
        "<div style=\"color:red\">\n",
        "\n",
        "<hr>\n",
        "<hr>\n",
        "<hr>\n",
        "\n",
        "# YOU CAN STOP THE TEST HERE -- BELOW EVALUATION TO BE PERFORMED BY INAIO\n",
        "\n",
        "</div>"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "55913a7f-d68b-4825-9394-26746d8c9c8b",
      "metadata": {
        "id": "55913a7f-d68b-4825-9394-26746d8c9c8b"
      },
      "source": [
        "<div style=\"color:blue\">\n",
        "\n",
        "# **Q5: Testing your Unnown Classifier on New Private Dataset** [1 pt]\n",
        "\n",
        "- Same metrics as Public Dataset\n",
        "\n",
        "</div>"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "ea8e6016-4b27-4adb-9f6e-e4481b0c126c",
      "metadata": {
        "id": "ea8e6016-4b27-4adb-9f6e-e4481b0c126c"
      },
      "outputs": [],
      "source": []
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3 (ipykernel)",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.9.12"
    },
    "colab": {
      "provenance": [],
      "collapsed_sections": [
        "22317080-f918-404a-a904-ea58014a1ab1",
        "dd8f6483-e49c-4c8e-acf4-36aafd974782",
        "635f2188-3452-4b20-8a69-180aaf34ab01"
      ],
      "toc_visible": true
    }
  },
  "nbformat": 4,
  "nbformat_minor": 5
}