{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "feaf77ab", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "workding dir: /Users/inflaton/code/engd/papers/maritime/global-incidents\n", "loading env vars from: /Users/inflaton/code/engd/papers/maritime/global-incidents/.env\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%load_ext autoreload\n", "%autoreload 2\n", "\n", "import os\n", "import sys\n", "from pathlib import Path\n", "\n", "workding_dir = str(Path.cwd().parent)\n", "os.chdir(workding_dir)\n", "sys.path.append(workding_dir)\n", "print(\"workding dir:\", workding_dir)\n", "\n", "from dotenv import find_dotenv, load_dotenv\n", "\n", "found_dotenv = find_dotenv(\".env\")\n", "\n", "if len(found_dotenv) == 0:\n", " found_dotenv = find_dotenv(\".env.example\")\n", "print(f\"loading env vars from: {found_dotenv}\")\n", "load_dotenv(found_dotenv, override=True)" ] }, { "cell_type": "markdown", "id": "3a7dd7d8", "metadata": {}, "source": [ "## Import Statement" ] }, { "cell_type": "code", "execution_count": 3, "id": "86fc25e6", "metadata": {}, "outputs": [], "source": [ "import pandas as pd" ] }, { "cell_type": "markdown", "id": "fac53e88", "metadata": {}, "source": [ "### read the data" ] }, { "cell_type": "code", "execution_count": 5, "id": "dc33b13b", "metadata": {}, "outputs": [], "source": [ "df = pd.read_csv(\"data/all_port_labelled.csv\")" ] }, { "cell_type": "code", "execution_count": 3, "id": "31f58fd1", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Unnamed: 0IndexUnnamed: 0.1HeadlineDetailsSeverityCategoryRegionDatetimeYear...ITEPNEWCSDRPEMNNMif_labeledMonthWeek
00.08.034.0Grasberg Mine- Grasberg mine workers extend st...Media sources indicate that workers at the Gra...ModerateMine Workers StrikeIndonesia28/5/17 17:082017.0...0.00.00.00.00.00.01.0False5.021.0
11.010.063.0Indonesia: Undersea internet cables damaged by...News sources are stating that recent typhoons ...MinorTravel WarningIndonesia4/9/17 14:302017.0...0.00.00.00.00.01.00.0False4.014.0
\n", "

2 rows × 46 columns

\n", "
" ], "text/plain": [ " Unnamed: 0 Index Unnamed: 0.1 \\\n", "0 0.0 8.0 34.0 \n", "1 1.0 10.0 63.0 \n", "\n", " Headline \\\n", "0 Grasberg Mine- Grasberg mine workers extend st... \n", "1 Indonesia: Undersea internet cables damaged by... \n", "\n", " Details Severity \\\n", "0 Media sources indicate that workers at the Gra... Moderate \n", "1 News sources are stating that recent typhoons ... Minor \n", "\n", " Category Region Datetime Year ... IT EP NEW \\\n", "0 Mine Workers Strike Indonesia 28/5/17 17:08 2017.0 ... 0.0 0.0 0.0 \n", "1 Travel Warning Indonesia 4/9/17 14:30 2017.0 ... 0.0 0.0 0.0 \n", "\n", " CSD RPE MN NM if_labeled Month Week \n", "0 0.0 0.0 0.0 1.0 False 5.0 21.0 \n", "1 0.0 0.0 1.0 0.0 False 4.0 14.0 \n", "\n", "[2 rows x 46 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head(2)" ] }, { "cell_type": "markdown", "id": "9bff68c9", "metadata": {}, "source": [ "### Clean empty data" ] }, { "cell_type": "code", "execution_count": 6, "id": "41aa751c", "metadata": {}, "outputs": [], "source": [ "import nltk\n", "from nltk.corpus import stopwords\n", "from nltk.tokenize import word_tokenize\n", "from nltk.stem import WordNetLemmatizer\n", "import string\n", "\n", "# nltk.download('punkt')\n", "# nltk.download('stopwords')\n", "# nltk.download('wordnet')\n", "\n", "\n", "def clean_text(text):\n", " # Lowercase\n", " text = text.lower()\n", " # Tokenization\n", " tokens = word_tokenize(text)\n", " # Removing punctuation\n", " tokens = [word for word in tokens if word not in string.punctuation]\n", " # Removing stop words\n", " stop_words = set(stopwords.words(\"english\"))\n", " tokens = [word for word in tokens if word not in stop_words]\n", " # Lemmatization\n", " lemmatizer = WordNetLemmatizer()\n", " tokens = [lemmatizer.lemmatize(word) for word in tokens]\n", "\n", " return \" \".join(tokens)" ] }, { "cell_type": "code", "execution_count": 7, "id": "6293f613", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[nltk_data] Downloading package omw-1.4 to\n", "[nltk_data] /Users/inflaton/nltk_data...\n", "[nltk_data] Package omw-1.4 is already up-to-date!\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import nltk\n", "\n", "nltk.download(\"omw-1.4\")" ] }, { "cell_type": "markdown", "id": "fad3210d", "metadata": {}, "source": [ "### The Details column has an issue\n", "\n", "some of the data are of the type float and none of the text processing functions can be applied to it therefore we have to process it" ] }, { "cell_type": "code", "execution_count": 8, "id": "b1799269", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 5782 entries, 0 to 5781\n", "Data columns (total 2 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 Details 5781 non-null object\n", " 1 Category 5780 non-null object\n", "dtypes: object(2)\n", "memory usage: 90.5+ KB\n", "\n", "RangeIndex: 5782 entries, 0 to 5781\n", "Data columns (total 4 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 Details 5781 non-null object\n", " 1 Category 5780 non-null object\n", " 2 Details_cleaned 5781 non-null object\n", " 3 Category_cleaned 5780 non-null object\n", "dtypes: object(4)\n", "memory usage: 180.8+ KB\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/var/folders/7x/56svhln929zdh2xhr3mwqg4r0000gn/T/ipykernel_15258/1896834377.py:3: 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", " text_df['Details_cleaned'] = text_df['Details'].apply(lambda x: clean_text(x) if not isinstance(x, float) else None)\n", "/var/folders/7x/56svhln929zdh2xhr3mwqg4r0000gn/T/ipykernel_15258/1896834377.py:4: 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", " text_df['Category_cleaned'] = text_df['Category'].apply(lambda x: None if isinstance(x, float) else x)\n" ] } ], "source": [ "text_df = df[[\"Details\", \"Category\"]]\n", "text_df.info()\n", "text_df[\"Details_cleaned\"] = text_df[\"Details\"].apply(\n", " lambda x: clean_text(x) if not isinstance(x, float) else None\n", ")\n", "text_df[\"Category_cleaned\"] = text_df[\"Category\"].apply(\n", " lambda x: None if isinstance(x, float) else x\n", ")\n", "\n", "# no_nan_df[no_nan_df[\"Details\"].apply(lambda x: print(type(x)))]\n", "# cleaned_df = text_df[text_df[\"Details\"].apply(lambda x: clean_text(x))]\n", "# cleaned_df = df['Details'][1:2]\n", "# type(no_nan_df[\"Details\"][0])\n", "# print(clean_text(no_nan_df[\"Details\"][0]))\n", "text_df.info()" ] }, { "cell_type": "code", "execution_count": 9, "id": "5fcc3b33", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DetailsCategoryDetails_cleanedCategory_cleaned
0Media sources indicate that workers at the Gra...Mine Workers Strikemedium source indicate worker grasberg mine ex...Mine Workers Strike
1News sources are stating that recent typhoons ...Travel Warningnews source stating recent typhoon impact hong...Travel Warning
2The persisting port congestion at Shanghai’s Y...Port Congestionpersisting port congestion shanghai ’ yangshan...Port Congestion
3Updated local media sources from Jakarta indic...Bombing, Police Operationsupdated local medium source jakarta indicate e...Bombing, Police Operations
4According to local police in Jakarta, two expl...Bombing, Police Operationsaccording local police jakarta two explosion c...Bombing, Police Operations
5Severe winds have downed billboards and trees ...Roadway Closure / Disruption, Flooding, Severe...severe wind downed billboard tree bandung wedn...Roadway Closure / Disruption, Flooding, Severe...
6Local media sources indicated on October 29 th...Cargo/Warehouse Theftlocal medium source indicated october 29 wareh...Cargo/Warehouse Theft
7Tropical Storm Rumbia had dissipated after tra...Tropical Cyclone / Stormtropical storm rumbia dissipated travelling ar...Tropical Cyclone / Storm
8Tropical Depression Yutu, also referred to as ...Stormtropical depression yutu also referred `` '' r...Storm
9A magnitude 4.5 earthquake was detected 14 mil...Earthquakemagnitude 4.5 earthquake detected 14 mile nort...Earthquake
\n", "
" ], "text/plain": [ " Details \\\n", "0 Media sources indicate that workers at the Gra... \n", "1 News sources are stating that recent typhoons ... \n", "2 The persisting port congestion at Shanghai’s Y... \n", "3 Updated local media sources from Jakarta indic... \n", "4 According to local police in Jakarta, two expl... \n", "5 Severe winds have downed billboards and trees ... \n", "6 Local media sources indicated on October 29 th... \n", "7 Tropical Storm Rumbia had dissipated after tra... \n", "8 Tropical Depression Yutu, also referred to as ... \n", "9 A magnitude 4.5 earthquake was detected 14 mil... \n", "\n", " Category \\\n", "0 Mine Workers Strike \n", "1 Travel Warning \n", "2 Port Congestion \n", "3 Bombing, Police Operations \n", "4 Bombing, Police Operations \n", "5 Roadway Closure / Disruption, Flooding, Severe... \n", "6 Cargo/Warehouse Theft \n", "7 Tropical Cyclone / Storm \n", "8 Storm \n", "9 Earthquake \n", "\n", " Details_cleaned \\\n", "0 medium source indicate worker grasberg mine ex... \n", "1 news source stating recent typhoon impact hong... \n", "2 persisting port congestion shanghai ’ yangshan... \n", "3 updated local medium source jakarta indicate e... \n", "4 according local police jakarta two explosion c... \n", "5 severe wind downed billboard tree bandung wedn... \n", "6 local medium source indicated october 29 wareh... \n", "7 tropical storm rumbia dissipated travelling ar... \n", "8 tropical depression yutu also referred `` '' r... \n", "9 magnitude 4.5 earthquake detected 14 mile nort... \n", "\n", " Category_cleaned \n", "0 Mine Workers Strike \n", "1 Travel Warning \n", "2 Port Congestion \n", "3 Bombing, Police Operations \n", "4 Bombing, Police Operations \n", "5 Roadway Closure / Disruption, Flooding, Severe... \n", "6 Cargo/Warehouse Theft \n", "7 Tropical Cyclone / Storm \n", "8 Storm \n", "9 Earthquake " ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "processed_data = text_df.dropna()\n", "processed_data.head(10)" ] }, { "cell_type": "code", "execution_count": 10, "id": "d02b4b00", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "857" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "processed_data[\"Category\"].nunique()" ] }, { "cell_type": "code", "execution_count": 11, "id": "9ee856a1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Index: 5780 entries, 0 to 5781\n", "Data columns (total 4 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 Details 5780 non-null object\n", " 1 Category 5780 non-null object\n", " 2 Details_cleaned 5780 non-null object\n", " 3 Category_cleaned 5780 non-null object\n", "dtypes: object(4)\n", "memory usage: 225.8+ KB\n" ] } ], "source": [ "processed_data.info()" ] }, { "cell_type": "markdown", "id": "3f6d478f", "metadata": {}, "source": [ "## Process the Category column\n", "this is not seldom done as we don't usually process the y of the data\n", "However, the category is too complex and requires processing if not the labels are just too much" ] }, { "cell_type": "code", "execution_count": 12, "id": "285013d3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "111\n" ] } ], "source": [ "# Create a function that will split the labels into individual\n", "import re\n", "\n", "\n", "def split_string(text):\n", " # Split the string using either \"/\" or \",\" as separator\n", " words = re.split(r\"[\\/,]\", text)\n", " # Remove any leading or trailing whitespace from each word\n", " words = [word.strip() for word in words if word.strip()]\n", " return words\n", "\n", "\n", "# Example usage:\n", "# input_str = \"Roadway Closure / Disruption, Flooding, Severe Winds, Weather Advisory\"\n", "# result = split_string(input_str)\n", "# print(result)\n", "\n", "# create a list to find the number of unique individual labels\n", "label_list = []\n", "\n", "for i in processed_data[\"Category_cleaned\"]:\n", " for j in split_string(i):\n", " if j not in label_list:\n", " label_list.append(j)\n", "\n", "# print(label)\n", "print(len(label_list))" ] }, { "cell_type": "markdown", "id": "8e7b48e8", "metadata": {}, "source": [ "#### After filtering out the unique labels in the Category column we are still left with 111 labels which is still considered too much" ] }, { "cell_type": "markdown", "id": "33234f8c", "metadata": {}, "source": [ "#### The next step would be to to reduce a data's category label into 1 single label \n", "Previously the data looks like Roadway Closure / Disruption, Flooding, Severe... we need to reduce it to 1 single label \n", "The next process we are going to use in is that we assume the first label in is the most prominent category then we will remove the other categories" ] }, { "cell_type": "code", "execution_count": 14, "id": "12f9b9b4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Index: 5780 entries, 0 to 5781\n", "Data columns (total 5 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 Details 5780 non-null object\n", " 1 Category 5780 non-null object\n", " 2 Details_cleaned 5780 non-null object\n", " 3 Category_cleaned 5780 non-null object\n", " 4 Category_single 5780 non-null object\n", "dtypes: object(5)\n", "memory usage: 270.9+ KB\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/var/folders/7x/56svhln929zdh2xhr3mwqg4r0000gn/T/ipykernel_15258/2344116627.py:25: 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", " text_df['Category_single'] = text_df['Category_cleaned'].apply(lambda x: split_and_get_first(x))\n" ] } ], "source": [ "def split_and_get_first(text):\n", " # Split the string using either \"/\" or \",\" as separator\n", " if text == None:\n", " return None\n", " words = re.split(r\"[\\/,]\", text)\n", " # Remove any leading or trailing whitespace from each word\n", " words = [word.strip() for word in words if word.strip()]\n", " # Return the first word after split\n", " if words:\n", " return words[0]\n", " else:\n", " return None\n", "\n", "\n", "def remove_none_rows(df, column_name):\n", " # Iterate through the DataFrame\n", " for index, value in enumerate(df[column_name]):\n", " # Check if the value is None\n", " if value is None:\n", " # Remove the row where the data belongs to\n", " df = df.drop(index, axis=0)\n", " return df\n", "\n", "\n", "# Example usage:\n", "# input_str = \"Roadway Closure / Disruption, Flooding, Severe Winds, Weather Advisory\"\n", "# result = split_and_get_first(input_str)\n", "# print(result)\n", "text_df[\"Category_single\"] = text_df[\"Category_cleaned\"].apply(\n", " lambda x: split_and_get_first(x)\n", ")\n", "result_df = remove_none_rows(text_df, \"Category_cleaned\")\n", "result_df.info()" ] }, { "cell_type": "code", "execution_count": 15, "id": "b5931fe1", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DetailsCategoryDetails_cleanedCategory_cleanedCategory_single
0Media sources indicate that workers at the Gra...Mine Workers Strikemedium source indicate worker grasberg mine ex...Mine Workers StrikeMine Workers Strike
1News sources are stating that recent typhoons ...Travel Warningnews source stating recent typhoon impact hong...Travel WarningTravel Warning
2The persisting port congestion at Shanghai’s Y...Port Congestionpersisting port congestion shanghai ’ yangshan...Port CongestionPort Congestion
3Updated local media sources from Jakarta indic...Bombing, Police Operationsupdated local medium source jakarta indicate e...Bombing, Police OperationsBombing
4According to local police in Jakarta, two expl...Bombing, Police Operationsaccording local police jakarta two explosion c...Bombing, Police OperationsBombing
5Severe winds have downed billboards and trees ...Roadway Closure / Disruption, Flooding, Severe...severe wind downed billboard tree bandung wedn...Roadway Closure / Disruption, Flooding, Severe...Roadway Closure
6Local media sources indicated on October 29 th...Cargo/Warehouse Theftlocal medium source indicated october 29 wareh...Cargo/Warehouse TheftCargo
7Tropical Storm Rumbia had dissipated after tra...Tropical Cyclone / Stormtropical storm rumbia dissipated travelling ar...Tropical Cyclone / StormTropical Cyclone
8Tropical Depression Yutu, also referred to as ...Stormtropical depression yutu also referred `` '' r...StormStorm
9A magnitude 4.5 earthquake was detected 14 mil...Earthquakemagnitude 4.5 earthquake detected 14 mile nort...EarthquakeEarthquake
10Multiple sources report that a magnitude 5.5 e...Earthquakemultiple source report magnitude 5.5 earthquak...EarthquakeEarthquake
11Post-Tropical Cyclone Michael is approximately...Tropical Cyclone / Stormpost-tropical cyclone michael approximately 18...Tropical Cyclone / StormTropical Cyclone
12Industry sources indicate on September 11 that...Workplace Accidentindustry source indicate september 11 2 worker...Workplace AccidentWorkplace Accident
13Government sources are reporting a tornado has...Tornadogovernment source reporting tornado touched tw...TornadoTornado
14Media sources are informing on September 24 th...Industrial Actionmedium source informing september 24 oil worke...Industrial ActionIndustrial Action
15A magnitude 4.5 earthquake was detected in cen...Earthquakemagnitude 4.5 earthquake detected central taiw...EarthquakeEarthquake
16Industry sources indicate on August 31 that th...Port Congestionindustry source indicate august 31 port durban...Port CongestionPort Congestion
17Tropical Depression Gordon continues to weaken...Stormtropical depression gordon continues weaken mo...StormStorm
18Local media sources indicated on November 8 th...Public Safety / Securitylocal medium source indicated november 8 270 k...Public Safety / SecurityPublic Safety
19The European-Mediterranean Seismological Centr...Earthquakeeuropean-mediterranean seismological centre re...EarthquakeEarthquake
\n", "
" ], "text/plain": [ " Details \\\n", "0 Media sources indicate that workers at the Gra... \n", "1 News sources are stating that recent typhoons ... \n", "2 The persisting port congestion at Shanghai’s Y... \n", "3 Updated local media sources from Jakarta indic... \n", "4 According to local police in Jakarta, two expl... \n", "5 Severe winds have downed billboards and trees ... \n", "6 Local media sources indicated on October 29 th... \n", "7 Tropical Storm Rumbia had dissipated after tra... \n", "8 Tropical Depression Yutu, also referred to as ... \n", "9 A magnitude 4.5 earthquake was detected 14 mil... \n", "10 Multiple sources report that a magnitude 5.5 e... \n", "11 Post-Tropical Cyclone Michael is approximately... \n", "12 Industry sources indicate on September 11 that... \n", "13 Government sources are reporting a tornado has... \n", "14 Media sources are informing on September 24 th... \n", "15 A magnitude 4.5 earthquake was detected in cen... \n", "16 Industry sources indicate on August 31 that th... \n", "17 Tropical Depression Gordon continues to weaken... \n", "18 Local media sources indicated on November 8 th... \n", "19 The European-Mediterranean Seismological Centr... \n", "\n", " Category \\\n", "0 Mine Workers Strike \n", "1 Travel Warning \n", "2 Port Congestion \n", "3 Bombing, Police Operations \n", "4 Bombing, Police Operations \n", "5 Roadway Closure / Disruption, Flooding, Severe... \n", "6 Cargo/Warehouse Theft \n", "7 Tropical Cyclone / Storm \n", "8 Storm \n", "9 Earthquake \n", "10 Earthquake \n", "11 Tropical Cyclone / Storm \n", "12 Workplace Accident \n", "13 Tornado \n", "14 Industrial Action \n", "15 Earthquake \n", "16 Port Congestion \n", "17 Storm \n", "18 Public Safety / Security \n", "19 Earthquake \n", "\n", " Details_cleaned \\\n", "0 medium source indicate worker grasberg mine ex... \n", "1 news source stating recent typhoon impact hong... \n", "2 persisting port congestion shanghai ’ yangshan... \n", "3 updated local medium source jakarta indicate e... \n", "4 according local police jakarta two explosion c... \n", "5 severe wind downed billboard tree bandung wedn... \n", "6 local medium source indicated october 29 wareh... \n", "7 tropical storm rumbia dissipated travelling ar... \n", "8 tropical depression yutu also referred `` '' r... \n", "9 magnitude 4.5 earthquake detected 14 mile nort... \n", "10 multiple source report magnitude 5.5 earthquak... \n", "11 post-tropical cyclone michael approximately 18... \n", "12 industry source indicate september 11 2 worker... \n", "13 government source reporting tornado touched tw... \n", "14 medium source informing september 24 oil worke... \n", "15 magnitude 4.5 earthquake detected central taiw... \n", "16 industry source indicate august 31 port durban... \n", "17 tropical depression gordon continues weaken mo... \n", "18 local medium source indicated november 8 270 k... \n", "19 european-mediterranean seismological centre re... \n", "\n", " Category_cleaned Category_single \n", "0 Mine Workers Strike Mine Workers Strike \n", "1 Travel Warning Travel Warning \n", "2 Port Congestion Port Congestion \n", "3 Bombing, Police Operations Bombing \n", "4 Bombing, Police Operations Bombing \n", "5 Roadway Closure / Disruption, Flooding, Severe... Roadway Closure \n", "6 Cargo/Warehouse Theft Cargo \n", "7 Tropical Cyclone / Storm Tropical Cyclone \n", "8 Storm Storm \n", "9 Earthquake Earthquake \n", "10 Earthquake Earthquake \n", "11 Tropical Cyclone / Storm Tropical Cyclone \n", "12 Workplace Accident Workplace Accident \n", "13 Tornado Tornado \n", "14 Industrial Action Industrial Action \n", "15 Earthquake Earthquake \n", "16 Port Congestion Port Congestion \n", "17 Storm Storm \n", "18 Public Safety / Security Public Safety \n", "19 Earthquake Earthquake " ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "result_df.head(20)" ] }, { "cell_type": "code", "execution_count": 16, "id": "9c19b11a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "94" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "result_df[\"Category_single\"].nunique()" ] }, { "cell_type": "markdown", "id": "29d4037f", "metadata": {}, "source": [ "### After taking out the first label in the Category column we are still left with 94 unique labels\n", "This is still unacceptable amount of labels the next step we are planning to use is to manually group the labels in more generalize label by using a rule based system" ] }, { "cell_type": "code", "execution_count": 17, "id": "10f07d05", "metadata": {}, "outputs": [], "source": [ "### first export the unique labels into excel for better visualization\n", "unique_labels_df = pd.DataFrame({\"String\": label_list})\n", "file_path = \"data/label_list.xlsx\"\n", "\n", "# Save DataFrame to Excel\n", "unique_labels_df.to_excel(file_path, index=False)" ] }, { "attachments": { "converstion.png": { "image/png": "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" } }, "cell_type": "markdown", "id": "398e6da8", "metadata": {}, "source": [ "![converstion.png](attachment:converstion.png)" ] }, { "cell_type": "code", "execution_count": 18, "id": "d4357af0", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
WeatherWorker StrikeAdministrative IssueHuman ErrorCyber AttackTerrorismAccidentOthers
0FloodingMine Workers StrikePort CongestionWorkplace AccidentNetwork DisruptionBombingMaritime AccidentMiscellaneous Events
1Severe WindsProduction HaltPolice OperationsIndividuals in FocusRansomwareWarehouse TheftVehicle AccidentMiscellaneous Strikes
2Weather AdvisoryProtestRoadway ClosureMilitary OperationsData breachPublic SafetyDeathOutbreak of disease
3Tropical CycloneRiotDisruptionFlight DelaysPhishingSecurityInjuryNaN
4StormPort StrikeCargoCancellationsNaNOrganized CrimeNon-industrial FireNaN
\n", "
" ], "text/plain": [ " Weather Worker Strike Administrative Issue \\\n", "0 Flooding Mine Workers Strike Port Congestion \n", "1 Severe Winds Production Halt Police Operations \n", "2 Weather Advisory Protest Roadway Closure \n", "3 Tropical Cyclone Riot Disruption \n", "4 Storm Port Strike Cargo \n", "\n", " Human Error Cyber Attack Terrorism \\\n", "0 Workplace Accident Network Disruption Bombing \n", "1 Individuals in Focus Ransomware Warehouse Theft \n", "2 Military Operations Data breach Public Safety \n", "3 Flight Delays Phishing Security \n", "4 Cancellations NaN Organized Crime \n", "\n", " Accident Others \n", "0 Maritime Accident Miscellaneous Events \n", "1 Vehicle Accident Miscellaneous Strikes \n", "2 Death Outbreak of disease \n", "3 Injury NaN \n", "4 Non-industrial Fire NaN " ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_labels_df = pd.read_excel(\"data/new_labels.xlsx\")\n", "new_labels_df.head()" ] }, { "cell_type": "markdown", "id": "407189c9", "metadata": {}, "source": [ "#### convert them into lists" ] }, { "cell_type": "code", "execution_count": 19, "id": "73939327", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "Weather\n", "\n", "['Flooding', 'Severe Winds', 'Weather Advisory', 'Tropical Cyclone', 'Storm', 'Earthquake', 'Tornado', 'Typhoon', 'Landslide', 'Water', 'Hurricane', 'Wildfire', 'Blizzard', 'Hail']\n", "\n", "\n", "Worker Strike\n", "\n", "['Mine Workers Strike', 'Production Halt', 'Protest', 'Riot', 'Port Strike', 'General Strike', 'Civil Service Strike', 'Civil Unrest Advisory', 'Cargo Transportation Strike', 'Energy Sector Strike']\n", "\n", "\n", "Administrative Issue\n", "\n", "['Port Congestion', 'Police Operations', 'Roadway Closure', 'Disruption', 'Cargo', 'Industrial Action', 'Port Disruption', 'Cargo Disruption', 'Power Outage', 'Port Closure', 'Maritime Advisory', 'Train Delays', 'Ground Transportation Advisory', 'Public Transportation Disruption', 'Trade Regulation', 'Customs Regulation', 'Regulatory Advisory', 'Industry Directives', 'Security Advisory', 'Public Holidays', 'Customs Delay', 'Public Health Advisory', 'Detention', 'Aviation Advisory', 'Waterway closure', 'Waterway Closure', 'Plant Closure', 'Border Closure', 'Delay', 'Industrial zone shutdown', 'Trade Restrictions', 'Closure', 'Truck Driving Ban', 'Insolvency', 'Environmental Regulations', 'Postal Disruption', 'Ice Storm', 'Travel Warning']\n", "\n", "\n", "Human Error\n", "\n", "['Workplace Accident', 'Individuals in Focus', 'Military Operations', 'Flight Delays', 'Cancellations', 'Political Info', 'Event']\n", "\n", "\n", "Cyber Attack\n", "\n", "['Network Disruption', 'Ransomware', 'Data breach', 'Phishing']\n", "\n", "\n", "Terrorism\n", "\n", "['Bombing', 'Warehouse Theft', 'Public Safety', 'Security', 'Organized Crime', 'Hazmat Response', 'Piracy', 'Kidnap', 'Shooting', 'Robbery', 'Cargo theft', 'Bomb Detonation', 'Terror Attack', 'Outbreak Of War', 'Militant Action']\n", "\n", "\n", "Accident\n", "\n", "['Maritime Accident', 'Vehicle Accident', 'Death', 'Injury', 'Non-industrial Fire', 'Chemical Spill', 'Industrial Fire', 'Fuel Disruption', 'Airline Incident', 'Crash', 'Explosion', 'Train Accident', 'Derailment', 'Sewage Disruption', 'Barge Accident', 'Bridge Collapse', 'Structure Collapse', 'Airport Accident', 'Force Majeure', 'Telecom Outage']\n", "\n", "\n", "Others\n", "\n", "['Miscellaneous Events', 'Miscellaneous Strikes', 'Outbreak of disease']\n" ] } ], "source": [ "new_labels_dict = new_labels_df.to_dict(orient=\"list\")\n", "\n", "\n", "for key, value in new_labels_dict.items():\n", " new_labels_dict[key] = [item for item in value if not pd.isnull(item)]\n", "\n", "for category in new_labels_dict:\n", " print(\"\\n\")\n", " print(category + \"\\n\")\n", " print(new_labels_dict[category])" ] }, { "cell_type": "markdown", "id": "8516af0e", "metadata": {}, "source": [ "### create a new column with the summarized label" ] }, { "cell_type": "code", "execution_count": 20, "id": "0d316bb4", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DetailsCategoryDetails_cleanedCategory_cleanedCategory_singleSummarized_label
0Media sources indicate that workers at the Gra...Mine Workers Strikemedium source indicate worker grasberg mine ex...Mine Workers StrikeMine Workers StrikeWorker Strike
1News sources are stating that recent typhoons ...Travel Warningnews source stating recent typhoon impact hong...Travel WarningTravel WarningAdministrative Issue
2The persisting port congestion at Shanghai’s Y...Port Congestionpersisting port congestion shanghai ’ yangshan...Port CongestionPort CongestionAdministrative Issue
3Updated local media sources from Jakarta indic...Bombing, Police Operationsupdated local medium source jakarta indicate e...Bombing, Police OperationsBombingTerrorism
4According to local police in Jakarta, two expl...Bombing, Police Operationsaccording local police jakarta two explosion c...Bombing, Police OperationsBombingTerrorism
.....................
5777Intelligence received by Everstream Analytics ...Ice Stormintelligence received everstream analytics ind...Ice StormIce StormAdministrative Issue
5778Meteorological sources indicate that a series ...Roadway Closure / Disruption, Ground Transport...meteorological source indicate series winter s...Roadway Closure / Disruption, Ground Transport...Roadway ClosureAdministrative Issue
5779Industry sources report on December 7 that Svi...Industrial Actionindustry source report december 7 svitzer aust...Industrial ActionIndustrial ActionAdministrative Issue
5780Industry sources indicate on December 14 that ...Port Strikeindustry source indicate december 14 worker dp...Port StrikePort StrikeWorker Strike
5781On November 17, Dutch media sources reported t...Port Strikenovember 17 dutch medium source reported worke...Port StrikePort StrikeWorker Strike
\n", "

5780 rows × 6 columns

\n", "
" ], "text/plain": [ " Details \\\n", "0 Media sources indicate that workers at the Gra... \n", "1 News sources are stating that recent typhoons ... \n", "2 The persisting port congestion at Shanghai’s Y... \n", "3 Updated local media sources from Jakarta indic... \n", "4 According to local police in Jakarta, two expl... \n", "... ... \n", "5777 Intelligence received by Everstream Analytics ... \n", "5778 Meteorological sources indicate that a series ... \n", "5779 Industry sources report on December 7 that Svi... \n", "5780 Industry sources indicate on December 14 that ... \n", "5781 On November 17, Dutch media sources reported t... \n", "\n", " Category \\\n", "0 Mine Workers Strike \n", "1 Travel Warning \n", "2 Port Congestion \n", "3 Bombing, Police Operations \n", "4 Bombing, Police Operations \n", "... ... \n", "5777 Ice Storm \n", "5778 Roadway Closure / Disruption, Ground Transport... \n", "5779 Industrial Action \n", "5780 Port Strike \n", "5781 Port Strike \n", "\n", " Details_cleaned \\\n", "0 medium source indicate worker grasberg mine ex... \n", "1 news source stating recent typhoon impact hong... \n", "2 persisting port congestion shanghai ’ yangshan... \n", "3 updated local medium source jakarta indicate e... \n", "4 according local police jakarta two explosion c... \n", "... ... \n", "5777 intelligence received everstream analytics ind... \n", "5778 meteorological source indicate series winter s... \n", "5779 industry source report december 7 svitzer aust... \n", "5780 industry source indicate december 14 worker dp... \n", "5781 november 17 dutch medium source reported worke... \n", "\n", " Category_cleaned Category_single \\\n", "0 Mine Workers Strike Mine Workers Strike \n", "1 Travel Warning Travel Warning \n", "2 Port Congestion Port Congestion \n", "3 Bombing, Police Operations Bombing \n", "4 Bombing, Police Operations Bombing \n", "... ... ... \n", "5777 Ice Storm Ice Storm \n", "5778 Roadway Closure / Disruption, Ground Transport... Roadway Closure \n", "5779 Industrial Action Industrial Action \n", "5780 Port Strike Port Strike \n", "5781 Port Strike Port Strike \n", "\n", " Summarized_label \n", "0 Worker Strike \n", "1 Administrative Issue \n", "2 Administrative Issue \n", "3 Terrorism \n", "4 Terrorism \n", "... ... \n", "5777 Administrative Issue \n", "5778 Administrative Issue \n", "5779 Administrative Issue \n", "5780 Worker Strike \n", "5781 Worker Strike \n", "\n", "[5780 rows x 6 columns]" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "result_df[\"Summarized_label\"] = None\n", "\n", "for index, row in result_df.iterrows():\n", " value = row[\"Category_single\"]\n", " for key, values in new_labels_dict.items():\n", " if value in values:\n", " result_df.at[index, \"Summarized_label\"] = key\n", " break # No need to check other keys if match found\n", "result_df" ] }, { "cell_type": "markdown", "id": "607a0996", "metadata": {}, "source": [ "## Naive Bayes Model" ] }, { "cell_type": "code", "execution_count": 21, "id": "b8c331bd", "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "from sklearn.feature_extraction.text import TfidfVectorizer\n", "\n", "# from sklearn.feature_extraction.text import CountVectorizer\n", "from sklearn.naive_bayes import MultinomialNB\n", "from sklearn.metrics import accuracy_score, classification_report" ] }, { "cell_type": "code", "execution_count": 22, "id": "ca8d53af", "metadata": {}, "outputs": [], "source": [ "X = result_df[\"Details_cleaned\"]\n", "y = result_df[\"Summarized_label\"]" ] }, { "cell_type": "code", "execution_count": 23, "id": "432e793e", "metadata": {}, "outputs": [], "source": [ "X_train, X_test, y_train, y_test = train_test_split(\n", " X, y, test_size=0.2, random_state=42\n", ")" ] }, { "cell_type": "code", "execution_count": 24, "id": "119b6c46", "metadata": {}, "outputs": [], "source": [ "# vectorizer = CountVectorizer()\n", "# X_train_vec = vectorizer.fit_transform(X_train)\n", "# X_test_vec = vectorizer.transform(X_test)\n", "\n", "tfidf_vectorizer = TfidfVectorizer(max_features=1000)\n", "X_train_tfidf = tfidf_vectorizer.fit_transform(X_train)\n", "X_test_tfidf = tfidf_vectorizer.transform(X_test)" ] }, { "cell_type": "code", "execution_count": 25, "id": "18cf6e8e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
MultinomialNB()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "MultinomialNB()" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "naive_bayes = MultinomialNB()\n", "naive_bayes.fit(X_train_tfidf, y_train)" ] }, { "cell_type": "code", "execution_count": 26, "id": "4e4d6e2e", "metadata": {}, "outputs": [], "source": [ "predictions = naive_bayes.predict(X_test_tfidf)" ] }, { "cell_type": "code", "execution_count": 27, "id": "abd1d4a6", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy of Naive Bayes model: 0.763840830449827\n", " precision recall f1-score support\n", "\n", " Accident 0.71 0.74 0.72 129\n", "Administrative Issue 0.83 0.89 0.86 662\n", " Cyber Attack 0.00 0.00 0.00 4\n", " Human Error 0.00 0.00 0.00 18\n", " Others 0.41 0.24 0.30 79\n", " Terrorism 0.42 0.15 0.23 52\n", " Weather 0.77 0.92 0.84 92\n", " Worker Strike 0.61 0.69 0.65 120\n", "\n", " accuracy 0.76 1156\n", " macro avg 0.47 0.46 0.45 1156\n", " weighted avg 0.73 0.76 0.74 1156\n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_classification.py:1517: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", " _warn_prf(average, modifier, f\"{metric.capitalize()} is\", len(result))\n", "/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_classification.py:1517: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", " _warn_prf(average, modifier, f\"{metric.capitalize()} is\", len(result))\n", "/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_classification.py:1517: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", " _warn_prf(average, modifier, f\"{metric.capitalize()} is\", len(result))\n" ] } ], "source": [ "accuracy = accuracy_score(y_test, predictions)\n", "print(\"Accuracy of Naive Bayes model:\", accuracy)\n", "print(classification_report(y_test, predictions))" ] }, { "cell_type": "markdown", "id": "0bb9d98b", "metadata": {}, "source": [ "Find the optimal Alpha parameter" ] }, { "cell_type": "code", "execution_count": 28, "id": "f4eead05", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Best Alpha: 0.1\n" ] }, { "data": { "text/html": [ "
MultinomialNB(alpha=0.1)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "MultinomialNB(alpha=0.1)" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.model_selection import GridSearchCV\n", "\n", "param_grid = {\"alpha\": [0.1, 0.5, 1.0, 2.0]}\n", "\n", "# Initialize the grid search\n", "grid_search = GridSearchCV(MultinomialNB(), param_grid, cv=5, scoring=\"accuracy\")\n", "\n", "# Perform the grid search\n", "grid_search.fit(X_train_tfidf, y_train)\n", "\n", "# Get the best hyperparameters\n", "best_alpha = grid_search.best_params_[\"alpha\"]\n", "print(\"Best Alpha:\", best_alpha)\n", "\n", "# Train the model with the best alpha\n", "naive_bayes_tuned = MultinomialNB(alpha=best_alpha)\n", "naive_bayes_tuned.fit(X_train_tfidf, y_train)" ] }, { "cell_type": "markdown", "id": "5c747eab", "metadata": {}, "source": [ "Change the Alpha to 0.1 and max_features to 4000 for better performance" ] }, { "cell_type": "code", "execution_count": 29, "id": "71d0742f", "metadata": {}, "outputs": [], "source": [ "import time" ] }, { "cell_type": "code", "execution_count": 30, "id": "b22c1073", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy of Naive Bayes model: 0.7923875432525952\n", " precision recall f1-score support\n", "\n", " Accident 0.74 0.84 0.79 129\n", "Administrative Issue 0.89 0.87 0.88 662\n", " Cyber Attack 1.00 0.25 0.40 4\n", " Human Error 0.67 0.22 0.33 18\n", " Others 0.45 0.35 0.40 79\n", " Terrorism 0.54 0.40 0.46 52\n", " Weather 0.77 0.93 0.85 92\n", " Worker Strike 0.65 0.75 0.69 120\n", "\n", " accuracy 0.79 1156\n", " macro avg 0.71 0.58 0.60 1156\n", " weighted avg 0.79 0.79 0.79 1156\n", "\n", "Total Runtime: 0.11717486381530762\n" ] } ], "source": [ "X = result_df[\"Details_cleaned\"]\n", "y = result_df[\"Summarized_label\"]\n", "\n", "X_train, X_test, y_train, y_test = train_test_split(\n", " X, y, test_size=0.2, random_state=42\n", ")\n", "\n", "start_time = time.time()\n", "tfidf_vectorizer = TfidfVectorizer(max_features=4000)\n", "X_train_tfidf = tfidf_vectorizer.fit_transform(X_train)\n", "X_test_tfidf = tfidf_vectorizer.transform(X_test)\n", "\n", "naive_bayes = MultinomialNB(alpha=0.1)\n", "naive_bayes.fit(X_train_tfidf, y_train)\n", "\n", "predictions = naive_bayes.predict(X_test_tfidf)\n", "\n", "end_time = time.time()\n", "total_runtime = end_time - start_time\n", "\n", "accuracy = accuracy_score(y_test, predictions)\n", "print(\"Accuracy of Naive Bayes model:\", accuracy)\n", "print(classification_report(y_test, predictions))\n", "\n", "print(\"Total Runtime:\", total_runtime)" ] }, { "cell_type": "markdown", "id": "aa011ad5", "metadata": {}, "source": [ "## Logistic Regression model" ] }, { "cell_type": "code", "execution_count": 31, "id": "6e735f18", "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "from sklearn.feature_extraction.text import TfidfVectorizer\n", "from sklearn.linear_model import LogisticRegression\n", "from sklearn.metrics import accuracy_score" ] }, { "cell_type": "code", "execution_count": 32, "id": "e266616c", "metadata": {}, "outputs": [], "source": [ "X_train, X_test, y_train, y_test = train_test_split(\n", " X, y, test_size=0.2, random_state=42\n", ")" ] }, { "cell_type": "code", "execution_count": 33, "id": "b1314e98", "metadata": {}, "outputs": [], "source": [ "tfidf_vectorizer = TfidfVectorizer(max_features=1000)\n", "X_train_tfidf = tfidf_vectorizer.fit_transform(X_train)\n", "X_test_tfidf = tfidf_vectorizer.transform(X_test)" ] }, { "cell_type": "code", "execution_count": 34, "id": "87905c28", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
LogisticRegression()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "LogisticRegression()" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model = LogisticRegression()\n", "model.fit(X_train_tfidf, y_train)" ] }, { "cell_type": "code", "execution_count": 35, "id": "c4bf008a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy of Logistic Regression Model: 0.7975778546712803\n", " precision recall f1-score support\n", "\n", " Accident 0.79 0.81 0.80 129\n", "Administrative Issue 0.83 0.93 0.88 662\n", " Cyber Attack 0.00 0.00 0.00 4\n", " Human Error 0.00 0.00 0.00 18\n", " Others 0.64 0.34 0.45 79\n", " Terrorism 0.46 0.21 0.29 52\n", " Weather 0.83 0.87 0.85 92\n", " Worker Strike 0.69 0.71 0.70 120\n", "\n", " accuracy 0.80 1156\n", " macro avg 0.53 0.48 0.50 1156\n", " weighted avg 0.77 0.80 0.78 1156\n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_classification.py:1517: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", " _warn_prf(average, modifier, f\"{metric.capitalize()} is\", len(result))\n", "/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_classification.py:1517: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", " _warn_prf(average, modifier, f\"{metric.capitalize()} is\", len(result))\n", "/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_classification.py:1517: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", " _warn_prf(average, modifier, f\"{metric.capitalize()} is\", len(result))\n" ] } ], "source": [ "y_pred = model.predict(X_test_tfidf)\n", "\n", "accuracy = accuracy_score(y_test, y_pred)\n", "print(\"Accuracy of Logistic Regression Model:\", accuracy)\n", "print(classification_report(y_test, y_pred))" ] }, { "cell_type": "code", "execution_count": 36, "id": "69b1b25a", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/linear_model/_logistic.py:469: ConvergenceWarning: lbfgs failed to converge (status=1):\n", "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n", "\n", "Increase the number of iterations (max_iter) or scale the data as shown in:\n", " https://scikit-learn.org/stable/modules/preprocessing.html\n", "Please also refer to the documentation for alternative solver options:\n", " https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n", " n_iter_i = _check_optimize_result(\n", "/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/linear_model/_logistic.py:469: ConvergenceWarning: lbfgs failed to converge (status=1):\n", "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n", "\n", "Increase the number of iterations (max_iter) or scale the data as shown in:\n", " https://scikit-learn.org/stable/modules/preprocessing.html\n", "Please also refer to the documentation for alternative solver options:\n", " https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n", " n_iter_i = _check_optimize_result(\n", "/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/linear_model/_logistic.py:469: ConvergenceWarning: lbfgs failed to converge (status=1):\n", "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n", "\n", "Increase the number of iterations (max_iter) or scale the data as shown in:\n", " https://scikit-learn.org/stable/modules/preprocessing.html\n", "Please also refer to the documentation for alternative solver options:\n", " https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n", " n_iter_i = _check_optimize_result(\n", "/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/linear_model/_logistic.py:469: ConvergenceWarning: lbfgs failed to converge (status=1):\n", "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n", "\n", "Increase the number of iterations (max_iter) or scale the data as shown in:\n", " https://scikit-learn.org/stable/modules/preprocessing.html\n", "Please also refer to the documentation for alternative solver options:\n", " https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n", " n_iter_i = _check_optimize_result(\n", "/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/linear_model/_logistic.py:469: ConvergenceWarning: lbfgs failed to converge (status=1):\n", "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n", "\n", "Increase the number of iterations (max_iter) or scale the data as shown in:\n", " https://scikit-learn.org/stable/modules/preprocessing.html\n", "Please also refer to the documentation for alternative solver options:\n", " https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n", " n_iter_i = _check_optimize_result(\n", "/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/linear_model/_logistic.py:469: ConvergenceWarning: lbfgs failed to converge (status=1):\n", "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n", "\n", "Increase the number of iterations (max_iter) or scale the data as shown in:\n", " https://scikit-learn.org/stable/modules/preprocessing.html\n", "Please also refer to the documentation for alternative solver options:\n", " https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n", " n_iter_i = _check_optimize_result(\n", "/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/linear_model/_logistic.py:469: ConvergenceWarning: lbfgs failed to converge (status=1):\n", "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n", "\n", "Increase the number of iterations (max_iter) or scale the data as shown in:\n", " https://scikit-learn.org/stable/modules/preprocessing.html\n", "Please also refer to the documentation for alternative solver options:\n", " https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n", " n_iter_i = _check_optimize_result(\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Best Parameters: {'model__C': 10.0, 'tfidf__max_features': 2000}\n", "Accuracy of Tuned Logistic Regression Model: 0.8200692041522492\n", " precision recall f1-score support\n", "\n", " Accident 0.81 0.86 0.83 129\n", "Administrative Issue 0.86 0.91 0.88 662\n", " Cyber Attack 1.00 0.25 0.40 4\n", " Human Error 0.60 0.17 0.26 18\n", " Others 0.61 0.43 0.50 79\n", " Terrorism 0.61 0.44 0.51 52\n", " Weather 0.87 0.90 0.89 92\n", " Worker Strike 0.73 0.75 0.74 120\n", "\n", " accuracy 0.82 1156\n", " macro avg 0.76 0.59 0.63 1156\n", " weighted avg 0.81 0.82 0.81 1156\n", "\n" ] } ], "source": [ "from sklearn.pipeline import Pipeline\n", "\n", "X_train, X_test, y_train, y_test = train_test_split(\n", " X, y, test_size=0.2, random_state=42\n", ")\n", "\n", "param_grid = {\n", " \"tfidf__max_features\": [500, 1000, 2000, 3000, 4000],\n", " \"model__C\": [0.1, 1.0, 10.0],\n", "}\n", "\n", "pipeline = Pipeline([(\"tfidf\", TfidfVectorizer()), (\"model\", LogisticRegression())])\n", "\n", "grid_search = GridSearchCV(pipeline, param_grid, cv=5, scoring=\"accuracy\")\n", "\n", "grid_search.fit(X_train, y_train)\n", "\n", "best_params = grid_search.best_params_\n", "print(\"Best Parameters:\", best_params)\n", "\n", "best_model = grid_search.best_estimator_\n", "best_model.fit(X_train, y_train)\n", "\n", "y_pred = best_model.predict(X_test)\n", "accuracy = accuracy_score(y_test, y_pred)\n", "print(\"Accuracy of Tuned Logistic Regression Model:\", accuracy)\n", "print(classification_report(y_test, y_pred))" ] }, { "cell_type": "markdown", "id": "c74436a2", "metadata": {}, "source": [ "The best parameters are 'model__C': 10.0, 'tfidf__max_features': 2000" ] }, { "cell_type": "code", "execution_count": 37, "id": "7d7e7e31", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy of Logistic Regression Model: 0.8200692041522492\n", " precision recall f1-score support\n", "\n", " Accident 0.81 0.86 0.83 129\n", "Administrative Issue 0.86 0.91 0.88 662\n", " Cyber Attack 1.00 0.25 0.40 4\n", " Human Error 0.60 0.17 0.26 18\n", " Others 0.61 0.43 0.50 79\n", " Terrorism 0.61 0.44 0.51 52\n", " Weather 0.87 0.90 0.89 92\n", " Worker Strike 0.73 0.75 0.74 120\n", "\n", " accuracy 0.82 1156\n", " macro avg 0.76 0.59 0.63 1156\n", " weighted avg 0.81 0.82 0.81 1156\n", "\n", "Total Runtime: 0.3288562297821045\n" ] } ], "source": [ "X_train, X_test, y_train, y_test = train_test_split(\n", " X, y, test_size=0.2, random_state=42\n", ")\n", "\n", "start_time = time.time()\n", "tfidf_vectorizer = TfidfVectorizer(max_features=2000)\n", "X_train_tfidf = tfidf_vectorizer.fit_transform(X_train)\n", "X_test_tfidf = tfidf_vectorizer.transform(X_test)\n", "\n", "model = LogisticRegression(C=10.0)\n", "model.fit(X_train_tfidf, y_train)\n", "\n", "y_pred = model.predict(X_test_tfidf)\n", "\n", "end_time = time.time()\n", "total_runtime = end_time - start_time\n", "\n", "accuracy = accuracy_score(y_test, y_pred)\n", "print(\"Accuracy of Logistic Regression Model:\", accuracy)\n", "print(classification_report(y_test, y_pred))\n", "\n", "print(\"Total Runtime:\", total_runtime)" ] }, { "cell_type": "markdown", "id": "482d0503", "metadata": {}, "source": [ "## Support Vector Machine (SVM) model" ] }, { "cell_type": "code", "execution_count": 38, "id": "9a2b2117", "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "from sklearn.feature_extraction.text import TfidfVectorizer\n", "from sklearn.svm import SVC\n", "from sklearn.metrics import accuracy_score" ] }, { "cell_type": "code", "execution_count": 39, "id": "f8e29f39", "metadata": {}, "outputs": [], "source": [ "X_train, X_test, y_train, y_test = train_test_split(\n", " X, y, test_size=0.2, random_state=42\n", ")" ] }, { "cell_type": "code", "execution_count": 40, "id": "246cca7a", "metadata": {}, "outputs": [], "source": [ "tfidf_vectorizer = TfidfVectorizer(max_features=1000)\n", "X_train_tfidf = tfidf_vectorizer.fit_transform(X_train)\n", "X_test_tfidf = tfidf_vectorizer.transform(X_test)" ] }, { "cell_type": "code", "execution_count": 41, "id": "393b87b3", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
SVC(kernel='linear')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "SVC(kernel='linear')" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "svm_model = SVC(kernel=\"linear\")\n", "svm_model.fit(X_train_tfidf, y_train)" ] }, { "cell_type": "code", "execution_count": 42, "id": "fc25cdcf", "metadata": {}, "outputs": [], "source": [ "y_pred = svm_model.predict(X_test_tfidf)" ] }, { "cell_type": "code", "execution_count": 43, "id": "2960279a", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy of SVM model: 0.8183391003460208\n", " precision recall f1-score support\n", "\n", " Accident 0.78 0.82 0.80 129\n", "Administrative Issue 0.87 0.92 0.89 662\n", " Cyber Attack 1.00 0.25 0.40 4\n", " Human Error 0.67 0.11 0.19 18\n", " Others 0.62 0.42 0.50 79\n", " Terrorism 0.55 0.31 0.40 52\n", " Weather 0.82 0.90 0.86 92\n", " Worker Strike 0.72 0.80 0.76 120\n", "\n", " accuracy 0.82 1156\n", " macro avg 0.75 0.57 0.60 1156\n", " weighted avg 0.81 0.82 0.80 1156\n", "\n" ] } ], "source": [ "accuracy = accuracy_score(y_test, y_pred)\n", "print(\"Accuracy of SVM model:\", accuracy)\n", "print(classification_report(y_test, y_pred))" ] }, { "cell_type": "code", "execution_count": 44, "id": "4e9fee70", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Best C: 10\n" ] } ], "source": [ "from sklearn.model_selection import GridSearchCV\n", "\n", "param_grid = {\"C\": [0.1, 1, 10]}\n", "svm = SVC()\n", "grid_search = GridSearchCV(svm, param_grid, cv=5, scoring=\"accuracy\")\n", "grid_search.fit(X_train_tfidf, y_train)\n", "best_c = grid_search.best_params_[\"C\"]\n", "print(\"Best C:\", best_c)" ] }, { "cell_type": "code", "execution_count": 45, "id": "65fd932b-63e8-4041-b7aa-0fae14e48efe", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy of SVM model: 0.782871972318339\n", " precision recall f1-score support\n", "\n", " Accident 0.72 0.84 0.77 129\n", "Administrative Issue 0.86 0.86 0.86 662\n", " Cyber Attack 1.00 0.25 0.40 4\n", " Human Error 0.62 0.28 0.38 18\n", " Others 0.51 0.46 0.48 79\n", " Terrorism 0.49 0.38 0.43 52\n", " Weather 0.81 0.87 0.84 92\n", " Worker Strike 0.69 0.69 0.69 120\n", "\n", " accuracy 0.78 1156\n", " macro avg 0.71 0.58 0.61 1156\n", " weighted avg 0.78 0.78 0.78 1156\n", "\n" ] } ], "source": [ "X_train, X_test, y_train, y_test = train_test_split(\n", " X, y, test_size=0.2, random_state=42\n", ")\n", "\n", "tfidf_vectorizer = TfidfVectorizer(max_features=1000)\n", "X_train_tfidf = tfidf_vectorizer.fit_transform(X_train)\n", "X_test_tfidf = tfidf_vectorizer.transform(X_test)\n", "\n", "svm_model = SVC(kernel=\"linear\", C=10)\n", "svm_model.fit(X_train_tfidf, y_train)\n", "\n", "y_pred = svm_model.predict(X_test_tfidf)\n", "accuracy = accuracy_score(y_test, y_pred)\n", "print(\"Accuracy of SVM model:\", accuracy)\n", "print(classification_report(y_test, y_pred))" ] }, { "cell_type": "markdown", "id": "a2843fa9", "metadata": {}, "source": [ "But when C is set to 10, the accuracy drops, it may be due to overfitting. We will still use the defaul value C=1.0" ] }, { "cell_type": "code", "execution_count": 46, "id": "afffe960", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy of SVM model: 0.8217993079584776\n", " precision recall f1-score support\n", "\n", " Accident 0.82 0.86 0.84 129\n", "Administrative Issue 0.86 0.93 0.89 662\n", " Cyber Attack 1.00 0.25 0.40 4\n", " Human Error 0.00 0.00 0.00 18\n", " Others 0.64 0.41 0.50 79\n", " Terrorism 0.61 0.33 0.42 52\n", " Weather 0.83 0.90 0.86 92\n", " Worker Strike 0.71 0.77 0.74 120\n", "\n", " accuracy 0.82 1156\n", " macro avg 0.68 0.55 0.58 1156\n", " weighted avg 0.80 0.82 0.81 1156\n", "\n", "Total Runtime: 3.1480040550231934\n" ] } ], "source": [ "X_train, X_test, y_train, y_test = train_test_split(\n", " X, y, test_size=0.2, random_state=42\n", ")\n", "\n", "start_time = time.time()\n", "tfidf_vectorizer = TfidfVectorizer(max_features=2000)\n", "X_train_tfidf = tfidf_vectorizer.fit_transform(X_train)\n", "X_test_tfidf = tfidf_vectorizer.transform(X_test)\n", "\n", "svm_model = SVC(kernel=\"linear\")\n", "svm_model.fit(X_train_tfidf, y_train)\n", "\n", "y_pred = svm_model.predict(X_test_tfidf)\n", "\n", "end_time = time.time()\n", "total_runtime = end_time - start_time\n", "\n", "accuracy = accuracy_score(y_test, y_pred)\n", "print(\"Accuracy of SVM model:\", accuracy)\n", "print(classification_report(y_test, y_pred))\n", "\n", "print(\"Total Runtime:\", total_runtime)" ] }, { "cell_type": "markdown", "id": "deac9dd7", "metadata": {}, "source": [ "## Random Forest Model" ] }, { "cell_type": "code", "execution_count": 47, "id": "fba3d3c4", "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "from sklearn.feature_extraction.text import TfidfVectorizer\n", "from sklearn.ensemble import RandomForestClassifier\n", "from sklearn.metrics import accuracy_score" ] }, { "cell_type": "code", "execution_count": 48, "id": "390399c2", "metadata": {}, "outputs": [], "source": [ "X_train, X_test, y_train, y_test = train_test_split(\n", " X, y, test_size=0.2, random_state=42\n", ")" ] }, { "cell_type": "code", "execution_count": 49, "id": "74d99fe7", "metadata": {}, "outputs": [], "source": [ "tfidf_vectorizer = TfidfVectorizer(max_features=1000)\n", "X_train_tfidf = tfidf_vectorizer.fit_transform(X_train)\n", "X_test_tfidf = tfidf_vectorizer.transform(X_test)" ] }, { "cell_type": "code", "execution_count": 50, "id": "f37ceeae", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
RandomForestClassifier(random_state=42)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "RandomForestClassifier(random_state=42)" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rf_model = RandomForestClassifier(n_estimators=100, random_state=42)\n", "rf_model.fit(X_train_tfidf, y_train)" ] }, { "cell_type": "code", "execution_count": 51, "id": "51cbc1c4", "metadata": {}, "outputs": [], "source": [ "y_pred = rf_model.predict(X_test_tfidf)" ] }, { "cell_type": "code", "execution_count": 52, "id": "688925b0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy of Random Forest Model: 0.801038062283737\n", " precision recall f1-score support\n", "\n", " Accident 0.77 0.80 0.79 129\n", "Administrative Issue 0.84 0.92 0.88 662\n", " Cyber Attack 1.00 0.25 0.40 4\n", " Human Error 0.50 0.06 0.10 18\n", " Others 0.72 0.39 0.51 79\n", " Terrorism 0.67 0.19 0.30 52\n", " Weather 0.79 0.86 0.82 92\n", " Worker Strike 0.66 0.77 0.71 120\n", "\n", " accuracy 0.80 1156\n", " macro avg 0.74 0.53 0.56 1156\n", " weighted avg 0.79 0.80 0.78 1156\n", "\n" ] } ], "source": [ "accuracy = accuracy_score(y_test, y_pred)\n", "print(\"Accuracy of Random Forest Model:\", accuracy)\n", "print(classification_report(y_test, y_pred))" ] }, { "cell_type": "markdown", "id": "4b919b55", "metadata": {}, "source": [ "Fine tuning by adjusting the hyperparamters. After testing on the hyperparameters, below are the best parameters for this model." ] }, { "cell_type": "code", "execution_count": 53, "id": "6b4868ef", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy of Random Forest Model: 0.8070934256055363\n", " precision recall f1-score support\n", "\n", " Accident 0.80 0.79 0.80 129\n", "Administrative Issue 0.83 0.94 0.88 662\n", " Cyber Attack 1.00 0.25 0.40 4\n", " Human Error 0.50 0.06 0.10 18\n", " Others 0.74 0.41 0.52 79\n", " Terrorism 0.86 0.12 0.20 52\n", " Weather 0.82 0.85 0.83 92\n", " Worker Strike 0.67 0.78 0.72 120\n", "\n", " accuracy 0.81 1156\n", " macro avg 0.78 0.52 0.56 1156\n", " weighted avg 0.80 0.81 0.78 1156\n", "\n", "Total Runtime: 2.4808011054992676\n" ] } ], "source": [ "X_train, X_test, y_train, y_test = train_test_split(\n", " X, y, test_size=0.2, random_state=42\n", ")\n", "\n", "start_time = time.time()\n", "tfidf_vectorizer = TfidfVectorizer(max_features=2000)\n", "X_train_tfidf = tfidf_vectorizer.fit_transform(X_train)\n", "X_test_tfidf = tfidf_vectorizer.transform(X_test)\n", "\n", "rf_model = RandomForestClassifier(\n", " n_estimators=300, min_samples_split=5, random_state=42\n", ")\n", "rf_model.fit(X_train_tfidf, y_train)\n", "\n", "y_pred = rf_model.predict(X_test_tfidf)\n", "end_time = time.time()\n", "total_runtime = end_time - start_time\n", "\n", "accuracy = accuracy_score(y_test, y_pred)\n", "print(\"Accuracy of Random Forest Model:\", accuracy)\n", "print(classification_report(y_test, y_pred))\n", "\n", "print(\"Total Runtime:\", total_runtime)" ] }, { "cell_type": "markdown", "id": "7df52b09", "metadata": {}, "source": [ "### KNN" ] }, { "cell_type": "code", "execution_count": 54, "id": "b8822f38", "metadata": {}, "outputs": [], "source": [ "from sklearn.feature_extraction.text import TfidfVectorizer\n", "from sklearn.neighbors import KNeighborsClassifier\n", "from sklearn.metrics import accuracy_score\n", "from sklearn.model_selection import train_test_split" ] }, { "cell_type": "code", "execution_count": 55, "id": "368a2dd1", "metadata": {}, "outputs": [], "source": [ "vectorizer = TfidfVectorizer(max_features=2000)\n", "X = vectorizer.fit_transform(X)" ] }, { "cell_type": "code", "execution_count": 56, "id": "ae8bae0b", "metadata": {}, "outputs": [], "source": [ "X_train, X_test, y_train, y_test = train_test_split(\n", " X, y, test_size=0.2, random_state=42\n", ")" ] }, { "cell_type": "code", "execution_count": 57, "id": "3ef3809f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy: 0.7889273356401384\n" ] } ], "source": [ "# Step 4: Apply KNN Algorithm\n", "k = 5 # Number of neighbors\n", "knn_model = KNeighborsClassifier(n_neighbors=k)\n", "knn_model.fit(X_train, y_train)\n", "\n", "# Step 5: Make Predictions and Evaluate Performance\n", "y_pred = knn_model.predict(X_test)\n", "accuracy = accuracy_score(y_test, y_pred)\n", "print(\"Accuracy:\", accuracy)" ] }, { "cell_type": "markdown", "id": "cca13522-7877-4f1f-9b15-d8fb6fd55d12", "metadata": {}, "source": [ "Plot the model's performance against values of k to find the optimal k" ] }, { "cell_type": "code", "execution_count": 58, "id": "67102a37-2286-442f-b270-d3c00614dd9c", "metadata": {}, "outputs": [ { "data": { "image/png": "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uCIiIiIisjiGq2asg25aYFohtFp2DCQiIiIisiSGq2YsyMMBtjYylKg1uJlTYulyiIiIiIhaNYarZsxGLkN7b2lqINddERERERFZFsNVM6e7mPBlhisiIiIiIotiuGrmOvhKI1cMV0RERERElsVw1czprnV1ide6IiIiIiKyKIarZk53ratrGUUo12gtXA0RERERUevFcNXMBbrZw8FWjjKNFtezii1dDhERERFRq8Vw1czJZEKV611xaiARERERkaUwXLUA4RVNLbjuioiIiIjIchiuWoCOHLkiIiIiIrI4hqsWgOGKiIiIiMjyGK5aAN2FhK9nFUOl1li4GiIiIiKi1onhqgXwcbaDq70CGq2IaxlFli6HiIiIiKhVYrhqAQRB0F9MmFMDiYiIiIgsg+GqhehQ0TGQ4YqIiIiIyDIYrloI3borhisiIiIiIstguGohdB0DLzFcERERERFZBMNVC6ELVzeyS1BUWm7haoiIiIiIWh+GqxbCw9EWXk52AID49EILV0NERERE1PowXLUg4X5SUwtODSQiIiIianoMVy2Ibmrg5VSGKyIiIiKipsZw1YKEs6kFEREREZHFMFy1IB0qwtWVNK65IiIiIiJqagxXLUjHigsJp+arkFestnA1REREREStC8NVC+KsVCDQzR4AcDmdUwOJiIiIiJoSw1ULoxu9usSmFkRERERETYrhqoXpqF93xXBFRERERNSUGK5amI7sGEhEREREZBEMVy1MuF9FuEotgCiKFq6GiIiIiKj1YLhqYdr7OEEQgJxiNTILyyxdDhERERFRq8Fw1cIoFXIEeTgA4LorIiIiIqKmxHDVAnHdFRERERFR02O4aoF0664uM1wRERERETUZhqsWSD9yxWtdERERERE1GYarFqjyWleF7BhIRERERNREGK5aoBAvR9jIBBSUliMlT2XpcoiIiIiIWgWLh6uPPvoIwcHBUCqViIqKwrFjx2o8Vq1WY9myZQgLC4NSqUSPHj2wZ88eg2OWLFkCQRAMtk6dOjX2y7AqtjYyhHo7AmBTCyIiIiKipmLRcLVlyxbMmzcPMTExOHXqFHr06IGRI0ciPT3d6PELFy7EJ598gg8//BBxcXF4+umnMX78eJw+fdrguC5duiAlJUW//fnnn03xcqxKh4qpgZe57oqIiIiIqElYNFytWrUKs2fPxowZMxAREYG1a9fCwcEB69atM3r8hg0b8Oqrr2L06NEIDQ3FnDlzMHr0aKxcudLgOBsbG/j5+ek3Ly+vpng5ViVcF67SCi1cCRERERFR62BjqScuKyvDyZMn8corr+j3yWQy3HfffThy5IjRx5SWlkKpVBrss7e3rzYydeXKFQQEBECpVKJ///5Yvnw52rVrV2MtpaWlKC0t1d/Oz88HIE1DVKvV9X5t5qR7/vrWEeZlDwC4lJpv9tfQ0JoaE2synTXWxZpMw5pMw5pMw5pMw5pMY401AdZZF2syjTXVVJ8aBNFC7eRu3bqFwMBAHD58GP3799fvf+mll/D777/j6NGj1R4zefJk/P3339i+fTvCwsKwb98+PPjgg9BoNPpwtHv3bhQWFiI8PBwpKSlYunQpkpOTce7cOTg7OxutZcmSJVi6dGm1/Zs2bYKDg4OZXnHTSi8B3oy1gUImYkU/DWSCpSsiIiIiImp+iouLMXnyZOTl5cHFxaXWYy02ctUQ77//PmbPno1OnTpBEASEhYVhxowZBtMIR40apf+8e/fuiIqKQlBQEL777jvMmjXL6HlfeeUVzJs3T387Pz8fbdu2xYgRI+r8AjY2tVqNvXv3Yvjw4VAoFCY/TqMV8e65fSgt16LbXUMR5Gm+kNjQmhoTazKdNdbFmkzDmkzDmkzDmkzDmkxjjTUB1lkXazKNNdWkm9VmCouFKy8vL8jlcqSlpRnsT0tLg5+fn9HHeHt7Y/v27VCpVMjKykJAQAAWLFiA0NDQGp/Hzc0NHTt2RHx8fI3H2NnZwc7Ortp+hUJh8W+mTn1rUQBo7+OE87fycS2rBO39XC1eU1NgTaazxrpYk2lYk2lYk2lYk2lYk2mssSbAOutiTaaxhprq8/wWa2hha2uL3r17Y9++ffp9Wq0W+/btM5gmaIxSqURgYCDKy8vx448/4sEHH6zx2MLCQly9ehX+/v5mq725qGxqwY6BRERERESNzaLdAufNm4fPPvsMX331FS5cuIA5c+agqKgIM2bMAABMnTrVoOHF0aNHsXXrVly7dg1//PEHoqOjodVq8dJLL+mPmT9/Pn7//Xdcv34dhw8fxvjx4yGXyzFp0qQmf32W1tFPCleX2DGQiIiIiKjRWXTN1WOPPYaMjAwsXrwYqampiIyMxJ49e+Dr6wsASEpKgkxWmf9UKhUWLlyIa9euwcnJCaNHj8aGDRvg5uamP+bmzZuYNGkSsrKy4O3tjYEDB+Kvv/6Ct7d3U788i+vo6wSA17oiIiIiImoKFm9oMXfuXMydO9fofQcOHDC4PWTIEMTFxdV6vs2bN5urtGavY8W0wGuZhVBrtFDILTpQSURERETUovHddgsW6GYPR1s51BoR1zOLLF0OEREREVGLxnDVggmCUGXdFacGEhERERE1JoarFq6jT0XHQK67IiIiIiJqVAxXLZxu5OoyOwYSERERETUqhqsWjte6IiIiIiJqGgxXLVxHP6kd+/WsIqjUGgtXQ0RERETUcjFctXDeTnZwc1BAKwLx6ZwaSERERETUWBiuWjhBEPTXu7qSzqmBRERERESNheGqFdCtu7qUypErIiIiIqLGwnDVClR2DOTIFRERERFRY2G4agU6+khNLS7xWldERERERI2G4aoV0K25Ss4tQWFpuYWrISIiIiJqmRiuWgF3R1v4ONsBAK5waiARERERUaNguGolwrnuioiIiIioUTFctRIdfHThih0DiYiIiIgaA8NVKxHuJzW14MgVEREREVHjYLhqJTrqr3XFcEVERERE1BgYrlqJDhXhKr2gFLnFZRauhoiIiIio5WG4aiWc7GwQ6GYPgOuuiIiIiIgaA8NVK6LrGHiJ666IiIiIiMyO4aoV0a27usx1V0REREREZsdw1Yp09JU6BnLkioiIiIjI/BiuWhHdyNWVtAKIomjhaoiIiIiIWhaGq1akvY8TZAKQU6xGRmGppcshIiIiImpRGK5aEaVCjmBPRwDA5VR2DCQiIiIiMieGq1amA9ddERERERE1CoarVia8yrorIiIiIiIyH4arVqYjr3VFRERERNQoGK5amfAq17pix0AiIiIiIvNhuGplgr0coZALKCrTIDm3xNLlEBERERG1GAxXrYxCLkOol9TU4koaOwYSEREREZkLw1UrxHVXRERERETmx3DVCoVXtGO/nMpwRURERERkLgxXrVAHX45cERERERGZG8NVK6TrGBifXgiNlh0DiYiIiIjMgeGqFWrr4QClQobSci2SsostXQ4RERERUYvAcNUKyWUCOvhUTA3kuisiIiIiIrNguGqlOuiaWnDdFRERERGRWTBctVK6dVcMV0RERERE5sFw1UrprnXFcEVEREREZB4MV62UbuTqWkYRysq1Fq6GiIiIiKj5Y7hqpfxdlXC2s0G5VkRCZpGlyyEiIiIiavYYrlopQRDY1IKIiIiIyIwYrlqxcK67IiIiIiIyG4arVqyjL691RURERERkLgxXrVhHtmMnIiIiIjIbhqtWTBeuErOLoVJrLFwNEREREVHzxnDVink52cLD0RaiCMSnF1q6HCIiIiKiZo3hqhUTBAEdKzoGct0VEREREdGdYbhq5bjuioiIiIjIPBiuWjmGKyIiIiIi82C4auUqr3XFNVdERERERHeC4aqV6+gjhavk3BIUqNQWroaIiIiIqPliuGrlXB0U8HWxA8DRKyIiIiKiO8FwRfp1V1e47oqIiIiIqMEYrgjhFeHqEsMVEREREVGDMVwROwYSEREREZkBwxWhY0XHwEupXHNFRERERNRQDFeEDj5OAIDMwlJkF5VZuBoiIiIiouaJ4YrgaGeDth72ADg1kIiIiIiooRiuCEDl9a4YroiIiIiIGobhigBUXXfFcEVERERE1BAMVwSgsh37FV5ImIiIiIioQRiuCEBlO/ZLaQUQRdHC1RARERERNT8MVwQACPV2hEwA8krUSC8otXQ5RERERETNDsMVAQCUCjmCvRwBcN0VEREREVFDMFyRnm7dFTsGEhERERHVH8MV6XVkuCIiIiIiajCGK9KrbGrBjoFERERERPXFcEV64X5OAIAraQXQatkxkIiIiIioPhiuSC/I0xG2chmKyzRIzi2xdDlERERERM0KwxXpKeQyhHpLHQO57oqIiIiIqH4YrshA1YsJExERERGR6RiuyEC4X0XHQF7rioiIiIioXiwerj766CMEBwdDqVQiKioKx44dq/FYtVqNZcuWISwsDEqlEj169MCePXvu6JxkqLIdOzsGEhERERHVh0XD1ZYtWzBv3jzExMTg1KlT6NGjB0aOHIn09HSjxy9cuBCffPIJPvzwQ8TFxeHpp5/G+PHjcfr06QafkwzpLiQcn1GIco3WwtUQERERETUfFg1Xq1atwuzZszFjxgxERERg7dq1cHBwwLp164wev2HDBrz66qsYPXo0QkNDMWfOHIwePRorV65s8DnJUBt3e9gr5Cgr1yIxu9jS5RARERERNRs2lnrisrIynDx5Eq+88op+n0wmw3333YcjR44YfUxpaSmUSqXBPnt7e/z5558NPqfuvKWlpfrb+fn5AKRpiGq1uv4vzox0z9+UdbT3ccTZ5HzEJeeinZudVdRUF9ZkOmusizWZhjWZhjWZhjWZhjWZxhprAqyzLtZkGmuqqT41CKIoWuRqsbdu3UJgYCAOHz6M/v376/e/9NJL+P3333H06NFqj5k8eTL+/vtvbN++HWFhYdi3bx8efPBBaDQalJaWNuicALBkyRIsXbq02v5NmzbBwcHBDK+2efkmXoZjGTKMaqNBdFteTJiIiIiIWq/i4mJMnjwZeXl5cHFxqfVYi41cNcT777+P2bNno1OnThAEAWFhYZgxY8YdT/l75ZVXMG/ePP3t/Px8tG3bFiNGjKjzC9jY1Go19u7di+HDh0OhUDTJc6Ycuo5jey4DrgEYPbqHVdRUF9ZkOmusizWZhjWZhjWZhjWZhjWZxhprAqyzLtZkGmuqSTerzRQWC1deXl6Qy+VIS0sz2J+WlgY/Pz+jj/H29sb27duhUqmQlZWFgIAALFiwAKGhoQ0+JwDY2dnBzq769DeFQmHxb6ZOU9bSyd8VAHAlo6jW57Smr48OazKdNdbFmkzDmkzDmkzDmkzDmkxjjTUB1lkXazKNNdRUn+e3WEMLW1tb9O7dG/v27dPv02q12Ldvn8GUPmOUSiUCAwNRXl6OH3/8EQ8++OAdn5Mq6a51lZBZhNJyjYWrISIiIiJqHiw6LXDevHmYNm0a+vTpg379+mH16tUoKirCjBkzAABTp05FYGAgli9fDgA4evQokpOTERkZieTkZCxZsgRarRYvvfSSyeekuvm5KOGstEGBqhwJmUXo5GfZqZFERERERM2BRcPVY489hoyMDCxevBipqamIjIzEnj174OvrCwBISkqCTFY5uKZSqbBw4UJcu3YNTk5OGD16NDZs2AA3NzeTz0l1EwQB4b7OOJGYg0upBQxXREREREQmsHhDi7lz52Lu3LlG7ztw4IDB7SFDhiAuLu6Ozkmm6VARri6nFVi6FCIiIiKiZsGiFxEm6xXu6wQAuJRaaOFKiIiIiIiaB4YrMqpjRVOLK+kcuSIiIiIiMgXDFRnV0VcKV0nZxSguK7dwNURERERE1o/hiozycrKDp6MtRBGIT+fUQCIiIiKiutQ7XAUHB2PZsmVISkpqjHrIiuhGry6lcmogEREREVFd6h2unn/+eWzduhWhoaEYPnw4Nm/ejNLS0saojSwsXL/uiiNXRERERER1aVC4io2NxbFjx9C5c2f83//9H/z9/TF37lycOnWqMWokC+mg7xjIkSsiIiIioro0eM1Vr1698MEHH+DWrVuIiYnB559/jr59+yIyMhLr1q2DKIrmrJMsILxiWiCvdUVEREREVLcGX0RYrVZj27ZtWL9+Pfbu3Yu77roLs2bNws2bN/Hqq6/i119/xaZNm8xZKzWxDhXhKiVPhbwSNVztFRauiIiIiIjIetU7XJ06dQrr16/Ht99+C5lMhqlTp+K9995Dp06d9MeMHz8effv2NWuh1PRc7RXwd1UiJU+F+PQC9A7ysHRJRERERERWq97hqm/fvhg+fDjWrFmDcePGQaGoPpoREhKCiRMnmqVAsqwOvs5IyVPhUmohwxURERERUS3qHa6uXbuGoKCgWo9xdHTE+vXrG1wUWY9wXyccvJzBdVdERERERHWod0OL9PR0HD16tNr+o0eP4sSJE2YpiqwHr3VFRERERGSaeoerf/7zn7hx40a1/cnJyfjnP/9plqLIelRe64rhioiIiIioNvUOV3FxcejVq1e1/T179kRcXJxZiiLr0d5HutZVZmEZMgt5sWgiIiIioprUO1zZ2dkhLS2t2v6UlBTY2DS4sztZKQdbG7TzcADA610REREREdWm3uFqxIgReOWVV5CXl6ffl5ubi1dffRXDhw83a3FkHXTrri5z3RURERERUY3qPdT07rvvYvDgwQgKCkLPnj0BALGxsfD19cWGDRvMXiBZXrifE369kIbL6YWWLoWIiIiIyGrVO1wFBgbizJkz+Oabb/D333/D3t4eM2bMwKRJk4xe84qaP45cERERERHVrUGLpBwdHfGPf/zD3LWQldK3Y08rgCiKFq6GiIiIiMg6NbgDRVxcHJKSklBWVmaw/4EHHrjjosi6hHo7Qi4TUKAqR2q+Cl4ObFxCRERERHS7er9LvnbtGsaPH4+zZ89CEAT9SIYgCAAAjUZj3grJ4uxs5AjxckR8eiEupxXCK8TN0iUREREREVmdencLfO655xASEoL09HQ4ODjg/PnzOHjwIPr06YMDBw40QolkDTr6Ste74rorIiIiIiLj6h2ujhw5gmXLlsHLywsymQwymQwDBw7E8uXL8eyzzzZGjWQFqq67IiIiIiKi6uodrjQaDZydpTfaXl5euHXrFgAgKCgIly5dMm91ZDXCK8LVFYYrIiIiIiKj6r3mqmvXrvj7778R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5d62rVu31nlCi0GDBsHe3h4hISE4efIk9u/fj88++wwAnvn7s3R0dPDhhx8iMzMTWVlZCA0NRa9evZSHGUZHR2PNmjWIj49Hfn4+Fi1ahC1btjx1LxQAzJw5E1u3bkVBQQFOnz6NHTt2KCdstfHz88Pp06fr3Hu1YMECBAcHY+DAgTh79qxyeUVFBbKysuDr6/tMz5uI6EXCyRUR0Utu9uzZNQ4v69SpE/79739j+fLlcHd3x+HDh+t9Ef4sYmNjERsbC3d3d2RkZGDbtm3KM9BV722qqqqCr68vXF1dERUVhZYtW6p8vksdEydOxOTJkzFlyhS4uroiOTkZ27Ztg6Oj43M/h9q2m5ubG9LT03Hu3Dn07dsXHh4emDlzJuRyea33oaWlhaSkJJSXl6NHjx54++23lWcLrOtzS3UxNDTE1KlT8cYbb8DLywvGxsbYtGmT8vqgoCAsXboUCxYsgIuLC7799lusXr0aAwYMeOr96urqYtq0aXBzc0O/fv2gpaWFjRs31rm+q6srunbtip9//rnOdRYvXoyRI0di4MCBOHfuHABg69atsLW1Rd++fZ/peRMRvUhk4smD7omIiKjR7N+/H3369EFBQcFzf05LKr/88guio6ORk5Oj9oS4V69emDhxIt54441GriMiko621AFEREQvs8TERBgbG8PR0REFBQWIjIyEl5fXCzuxAh6duCI/Px9XrlxB27Zt613/+vXrGD58OMaMGdMEdURE0uGeKyIioka0bt06fPHFF7h48SLMzMzg4+ODhQsXwtTUVOo0IiJqYJxcERERERERNQCe0IKIiIiIiKgBcHJFRERERETUADi5IiIiIiIiagCcXBERERERETUATq6IiIiIiIgaACdXREREREREDYCTKyIiIiIiogbAyRUREREREVED+D+qtJ+yTpRZ5gAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from sklearn.datasets import load_iris\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.neighbors import KNeighborsClassifier\n", "\n", "X_train, X_test, y_train, y_test = train_test_split(\n", " X, y, test_size=0.2, random_state=42\n", ")\n", "\n", "k_values = range(1, 21)\n", "\n", "train_scores = []\n", "test_scores = []\n", "\n", "# Iterate over each k value\n", "for k in k_values:\n", " # Train KNN classifier\n", " knn = KNeighborsClassifier(n_neighbors=k)\n", " knn.fit(X_train, y_train)\n", "\n", " # Calculate training and testing accuracy\n", " train_score = knn.score(X_train, y_train)\n", " test_score = knn.score(X_test, y_test)\n", "\n", " train_scores.append(train_score)\n", " test_scores.append(test_score)\n", "\n", "# Plot the performance scores\n", "plt.figure(figsize=(10, 6))\n", "plt.plot(k_values, train_scores, label=\"Train Accuracy\", marker=\"o\")\n", "plt.plot(k_values, test_scores, label=\"Test Accuracy\", marker=\"o\")\n", "plt.xlabel(\"Number of Neighbors (k)\")\n", "plt.ylabel(\"Accuracy\")\n", "plt.title(\"KNN Classifier Performance\")\n", "plt.xticks(np.arange(1, 21, step=1))\n", "plt.legend()\n", "plt.grid(True)\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "38fbfc18-9f0f-405f-952e-74725d3fb6ed", "metadata": {}, "source": [ "k=5 is an optimal value" ] }, { "cell_type": "markdown", "id": "f2e34a7b-6c6b-4308-874e-f74899336c61", "metadata": {}, "source": [ "Find other optimal hyperparameters by using grid search" ] }, { "cell_type": "code", "execution_count": 59, "id": "5725954c", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/model_selection/_validation.py:982: UserWarning: Scoring failed. The score on this train-test partition for these parameters will be set to nan. Details: \n", "Traceback (most recent call last):\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/model_selection/_validation.py\", line 971, in _score\n", " scores = scorer(estimator, X_test, y_test, **score_params)\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_scorer.py\", line 279, in __call__\n", " return self._score(partial(_cached_call, None), estimator, X, y_true, **_kwargs)\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_scorer.py\", line 371, in _score\n", " y_pred = method_caller(\n", " ^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_scorer.py\", line 89, in _cached_call\n", " result, _ = _get_response_values(\n", " ^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/utils/_response.py\", line 211, in _get_response_values\n", " y_pred = prediction_method(X)\n", " ^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/neighbors/_classification.py\", line 259, in predict\n", " probabilities = self.predict_proba(X)\n", " ^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/neighbors/_classification.py\", line 343, in predict_proba\n", " probabilities = ArgKminClassMode.compute(\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_pairwise_distances_reduction/_dispatcher.py\", line 590, in compute\n", " unique_Y_labels=np.array(unique_Y_labels, dtype=np.intp),\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", "ValueError: invalid literal for int() with base 10: 'Accident'\n", "\n", " warnings.warn(\n", "/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/model_selection/_validation.py:982: UserWarning: Scoring failed. The score on this train-test partition for these parameters will be set to nan. Details: \n", "Traceback (most recent call last):\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/model_selection/_validation.py\", line 971, in _score\n", " scores = scorer(estimator, X_test, y_test, **score_params)\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_scorer.py\", line 279, in __call__\n", " return self._score(partial(_cached_call, None), estimator, X, y_true, **_kwargs)\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_scorer.py\", line 371, in _score\n", " y_pred = method_caller(\n", " ^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_scorer.py\", line 89, in _cached_call\n", " result, _ = _get_response_values(\n", " ^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/utils/_response.py\", line 211, in _get_response_values\n", " y_pred = prediction_method(X)\n", " ^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/neighbors/_classification.py\", line 259, in predict\n", " probabilities = self.predict_proba(X)\n", " ^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/neighbors/_classification.py\", line 343, in predict_proba\n", " probabilities = ArgKminClassMode.compute(\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_pairwise_distances_reduction/_dispatcher.py\", line 590, in compute\n", " unique_Y_labels=np.array(unique_Y_labels, dtype=np.intp),\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", "ValueError: invalid literal for int() with base 10: 'Accident'\n", "\n", " warnings.warn(\n", "/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/model_selection/_validation.py:982: UserWarning: Scoring failed. The score on this train-test partition for these parameters will be set to nan. Details: \n", "Traceback (most recent call last):\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/model_selection/_validation.py\", line 971, in _score\n", " scores = scorer(estimator, X_test, y_test, **score_params)\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_scorer.py\", line 279, in __call__\n", " return self._score(partial(_cached_call, None), estimator, X, y_true, **_kwargs)\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_scorer.py\", line 371, in _score\n", " y_pred = method_caller(\n", " ^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_scorer.py\", line 89, in _cached_call\n", " result, _ = _get_response_values(\n", " ^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/utils/_response.py\", line 211, in _get_response_values\n", " y_pred = prediction_method(X)\n", " ^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/neighbors/_classification.py\", line 259, in predict\n", " probabilities = self.predict_proba(X)\n", " ^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/neighbors/_classification.py\", line 343, in predict_proba\n", " probabilities = ArgKminClassMode.compute(\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_pairwise_distances_reduction/_dispatcher.py\", line 590, in compute\n", " unique_Y_labels=np.array(unique_Y_labels, dtype=np.intp),\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", "ValueError: invalid literal for int() with base 10: 'Accident'\n", "\n", " warnings.warn(\n", "/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/model_selection/_validation.py:982: UserWarning: Scoring failed. The score on this train-test partition for these parameters will be set to nan. Details: \n", "Traceback (most recent call last):\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/model_selection/_validation.py\", line 971, in _score\n", " scores = scorer(estimator, X_test, y_test, **score_params)\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_scorer.py\", line 279, in __call__\n", " return self._score(partial(_cached_call, None), estimator, X, y_true, **_kwargs)\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_scorer.py\", line 371, in _score\n", " y_pred = method_caller(\n", " ^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_scorer.py\", line 89, in _cached_call\n", " result, _ = _get_response_values(\n", " ^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/utils/_response.py\", line 211, in _get_response_values\n", " y_pred = prediction_method(X)\n", " ^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/neighbors/_classification.py\", line 259, in predict\n", " probabilities = self.predict_proba(X)\n", " ^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/neighbors/_classification.py\", line 343, in predict_proba\n", " probabilities = ArgKminClassMode.compute(\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_pairwise_distances_reduction/_dispatcher.py\", line 590, in compute\n", " unique_Y_labels=np.array(unique_Y_labels, dtype=np.intp),\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", "ValueError: invalid literal for int() with base 10: 'Accident'\n", "\n", " warnings.warn(\n", "/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/model_selection/_validation.py:982: UserWarning: Scoring failed. The score on this train-test partition for these parameters will be set to nan. Details: \n", "Traceback (most recent call last):\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/model_selection/_validation.py\", line 971, in _score\n", " scores = scorer(estimator, X_test, y_test, **score_params)\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_scorer.py\", line 279, in __call__\n", " return self._score(partial(_cached_call, None), estimator, X, y_true, **_kwargs)\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_scorer.py\", line 371, in _score\n", " y_pred = method_caller(\n", " ^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_scorer.py\", line 89, in _cached_call\n", " result, _ = _get_response_values(\n", " ^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/utils/_response.py\", line 211, in _get_response_values\n", " y_pred = prediction_method(X)\n", " ^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/neighbors/_classification.py\", line 259, in predict\n", " probabilities = self.predict_proba(X)\n", " ^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/neighbors/_classification.py\", line 343, in predict_proba\n", " probabilities = ArgKminClassMode.compute(\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/metrics/_pairwise_distances_reduction/_dispatcher.py\", line 590, in compute\n", " unique_Y_labels=np.array(unique_Y_labels, dtype=np.intp),\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", "ValueError: invalid literal for int() with base 10: 'Accident'\n", "\n", " warnings.warn(\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Best Parameters: {'p': 2, 'weights': 'distance'}\n", "Test Accuracy: 0.7993079584775087\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/Users/inflaton/anaconda3/envs/maritime/lib/python3.12/site-packages/sklearn/model_selection/_search.py:1052: UserWarning: One or more of the test scores are non-finite: [ nan 0.58348075 0.77465707 0.78136118]\n", " warnings.warn(\n" ] } ], "source": [ "knn = KNeighborsClassifier()\n", "\n", "param_grid = {\"weights\": [\"uniform\", \"distance\"], \"p\": [1, 2]}\n", "\n", "grid_search = GridSearchCV(\n", " estimator=knn, param_grid=param_grid, cv=5, scoring=\"accuracy\"\n", ")\n", "\n", "grid_search.fit(X_train, y_train)\n", "\n", "best_params = grid_search.best_params_\n", "\n", "best_model = grid_search.best_estimator_\n", "\n", "test_accuracy = best_model.score(X_test, y_test)\n", "print(\"Best Parameters:\", best_params)\n", "print(\"Test Accuracy:\", test_accuracy)" ] }, { "cell_type": "markdown", "id": "6b7449ea-16e7-4660-89c6-24fe635f2880", "metadata": {}, "source": [ "Lastly, run the model with optimal hyperparameters" ] }, { "cell_type": "code", "execution_count": 60, "id": "50fb3195-fe1c-499a-9157-0be8dc7be3e1", "metadata": {}, "outputs": [], "source": [ "import time" ] }, { "cell_type": "code", "execution_count": 61, "id": "dbd33ce9-ebc7-42d8-a190-013c1d889286", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy: 0.7993079584775087\n", "Total Runtime: 0.10337376594543457\n" ] } ], "source": [ "X_train, X_test, y_train, y_test = train_test_split(\n", " X, y, test_size=0.2, random_state=42\n", ")\n", "\n", "start_time = time.time()\n", "\n", "k = 5\n", "knn_model = KNeighborsClassifier(n_neighbors=k, weights=\"distance\")\n", "knn_model.fit(X_train, y_train)\n", "\n", "y_pred = knn_model.predict(X_test)\n", "\n", "end_time = time.time()\n", "total_runtime = end_time - start_time\n", "\n", "accuracy = accuracy_score(y_test, y_pred)\n", "print(\"Accuracy:\", accuracy)\n", "print(\"Total Runtime:\", total_runtime)" ] } ], "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.12.4" } }, "nbformat": 4, "nbformat_minor": 5 }