diff --git "a/experiments/01_eda_preprocessing.ipynb" "b/experiments/01_eda_preprocessing.ipynb" new file mode 100644--- /dev/null +++ "b/experiments/01_eda_preprocessing.ipynb" @@ -0,0 +1,4513 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "872d0671-c7ca-4986-8a58-7d74930ac85c", + "metadata": { + "id": "872d0671-c7ca-4986-8a58-7d74930ac85c" + }, + "outputs": [], + "source": [ + "import os\n", + "import requests" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "2731aafa-b87c-4e39-b52e-2e3514198145", + "metadata": { + "id": "2731aafa-b87c-4e39-b52e-2e3514198145" + }, + "outputs": [], + "source": [ + "DATA_DIR = \"data\"\n", + "if not os.path.exists(DATA_DIR):\n", + " os.makedirs(DATA_DIR)\n", + "URLS = {\n", + " 'KDDTrain+.txt':'https://raw.githubusercontent.com/defcom17/NSL_KDD/master/KDDTrain+.txt',\n", + " 'KDDTest+.txt' : 'https://raw.githubusercontent.com/defcom17/NSL_KDD/master/KDDTest+.txt'\n", + "}\n", + "\n", + "def download_file(url,filename):\n", + " local_path = os.path.join(DATA_DIR, filename)\n", + "\n", + " if os.path.exists(local_path):\n", + " print(f\"Correct file found: {filename} already exists\")\n", + " return\n", + " print(f\"Downloading {filename}...\")\n", + " try:\n", + " response = requests.get(url, stream=True)\n", + " response.raise_for_status()\n", + "\n", + " with open(local_path, 'wb') as f:\n", + " for chunk in response.iter_content(chunk_size = 8000):\n", + " f.write(chunk)\n", + " print(f\"Success saved to {local_path}\")\n", + " except Exception as e:\n", + " print(f\"Failed to download {filename} :{e}\")\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "9549422f-8f2d-44b8-adf6-4db8d2711fd1", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "9549422f-8f2d-44b8-adf6-4db8d2711fd1", + "outputId": "b2b1a3ad-d49c-4e3a-c940-84d833fdb2bd" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Downloading KDDTrain+.txt...\n", + "Success saved to data/KDDTrain+.txt\n", + "Downloading KDDTest+.txt...\n", + "Success saved to data/KDDTest+.txt\n", + "\n", + "All files should now be in 'data' folder.\n" + ] + } + ], + "source": [ + "for filename, url in URLS.items():\n", + " download_file(url,filename)\n", + "print(\"\\nAll files should now be in 'data' folder.\")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "f3593ac0-a47b-4093-8887-67caab29d160", + "metadata": { + "id": "f3593ac0-a47b-4093-8887-67caab29d160" + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import os\n", + "\n", + "# Define the path to your data\n", + "DATA_DIR = 'data'\n", + "TRAIN_PATH = os.path.join(DATA_DIR, 'KDDTrain+.txt')\n", + "\n", + "# Define the standard column names for the NSL-KDD dataset\n", + "COLUMNS = [\n", + " \"duration\", \"protocol_type\", \"service\", \"flag\", \"src_bytes\", \"dst_bytes\",\n", + " \"land\", \"wrong_fragment\", \"urgent\", \"hot\", \"num_failed_logins\",\n", + " \"logged_in\", \"num_compromised\", \"root_shell\", \"su_attempted\", \"num_root\",\n", + " \"num_file_creations\", \"num_shells\", \"num_access_files\", \"num_outbound_cmds\",\n", + " \"is_host_login\", \"is_guest_login\", \"count\", \"srv_count\", \"serror_rate\",\n", + " \"srv_serror_rate\", \"rerror_rate\", \"srv_rerror_rate\", \"same_srv_rate\",\n", + " \"diff_srv_rate\", \"srv_diff_host_rate\", \"dst_host_count\", \"dst_host_srv_count\",\n", + " \"dst_host_same_srv_rate\", \"dst_host_diff_srv_rate\", \"dst_host_same_src_port_rate\",\n", + " \"dst_host_srv_diff_host_rate\", \"dst_host_serror_rate\", \"dst_host_srv_serror_rate\",\n", + " \"dst_host_rerror_rate\", \"dst_host_srv_rerror_rate\", \"class\", \"difficulty_level\"\n", + "]\n", + "\n", + "# Read the dataset\n", + "# header=None tells pandas there is no header row in the file\n", + "# names=COLUMNS assign the column names we defined above\n", + "df = pd.read_csv(TRAIN_PATH, header=None, names=COLUMNS)\n", + "\n", + "df.to_csv(\"labeled_CSV\",index=False)\n", + "# print(\n", + "\n", + "\n", + "# Display the first few rows\n", + "# df\n", + "# df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "85fdee4c-3567-4a70-bbfa-a6d04e9124de", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "85fdee4c-3567-4a70-bbfa-a6d04e9124de", + "outputId": "cf80c7cf-54f0-491b-ee82-1451cd6ecf0f" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Data Loaded Successfully!\n" + ] + } + ], + "source": [ + "train_path = os.path.join(DATA_DIR, 'KDDTrain+.txt')\n", + "test_path = os.path.join(DATA_DIR, 'KDDTest+.txt')\n", + "\n", + "# Read CSV with our column names\n", + "train_df = pd.read_csv(train_path, names=COLUMNS)\n", + "test_df = pd.read_csv(test_path, names=COLUMNS)\n", + "\n", + "print(\"Data Loaded Successfully!\")" + ] + }, + { + "cell_type": "code", + "source": [ + "# ==============================\n", + "# STEP 1 — Understanding Dataset\n", + "# ==============================\n", + "\n", + "print(\"\\nStep 1: Dataset shape\")\n", + "print(\"Training shape:\", train_df.shape)\n", + "print(\"Testing shape:\", test_df.shape)\n", + "\n", + "print(\"\\nStep 1.1: First 5 rows\")\n", + "train_df.head()\n", + "\n", + "print(\"\\nStep 1.2: Column info\")\n", + "train_df.info()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "O5Cw2HRP5Cuu", + "outputId": "6e8126ed-9acf-4ac4-beaf-4cd9f8fe0693" + }, + "id": "O5Cw2HRP5Cuu", + "execution_count": 44, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\n", + "Step 1: Dataset shape\n", + "Training shape: (125973, 43)\n", + "Testing shape: (22544, 43)\n", + "\n", + "Step 1.1: First 5 rows\n", + "\n", + "Step 1.2: Column info\n", + "\n", + "RangeIndex: 125973 entries, 0 to 125972\n", + "Data columns (total 43 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 duration 125973 non-null int64 \n", + " 1 protocol_type 125973 non-null object \n", + " 2 service 125973 non-null object \n", + " 3 flag 125973 non-null object \n", + " 4 src_bytes 125973 non-null int64 \n", + " 5 dst_bytes 125973 non-null int64 \n", + " 6 land 125973 non-null int64 \n", + " 7 wrong_fragment 125973 non-null int64 \n", + " 8 urgent 125973 non-null int64 \n", + " 9 hot 125973 non-null int64 \n", + " 10 num_failed_logins 125973 non-null int64 \n", + " 11 logged_in 125973 non-null int64 \n", + " 12 num_compromised 125973 non-null int64 \n", + " 13 root_shell 125973 non-null int64 \n", + " 14 su_attempted 125973 non-null int64 \n", + " 15 num_root 125973 non-null int64 \n", + " 16 num_file_creations 125973 non-null int64 \n", + " 17 num_shells 125973 non-null int64 \n", + " 18 num_access_files 125973 non-null int64 \n", + " 19 num_outbound_cmds 125973 non-null int64 \n", + " 20 is_host_login 125973 non-null int64 \n", + " 21 is_guest_login 125973 non-null int64 \n", + " 22 count 125973 non-null int64 \n", + " 23 srv_count 125973 non-null int64 \n", + " 24 serror_rate 125973 non-null float64\n", + " 25 srv_serror_rate 125973 non-null float64\n", + " 26 rerror_rate 125973 non-null float64\n", + " 27 srv_rerror_rate 125973 non-null float64\n", + " 28 same_srv_rate 125973 non-null float64\n", + " 29 diff_srv_rate 125973 non-null float64\n", + " 30 srv_diff_host_rate 125973 non-null float64\n", + " 31 dst_host_count 125973 non-null int64 \n", + " 32 dst_host_srv_count 125973 non-null int64 \n", + " 33 dst_host_same_srv_rate 125973 non-null float64\n", + " 34 dst_host_diff_srv_rate 125973 non-null float64\n", + " 35 dst_host_same_src_port_rate 125973 non-null float64\n", + " 36 dst_host_srv_diff_host_rate 125973 non-null float64\n", + " 37 dst_host_serror_rate 125973 non-null float64\n", + " 38 dst_host_srv_serror_rate 125973 non-null float64\n", + " 39 dst_host_rerror_rate 125973 non-null float64\n", + " 40 dst_host_srv_rerror_rate 125973 non-null float64\n", + " 41 class 125973 non-null object \n", + " 42 difficulty_level 125973 non-null int64 \n", + "dtypes: float64(15), int64(24), object(4)\n", + "memory usage: 41.3+ MB\n" + ] + } + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "44e45841-ee48-495b-bce8-97010aa9f62a", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 255 + }, + "id": "44e45841-ee48-495b-bce8-97010aa9f62a", + "outputId": "3c3824b4-62c1-4921-865d-2c12ef2a3fa5" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " duration protocol_type service flag src_bytes dst_bytes land \\\n", + "22539 0 tcp smtp SF 794 333 0 \n", + "22540 0 tcp http SF 317 938 0 \n", + "22541 0 tcp http SF 54540 8314 0 \n", + "22542 0 udp domain_u SF 42 42 0 \n", + "22543 0 tcp sunrpc REJ 0 0 0 \n", + "\n", + " wrong_fragment urgent hot ... dst_host_same_srv_rate \\\n", + "22539 0 0 0 ... 0.72 \n", + "22540 0 0 0 ... 1.00 \n", + "22541 0 0 2 ... 1.00 \n", + "22542 0 0 0 ... 0.99 \n", + "22543 0 0 0 ... 0.08 \n", + "\n", + " dst_host_diff_srv_rate dst_host_same_src_port_rate \\\n", + "22539 0.06 0.01 \n", + "22540 0.00 0.01 \n", + "22541 0.00 0.00 \n", + "22542 0.01 0.00 \n", + "22543 0.03 0.00 \n", + "\n", + " dst_host_srv_diff_host_rate dst_host_serror_rate \\\n", + "22539 0.01 0.01 \n", + "22540 0.01 0.01 \n", + "22541 0.00 0.00 \n", + "22542 0.00 0.00 \n", + "22543 0.00 0.00 \n", + "\n", + " dst_host_srv_serror_rate dst_host_rerror_rate \\\n", + "22539 0.0 0.00 \n", + "22540 0.0 0.00 \n", + "22541 0.0 0.07 \n", + "22542 0.0 0.00 \n", + "22543 0.0 0.44 \n", + "\n", + " dst_host_srv_rerror_rate class difficulty_level \n", + "22539 0.00 normal 21 \n", + "22540 0.00 normal 21 \n", + "22541 0.07 back 15 \n", + "22542 0.00 normal 21 \n", + "22543 1.00 mscan 14 \n", + "\n", + "[5 rows x 43 columns]" + ], + "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", + "
durationprotocol_typeserviceflagsrc_bytesdst_byteslandwrong_fragmenturgenthot...dst_host_same_srv_ratedst_host_diff_srv_ratedst_host_same_src_port_ratedst_host_srv_diff_host_ratedst_host_serror_ratedst_host_srv_serror_ratedst_host_rerror_ratedst_host_srv_rerror_rateclassdifficulty_level
225390tcpsmtpSF7943330000...0.720.060.010.010.010.00.000.00normal21
225400tcphttpSF3179380000...1.000.000.010.010.010.00.000.00normal21
225410tcphttpSF5454083140002...1.000.000.000.000.000.00.070.07back15
225420udpdomain_uSF42420000...0.990.010.000.000.000.00.000.00normal21
225430tcpsunrpcREJ000000...0.080.030.000.000.000.00.441.00mscan14
\n", + "

5 rows × 43 columns

\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe" + } + }, + "metadata": {}, + "execution_count": 6 + } + ], + "source": [ + "# Display first 5 rows\n", + "train_df.head()\n", + "train_df.tail()\n", + "\n", + "test_df.tail()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "34bb1d74-cc9a-45e5-93c2-262987aec8ec", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 349 + }, + "id": "34bb1d74-cc9a-45e5-93c2-262987aec8ec", + "outputId": "366f0fa6-6458-4623-bf95-ba5234daa7c7" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " duration src_bytes dst_bytes land \\\n", + "count 125973.00000 1.259730e+05 1.259730e+05 125973.000000 \n", + "mean 287.14465 4.556674e+04 1.977911e+04 0.000198 \n", + "std 2604.51531 5.870331e+06 4.021269e+06 0.014086 \n", + "min 0.00000 0.000000e+00 0.000000e+00 0.000000 \n", + "25% 0.00000 0.000000e+00 0.000000e+00 0.000000 \n", + "50% 0.00000 4.400000e+01 0.000000e+00 0.000000 \n", + "75% 0.00000 2.760000e+02 5.160000e+02 0.000000 \n", + "max 42908.00000 1.379964e+09 1.309937e+09 1.000000 \n", + "\n", + " wrong_fragment urgent hot num_failed_logins \\\n", + "count 125973.000000 125973.000000 125973.000000 125973.000000 \n", + "mean 0.022687 0.000111 0.204409 0.001222 \n", + "std 0.253530 0.014366 2.149968 0.045239 \n", + "min 0.000000 0.000000 0.000000 0.000000 \n", + "25% 0.000000 0.000000 0.000000 0.000000 \n", + "50% 0.000000 0.000000 0.000000 0.000000 \n", + "75% 0.000000 0.000000 0.000000 0.000000 \n", + "max 3.000000 3.000000 77.000000 5.000000 \n", + "\n", + " logged_in num_compromised ... dst_host_srv_count \\\n", + "count 125973.000000 125973.000000 ... 125973.000000 \n", + "mean 0.395736 0.279250 ... 115.653005 \n", + "std 0.489010 23.942042 ... 110.702741 \n", + "min 0.000000 0.000000 ... 0.000000 \n", + "25% 0.000000 0.000000 ... 10.000000 \n", + "50% 0.000000 0.000000 ... 63.000000 \n", + "75% 1.000000 0.000000 ... 255.000000 \n", + "max 1.000000 7479.000000 ... 255.000000 \n", + "\n", + " dst_host_same_srv_rate dst_host_diff_srv_rate \\\n", + "count 125973.000000 125973.000000 \n", + "mean 0.521242 0.082951 \n", + "std 0.448949 0.188922 \n", + "min 0.000000 0.000000 \n", + "25% 0.050000 0.000000 \n", + "50% 0.510000 0.020000 \n", + "75% 1.000000 0.070000 \n", + "max 1.000000 1.000000 \n", + "\n", + " dst_host_same_src_port_rate dst_host_srv_diff_host_rate \\\n", + "count 125973.000000 125973.000000 \n", + "mean 0.148379 0.032542 \n", + "std 0.308997 0.112564 \n", + "min 0.000000 0.000000 \n", + "25% 0.000000 0.000000 \n", + "50% 0.000000 0.000000 \n", + "75% 0.060000 0.020000 \n", + "max 1.000000 1.000000 \n", + "\n", + " dst_host_serror_rate dst_host_srv_serror_rate dst_host_rerror_rate \\\n", + "count 125973.000000 125973.000000 125973.000000 \n", + "mean 0.284452 0.278485 0.118832 \n", + "std 0.444784 0.445669 0.306557 \n", + "min 0.000000 0.000000 0.000000 \n", + "25% 0.000000 0.000000 0.000000 \n", + "50% 0.000000 0.000000 0.000000 \n", + "75% 1.000000 1.000000 0.000000 \n", + "max 1.000000 1.000000 1.000000 \n", + "\n", + " dst_host_srv_rerror_rate difficulty_level \n", + "count 125973.000000 125973.000000 \n", + "mean 0.120240 19.504060 \n", + "std 0.319459 2.291503 \n", + "min 0.000000 0.000000 \n", + "25% 0.000000 18.000000 \n", + "50% 0.000000 20.000000 \n", + "75% 0.000000 21.000000 \n", + "max 1.000000 21.000000 \n", + "\n", + "[8 rows x 39 columns]" + ], + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
durationsrc_bytesdst_byteslandwrong_fragmenturgenthotnum_failed_loginslogged_innum_compromised...dst_host_srv_countdst_host_same_srv_ratedst_host_diff_srv_ratedst_host_same_src_port_ratedst_host_srv_diff_host_ratedst_host_serror_ratedst_host_srv_serror_ratedst_host_rerror_ratedst_host_srv_rerror_ratedifficulty_level
count125973.000001.259730e+051.259730e+05125973.000000125973.000000125973.000000125973.000000125973.000000125973.000000125973.000000...125973.000000125973.000000125973.000000125973.000000125973.000000125973.000000125973.000000125973.000000125973.000000125973.000000
mean287.144654.556674e+041.977911e+040.0001980.0226870.0001110.2044090.0012220.3957360.279250...115.6530050.5212420.0829510.1483790.0325420.2844520.2784850.1188320.12024019.504060
std2604.515315.870331e+064.021269e+060.0140860.2535300.0143662.1499680.0452390.48901023.942042...110.7027410.4489490.1889220.3089970.1125640.4447840.4456690.3065570.3194592.291503
min0.000000.000000e+000.000000e+000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
25%0.000000.000000e+000.000000e+000.0000000.0000000.0000000.0000000.0000000.0000000.000000...10.0000000.0500000.0000000.0000000.0000000.0000000.0000000.0000000.00000018.000000
50%0.000004.400000e+010.000000e+000.0000000.0000000.0000000.0000000.0000000.0000000.000000...63.0000000.5100000.0200000.0000000.0000000.0000000.0000000.0000000.00000020.000000
75%0.000002.760000e+025.160000e+020.0000000.0000000.0000000.0000000.0000001.0000000.000000...255.0000001.0000000.0700000.0600000.0200001.0000001.0000000.0000000.00000021.000000
max42908.000001.379964e+091.309937e+091.0000003.0000003.00000077.0000005.0000001.0000007479.000000...255.0000001.0000001.0000001.0000001.0000001.0000001.0000001.0000001.00000021.000000
\n", + "

8 rows × 39 columns

\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe" + } + }, + "metadata": {}, + "execution_count": 7 + } + ], + "source": [ + "train_df.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "31dd10e2-b168-45c2-8e35-cda942a3ba6f", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "31dd10e2-b168-45c2-8e35-cda942a3ba6f", + "outputId": "f4f41665-64ce-4e24-e477-519974df6d2c" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\n", + "---Data Info---\n", + "\n", + "RangeIndex: 125973 entries, 0 to 125972\n", + "Data columns (total 43 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 duration 125973 non-null int64 \n", + " 1 protocol_type 125973 non-null object \n", + " 2 service 125973 non-null object \n", + " 3 flag 125973 non-null object \n", + " 4 src_bytes 125973 non-null int64 \n", + " 5 dst_bytes 125973 non-null int64 \n", + " 6 land 125973 non-null int64 \n", + " 7 wrong_fragment 125973 non-null int64 \n", + " 8 urgent 125973 non-null int64 \n", + " 9 hot 125973 non-null int64 \n", + " 10 num_failed_logins 125973 non-null int64 \n", + " 11 logged_in 125973 non-null int64 \n", + " 12 num_compromised 125973 non-null int64 \n", + " 13 root_shell 125973 non-null int64 \n", + " 14 su_attempted 125973 non-null int64 \n", + " 15 num_root 125973 non-null int64 \n", + " 16 num_file_creations 125973 non-null int64 \n", + " 17 num_shells 125973 non-null int64 \n", + " 18 num_access_files 125973 non-null int64 \n", + " 19 num_outbound_cmds 125973 non-null int64 \n", + " 20 is_host_login 125973 non-null int64 \n", + " 21 is_guest_login 125973 non-null int64 \n", + " 22 count 125973 non-null int64 \n", + " 23 srv_count 125973 non-null int64 \n", + " 24 serror_rate 125973 non-null float64\n", + " 25 srv_serror_rate 125973 non-null float64\n", + " 26 rerror_rate 125973 non-null float64\n", + " 27 srv_rerror_rate 125973 non-null float64\n", + " 28 same_srv_rate 125973 non-null float64\n", + " 29 diff_srv_rate 125973 non-null float64\n", + " 30 srv_diff_host_rate 125973 non-null float64\n", + " 31 dst_host_count 125973 non-null int64 \n", + " 32 dst_host_srv_count 125973 non-null int64 \n", + " 33 dst_host_same_srv_rate 125973 non-null float64\n", + " 34 dst_host_diff_srv_rate 125973 non-null float64\n", + " 35 dst_host_same_src_port_rate 125973 non-null float64\n", + " 36 dst_host_srv_diff_host_rate 125973 non-null float64\n", + " 37 dst_host_serror_rate 125973 non-null float64\n", + " 38 dst_host_srv_serror_rate 125973 non-null float64\n", + " 39 dst_host_rerror_rate 125973 non-null float64\n", + " 40 dst_host_srv_rerror_rate 125973 non-null float64\n", + " 41 class 125973 non-null object \n", + " 42 difficulty_level 125973 non-null int64 \n", + "dtypes: float64(15), int64(24), object(4)\n", + "memory usage: 41.3+ MB\n" + ] + } + ], + "source": [ + "print(\"\\n---Data Info---\")\n", + "train_df.info()" + ] + }, + { + "cell_type": "raw", + "id": "92e5ffcb-4461-48cf-a43c-a328b64d5739", + "metadata": { + "id": "92e5ffcb-4461-48cf-a43c-a328b64d5739" + }, + "source": [] + }, + { + "cell_type": "code", + "source": [ + "# ==============================\n", + "# STEP 2 — Data Quality Check\n", + "# ==============================\n", + "\n", + "print(\"\\nStep 2: Missing values\")\n", + "print(\"Train missing:\", train_df.isnull().sum().sum())\n", + "print(\"Test missing:\", test_df.isnull().sum().sum())\n", + "\n", + "print(\"\\nStep 2.1: Duplicate rows\")\n", + "print(\"Train duplicates:\", train_df.duplicated().sum())\n", + "print(\"Test duplicates:\", test_df.duplicated().sum())" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "UIf4nJqi5jtP", + "outputId": "7fc4c397-38b7-4f5c-e1c3-89dcaf6c9240" + }, + "id": "UIf4nJqi5jtP", + "execution_count": 45, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\n", + "Step 2: Missing values\n", + "Train missing: 0\n", + "Test missing: 0\n", + "\n", + "Step 2.1: Duplicate rows\n", + "Train duplicates: 0\n", + "Test duplicates: 0\n" + ] + } + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "74d6f24c-6c97-4d91-ad21-353ebad09462", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "74d6f24c-6c97-4d91-ad21-353ebad09462", + "outputId": "f62d5d19-e40f-42d4-a450-6a38115d8f02" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Missing Values in teh Training Data: 0\n", + "Missing Values in teh Testing Data: duration 0\n", + "protocol_type 0\n", + "service 0\n", + "flag 0\n", + "src_bytes 0\n", + "dst_bytes 0\n", + "land 0\n", + "wrong_fragment 0\n", + "urgent 0\n", + "hot 0\n", + "num_failed_logins 0\n", + "logged_in 0\n", + "num_compromised 0\n", + "root_shell 0\n", + "su_attempted 0\n", + "num_root 0\n", + "num_file_creations 0\n", + "num_shells 0\n", + "num_access_files 0\n", + "num_outbound_cmds 0\n", + "is_host_login 0\n", + "is_guest_login 0\n", + "count 0\n", + "srv_count 0\n", + "serror_rate 0\n", + "srv_serror_rate 0\n", + "rerror_rate 0\n", + "srv_rerror_rate 0\n", + "same_srv_rate 0\n", + "diff_srv_rate 0\n", + "srv_diff_host_rate 0\n", + "dst_host_count 0\n", + "dst_host_srv_count 0\n", + "dst_host_same_srv_rate 0\n", + "dst_host_diff_srv_rate 0\n", + "dst_host_same_src_port_rate 0\n", + "dst_host_srv_diff_host_rate 0\n", + "dst_host_serror_rate 0\n", + "dst_host_srv_serror_rate 0\n", + "dst_host_rerror_rate 0\n", + "dst_host_srv_rerror_rate 0\n", + "class 0\n", + "difficulty_level 0\n", + "dtype: int64\n" + ] + } + ], + "source": [ + "print(f\"Missing Values in teh Training Data: {train_df.isnull().sum().sum()}\")\n", + "print(f\"Missing Values in teh Testing Data: {test_df.isnull().sum()}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "aa79f403-f10b-48a3-ac73-f7f19b4428f8", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "aa79f403-f10b-48a3-ac73-f7f19b4428f8", + "outputId": "63bbd47f-7710-4074-81f2-167feb10c0d8" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Duplicate data in the training dataset 0\n", + "Duplicate data in the test dataset 0 False\n", + "1 False\n", + "2 False\n", + "3 False\n", + "4 False\n", + " ... \n", + "22539 False\n", + "22540 False\n", + "22541 False\n", + "22542 False\n", + "22543 False\n", + "Length: 22544, dtype: bool\n" + ] + } + ], + "source": [ + "print(f\"Duplicate data in the training dataset {train_df.duplicated().sum()}\")\n", + "print(f\"Duplicate data in the test dataset {test_df.duplicated()}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "36c7d2b8-6dc0-4b52-b1a9-9ed5380c4947", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 458 + }, + "id": "36c7d2b8-6dc0-4b52-b1a9-9ed5380c4947", + "outputId": "afa48d7f-1e8a-47be-fd7e-4086e59b7b49" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0 normal\n", + "1 normal\n", + "2 neptune\n", + "3 normal\n", + "4 normal\n", + " ... \n", + "125968 neptune\n", + "125969 normal\n", + "125970 normal\n", + "125971 neptune\n", + "125972 normal\n", + "Name: class, Length: 125973, dtype: object" + ], + "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", + "
class
0normal
1normal
2neptune
3normal
4normal
......
125968neptune
125969normal
125970normal
125971neptune
125972normal
\n", + "

125973 rows × 1 columns

\n", + "

" + ] + }, + "metadata": {}, + "execution_count": 11 + } + ], + "source": [ + "train_df['class']" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "4bd7e227-c5c6-4c44-bbcb-d6b8115c949b", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "4bd7e227-c5c6-4c44-bbcb-d6b8115c949b", + "outputId": "dbe3ebb0-bc4f-4a2e-f472-6bcc3198a275" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " There are 23 unique lables including 'normal'.\n", + "['normal' 'neptune' 'warezclient' 'ipsweep' 'portsweep' 'teardrop' 'nmap'\n", + " 'satan' 'smurf' 'pod' 'back' 'guess_passwd' 'ftp_write' 'multihop'\n", + " 'rootkit' 'buffer_overflow' 'imap' 'warezmaster' 'phf' 'land'\n", + " 'loadmodule' 'spy' 'perl']\n" + ] + } + ], + "source": [ + "\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "unique_labels = train_df['class'].unique()\n", + "print(f\" There are {len(unique_labels)} unique lables including 'normal'.\")\n", + "print(unique_labels)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "ca53999c-b865-4cef-b201-e838d00539d6", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 836 + }, + "id": "ca53999c-b865-4cef-b201-e838d00539d6", + "outputId": "6e455616-ad96-429c-bcd3-54f68ef71563" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "class\n", + "normal 67343\n", + "neptune 41214\n", + "satan 3633\n", + "ipsweep 3599\n", + "portsweep 2931\n", + "smurf 2646\n", + "nmap 1493\n", + "back 956\n", + "teardrop 892\n", + "warezclient 890\n", + "pod 201\n", + "guess_passwd 53\n", + "buffer_overflow 30\n", + "warezmaster 20\n", + "land 18\n", + "imap 11\n", + "rootkit 10\n", + "loadmodule 9\n", + "ftp_write 8\n", + "multihop 7\n", + "phf 4\n", + "perl 3\n", + "spy 2\n", + "Name: count, dtype: int64" + ], + "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", + "
count
class
normal67343
neptune41214
satan3633
ipsweep3599
portsweep2931
smurf2646
nmap1493
back956
teardrop892
warezclient890
pod201
guess_passwd53
buffer_overflow30
warezmaster20
land18
imap11
rootkit10
loadmodule9
ftp_write8
multihop7
phf4
perl3
spy2
\n", + "

" + ] + }, + "metadata": {}, + "execution_count": 13 + } + ], + "source": [ + "train_df['class'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "a4a6cb13-889b-4518-aaf1-be6c0b4f889a", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "a4a6cb13-889b-4518-aaf1-be6c0b4f889a", + "outputId": "219a095b-be90-4b9c-d4e4-08e3838cd481" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "np.int64(0)" + ] + }, + "metadata": {}, + "execution_count": 14 + } + ], + "source": [ + "import pandas as pd\n", + "df = pd.read_csv(TRAIN_PATH, header=None, names=COLUMNS)\n", + "\n", + "# Display the first few rows\n", + "df\n", + "df.duplicated().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "e36ecf81-f543-4142-ab64-7de4a46e42e3", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 458 + }, + "id": "e36ecf81-f543-4142-ab64-7de4a46e42e3", + "outputId": "fb6e4382-f287-4c52-8fb7-cdccddb64229" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0 tcp\n", + "1 udp\n", + "2 tcp\n", + "3 tcp\n", + "4 tcp\n", + " ... \n", + "125968 tcp\n", + "125969 udp\n", + "125970 tcp\n", + "125971 tcp\n", + "125972 tcp\n", + "Name: protocol_type, Length: 125973, dtype: object" + ], + "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", + "
protocol_type
0tcp
1udp
2tcp
3tcp
4tcp
......
125968tcp
125969udp
125970tcp
125971tcp
125972tcp
\n", + "

125973 rows × 1 columns

\n", + "

" + ] + }, + "metadata": {}, + "execution_count": 15 + } + ], + "source": [ + "df['protocol_type'].unique()\n", + "df['protocol_type']" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "e1b91312-d58a-4699-b76e-a592ae0f0ee5", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 443 + }, + "id": "e1b91312-d58a-4699-b76e-a592ae0f0ee5", + "outputId": "d638d778-40ec-40ac-cd25-24188d36569d" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " duration protocol_type service flag src_bytes dst_bytes land \\\n", + "42 2 tcp smtp SF 1591 372 0 \n", + "60 0 tcp ftp_data SF 641 0 0 \n", + "65 0 tcp smtp SF 696 333 0 \n", + "95 2 tcp smtp SF 3065 331 0 \n", + "111 0 tcp smtp SF 2089 335 0 \n", + "... ... ... ... ... ... ... ... \n", + "125944 1 tcp smtp SF 2049 362 0 \n", + "125952 0 tcp smtp SF 1289 408 0 \n", + "125957 1 tcp smtp SF 1247 327 0 \n", + "125965 0 tcp smtp SF 2233 365 0 \n", + "125970 0 tcp smtp SF 2231 384 0 \n", + "\n", + " wrong_fragment urgent hot ... dst_host_same_srv_rate \\\n", + "42 0 0 0 ... 0.81 \n", + "60 0 0 0 ... 0.25 \n", + "65 0 0 0 ... 0.39 \n", + "95 0 0 0 ... 0.48 \n", + "111 0 0 0 ... 0.60 \n", + "... ... ... ... ... ... \n", + "125944 0 0 0 ... 0.92 \n", + "125952 0 0 0 ... 0.23 \n", + "125957 0 0 0 ... 0.53 \n", + "125965 0 0 0 ... 1.00 \n", + "125970 0 0 0 ... 0.12 \n", + "\n", + " dst_host_diff_srv_rate dst_host_same_src_port_rate \\\n", + "42 0.02 0.01 \n", + "60 0.02 0.25 \n", + "65 0.04 0.01 \n", + "95 0.02 0.00 \n", + "111 0.03 0.00 \n", + "... ... ... \n", + "125944 0.02 0.01 \n", + "125952 0.06 0.00 \n", + "125957 0.03 0.00 \n", + "125965 0.00 1.00 \n", + "125970 0.06 0.00 \n", + "\n", + " dst_host_srv_diff_host_rate dst_host_serror_rate \\\n", + "42 0.00 0.00 \n", + "60 0.04 0.00 \n", + "65 0.02 0.00 \n", + "95 0.02 0.01 \n", + "111 0.00 0.01 \n", + "... ... ... \n", + "125944 0.00 0.00 \n", + "125952 0.00 0.51 \n", + "125957 0.02 0.01 \n", + "125965 1.00 0.00 \n", + "125970 0.00 0.72 \n", + "\n", + " dst_host_srv_serror_rate dst_host_rerror_rate \\\n", + "42 0.00 0.00 \n", + "60 0.00 0.00 \n", + "65 0.00 0.00 \n", + "95 0.02 0.00 \n", + "111 0.02 0.00 \n", + "... ... ... \n", + "125944 0.00 0.00 \n", + "125952 0.00 0.02 \n", + "125957 0.02 0.00 \n", + "125965 0.00 0.00 \n", + "125970 0.00 0.01 \n", + "\n", + " dst_host_srv_rerror_rate class difficulty_level \n", + "42 0.00 normal 21 \n", + "60 0.00 normal 21 \n", + "65 0.00 normal 21 \n", + "95 0.00 normal 21 \n", + "111 0.01 normal 20 \n", + "... ... ... ... \n", + "125944 0.00 normal 21 \n", + "125952 0.00 normal 15 \n", + "125957 0.00 normal 21 \n", + "125965 0.00 normal 19 \n", + "125970 0.00 normal 18 \n", + "\n", + "[12605 rows x 43 columns]" + ], + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
durationprotocol_typeserviceflagsrc_bytesdst_byteslandwrong_fragmenturgenthot...dst_host_same_srv_ratedst_host_diff_srv_ratedst_host_same_src_port_ratedst_host_srv_diff_host_ratedst_host_serror_ratedst_host_srv_serror_ratedst_host_rerror_ratedst_host_srv_rerror_rateclassdifficulty_level
422tcpsmtpSF15913720000...0.810.020.010.000.000.000.000.00normal21
600tcpftp_dataSF64100000...0.250.020.250.040.000.000.000.00normal21
650tcpsmtpSF6963330000...0.390.040.010.020.000.000.000.00normal21
952tcpsmtpSF30653310000...0.480.020.000.020.010.020.000.00normal21
1110tcpsmtpSF20893350000...0.600.030.000.000.010.020.000.01normal20
..................................................................
1259441tcpsmtpSF20493620000...0.920.020.010.000.000.000.000.00normal21
1259520tcpsmtpSF12894080000...0.230.060.000.000.510.000.020.00normal15
1259571tcpsmtpSF12473270000...0.530.030.000.020.010.020.000.00normal21
1259650tcpsmtpSF22333650000...1.000.001.001.000.000.000.000.00normal19
1259700tcpsmtpSF22313840000...0.120.060.000.000.720.000.010.00normal18
\n", + "

12605 rows × 43 columns

\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe" + } + }, + "metadata": {}, + "execution_count": 16 + } + ], + "source": [ + "tab = pd.read_csv(train_path,names = COLUMNS)\n", + "# df.head()\n", + "df.shape\n", + "# tab\n", + "\n", + "df['protocol_type']\n", + "df[(df['protocol_type'] == 'tcp') & (df['src_bytes']>500)]\n", + "# x.unique().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "5e1060ab-0712-465f-b4cb-467bf688293f", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "5e1060ab-0712-465f-b4cb-467bf688293f", + "outputId": "2afd95a3-2f2b-4fb1-a51a-8ba2f83b0db5" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array(['tcp', 'udp', 'icmp'], dtype=object)" + ] + }, + "metadata": {}, + "execution_count": 17 + } + ], + "source": [ + "subset = df[['duration','protocol_type','class']]\n", + "subset.head()\n", + "\n", + "df['protocol_type'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "6bc528c9-bd5a-4037-a067-9e83ebb486b6", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "6bc528c9-bd5a-4037-a067-9e83ebb486b6", + "outputId": "2dcf097f-674f-4986-d64f-9c4bd5d425d6" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Traffic of the TCP Count is: 102689\n" + ] + } + ], + "source": [ + "tcp_traffic = df[df['protocol_type'] == 'tcp']\n", + "print(f\"Traffic of the TCP Count is: {len(tcp_traffic)}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "18b2408a-876a-4724-a491-f922e5e9f9b3", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "18b2408a-876a-4724-a491-f922e5e9f9b3", + "outputId": "0dee4d51-1f0a-45dc-d7d0-dd8e34784e3f" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Traffic of the UDP Count is: 14993\n" + ] + } + ], + "source": [ + "tcp_traffic = df[df['protocol_type'] == 'udp']\n", + "print(f\"Traffic of the UDP Count is: {len(tcp_traffic)}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "05e60a9f-2180-480f-9478-cf9779e83f31", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "05e60a9f-2180-480f-9478-cf9779e83f31", + "outputId": "d992d1c3-68f5-4d2c-9b33-d8bb9c78e070" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Traffic of the ICMP Count is: 8291\n" + ] + } + ], + "source": [ + "tcp_traffic = df[df['protocol_type'] == 'icmp']\n", + "print(f\"Traffic of the ICMP Count is: {len(tcp_traffic)}\")" + ] + }, + { + "cell_type": "code", + "source": [ + "# =====================================\n", + "# Extra Exploration 4 — Protocol within Attacks\n", + "# =====================================\n", + "\n", + "attack_protocol = train_df[train_df['class']!='normal']['protocol_type'].value_counts()\n", + "\n", + "print(\"\\nProtocol distribution only for attacks:\")\n", + "print(attack_protocol)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "OFQH6SYQ67lc", + "outputId": "23d8cc1a-e50e-458b-f26d-a3329e9c8434" + }, + "id": "OFQH6SYQ67lc", + "execution_count": 46, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\n", + "Protocol distribution only for attacks:\n", + "protocol_type\n", + "tcp 49089\n", + "icmp 6982\n", + "udp 2559\n", + "Name: count, dtype: int64\n" + ] + } + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "5a6e1003-7004-4f38-bff0-99c96626d9fb", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "5a6e1003-7004-4f38-bff0-99c96626d9fb", + "outputId": "56010c0a-8f9c-46d2-add4-fde0e35e6b9e" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([0, 1])" + ] + }, + "metadata": {}, + "execution_count": 21 + } + ], + "source": [ + "df['land'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "7a9e6ce2-eaa6-4cbc-9abc-39df40b22629", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "7a9e6ce2-eaa6-4cbc-9abc-39df40b22629", + "outputId": "1011b6f1-96bc-4bdb-f4f5-a8111c530748" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Land attacks Found are: 25\n" + ] + } + ], + "source": [ + "land_attack = df[df['land']==1]\n", + "print(f\"Land attacks Found are: {len(land_attack)}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "5a66cd15-43e2-4aab-bca1-ccbc3faaa753", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 726 + }, + "id": "5a66cd15-43e2-4aab-bca1-ccbc3faaa753", + "outputId": "bcbeef8b-be7f-44cb-9c03-590a24101823" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " duration protocol_type service flag src_bytes dst_bytes land \\\n", + "10 0 tcp private REJ 0 0 0 \n", + "11 0 tcp private S0 0 0 0 \n", + "12 0 tcp http SF 287 2251 0 \n", + "13 0 tcp ftp_data SF 334 0 0 \n", + "14 0 tcp name S0 0 0 0 \n", + "15 0 tcp netbios_ns S0 0 0 0 \n", + "16 0 tcp http SF 300 13788 0 \n", + "17 0 icmp eco_i SF 18 0 0 \n", + "18 0 tcp http SF 233 616 0 \n", + "19 0 tcp http SF 343 1178 0 \n", + "20 0 tcp mtp S0 0 0 0 \n", + "21 0 tcp private S0 0 0 0 \n", + "22 0 tcp http SF 253 11905 0 \n", + "23 5607 udp other SF 147 105 0 \n", + "24 0 tcp mtp S0 0 0 0 \n", + "25 507 tcp telnet SF 437 14421 0 \n", + "26 0 tcp private S0 0 0 0 \n", + "27 0 tcp http SF 227 6588 0 \n", + "28 0 tcp http SF 215 10499 0 \n", + "29 0 tcp http SF 241 1400 0 \n", + "\n", + " wrong_fragment urgent hot ... dst_host_same_srv_rate \\\n", + "10 0 0 0 ... 0.05 \n", + "11 0 0 0 ... 0.05 \n", + "12 0 0 0 ... 1.00 \n", + "13 0 0 0 ... 1.00 \n", + "14 0 0 0 ... 0.00 \n", + "15 0 0 0 ... 0.01 \n", + "16 0 0 0 ... 1.00 \n", + "17 0 0 0 ... 1.00 \n", + "18 0 0 0 ... 1.00 \n", + "19 0 0 0 ... 1.00 \n", + "20 0 0 0 ... 0.09 \n", + "21 0 0 0 ... 0.07 \n", + "22 0 0 0 ... 1.00 \n", + "23 0 0 0 ... 0.00 \n", + "24 0 0 0 ... 0.01 \n", + "25 0 0 0 ... 0.10 \n", + "26 0 0 0 ... 0.05 \n", + "27 0 0 0 ... 1.00 \n", + "28 0 0 0 ... 1.00 \n", + "29 0 0 0 ... 1.00 \n", + "\n", + " dst_host_diff_srv_rate dst_host_same_src_port_rate \\\n", + "10 0.07 0.00 \n", + "11 0.07 0.00 \n", + "12 0.00 0.12 \n", + "13 0.00 1.00 \n", + "14 0.07 0.00 \n", + "15 0.06 0.00 \n", + "16 0.00 0.01 \n", + "17 0.00 1.00 \n", + "18 0.00 0.02 \n", + "19 0.00 0.01 \n", + "20 0.05 0.00 \n", + "21 0.06 0.00 \n", + "22 0.00 0.01 \n", + "23 0.85 1.00 \n", + "24 0.06 0.00 \n", + "25 0.05 0.00 \n", + "26 0.07 0.00 \n", + "27 0.00 0.02 \n", + "28 0.00 0.00 \n", + "29 0.00 0.00 \n", + "\n", + " dst_host_srv_diff_host_rate dst_host_serror_rate \\\n", + "10 0.00 0.00 \n", + "11 0.00 1.00 \n", + "12 0.03 0.00 \n", + "13 0.20 0.00 \n", + "14 0.00 1.00 \n", + "15 0.00 1.00 \n", + "16 0.02 0.00 \n", + "17 1.00 0.00 \n", + "18 0.03 0.00 \n", + "19 0.04 0.00 \n", + "20 0.00 1.00 \n", + "21 0.00 0.99 \n", + "22 0.02 0.00 \n", + "23 0.00 0.00 \n", + "24 0.00 1.00 \n", + "25 0.00 0.53 \n", + "26 0.00 1.00 \n", + "27 0.14 0.00 \n", + "28 0.00 0.00 \n", + "29 0.00 0.00 \n", + "\n", + " dst_host_srv_serror_rate dst_host_rerror_rate dst_host_srv_rerror_rate \\\n", + "10 0.0 1.00 1.00 \n", + "11 1.0 0.00 0.00 \n", + "12 0.0 0.00 0.00 \n", + "13 0.0 0.00 0.00 \n", + "14 1.0 0.00 0.00 \n", + "15 1.0 0.00 0.00 \n", + "16 0.0 0.00 0.00 \n", + "17 0.0 0.00 0.00 \n", + "18 0.0 0.02 0.00 \n", + "19 0.0 0.00 0.00 \n", + "20 1.0 0.00 0.00 \n", + "21 1.0 0.00 0.00 \n", + "22 0.0 0.00 0.00 \n", + "23 0.0 0.00 0.00 \n", + "24 1.0 0.00 0.00 \n", + "25 0.0 0.02 0.16 \n", + "26 1.0 0.00 0.00 \n", + "27 0.0 0.56 0.57 \n", + "28 0.0 0.00 0.00 \n", + "29 0.0 0.00 0.00 \n", + "\n", + " class difficulty_level \n", + "10 neptune 21 \n", + "11 neptune 21 \n", + "12 normal 21 \n", + "13 warezclient 15 \n", + "14 neptune 19 \n", + "15 neptune 18 \n", + "16 normal 21 \n", + "17 ipsweep 18 \n", + "18 normal 21 \n", + "19 normal 21 \n", + "20 neptune 18 \n", + "21 neptune 18 \n", + "22 normal 21 \n", + "23 normal 21 \n", + "24 neptune 19 \n", + "25 normal 20 \n", + "26 neptune 21 \n", + "27 normal 21 \n", + "28 normal 21 \n", + "29 normal 21 \n", + "\n", + "[20 rows x 43 columns]" + ], + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
durationprotocol_typeserviceflagsrc_bytesdst_byteslandwrong_fragmenturgenthot...dst_host_same_srv_ratedst_host_diff_srv_ratedst_host_same_src_port_ratedst_host_srv_diff_host_ratedst_host_serror_ratedst_host_srv_serror_ratedst_host_rerror_ratedst_host_srv_rerror_rateclassdifficulty_level
100tcpprivateREJ000000...0.050.070.000.000.000.01.001.00neptune21
110tcpprivateS0000000...0.050.070.000.001.001.00.000.00neptune21
120tcphttpSF28722510000...1.000.000.120.030.000.00.000.00normal21
130tcpftp_dataSF33400000...1.000.001.000.200.000.00.000.00warezclient15
140tcpnameS0000000...0.000.070.000.001.001.00.000.00neptune19
150tcpnetbios_nsS0000000...0.010.060.000.001.001.00.000.00neptune18
160tcphttpSF300137880000...1.000.000.010.020.000.00.000.00normal21
170icmpeco_iSF1800000...1.000.001.001.000.000.00.000.00ipsweep18
180tcphttpSF2336160000...1.000.000.020.030.000.00.020.00normal21
190tcphttpSF34311780000...1.000.000.010.040.000.00.000.00normal21
200tcpmtpS0000000...0.090.050.000.001.001.00.000.00neptune18
210tcpprivateS0000000...0.070.060.000.000.991.00.000.00neptune18
220tcphttpSF253119050000...1.000.000.010.020.000.00.000.00normal21
235607udpotherSF1471050000...0.000.851.000.000.000.00.000.00normal21
240tcpmtpS0000000...0.010.060.000.001.001.00.000.00neptune19
25507tcptelnetSF437144210000...0.100.050.000.000.530.00.020.16normal20
260tcpprivateS0000000...0.050.070.000.001.001.00.000.00neptune21
270tcphttpSF22765880000...1.000.000.020.140.000.00.560.57normal21
280tcphttpSF215104990000...1.000.000.000.000.000.00.000.00normal21
290tcphttpSF24114000000...1.000.000.000.000.000.00.000.00normal21
\n", + "

20 rows × 43 columns

\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + " \n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "first_ten_rows" + } + }, + "metadata": {}, + "execution_count": 23 + } + ], + "source": [ + "first_ten_rows = df.iloc[10:30]\n", + "first_ten_rows" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "d5b74378-c19d-4452-bc8f-d4619909f090", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "d5b74378-c19d-4452-bc8f-d4619909f090", + "outputId": "d67e0831-3e8b-4275-8c3b-40657dbc420a" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array(['ftp_data', 'other', 'private', 'http', 'remote_job', 'name',\n", + " 'netbios_ns', 'eco_i', 'mtp', 'telnet', 'finger', 'domain_u',\n", + " 'supdup', 'uucp_path', 'Z39_50', 'smtp', 'csnet_ns', 'uucp',\n", + " 'netbios_dgm', 'urp_i', 'auth', 'domain', 'ftp', 'bgp', 'ldap',\n", + " 'ecr_i', 'gopher', 'vmnet', 'systat', 'http_443', 'efs', 'whois',\n", + " 'imap4', 'iso_tsap', 'echo', 'klogin', 'link', 'sunrpc', 'login',\n", + " 'kshell', 'sql_net', 'time', 'hostnames', 'exec', 'ntp_u',\n", + " 'discard', 'nntp', 'courier', 'ctf', 'ssh', 'daytime', 'shell',\n", + " 'netstat', 'pop_3', 'nnsp', 'IRC', 'pop_2', 'printer', 'tim_i',\n", + " 'pm_dump', 'red_i', 'netbios_ssn', 'rje', 'X11', 'urh_i',\n", + " 'http_8001', 'aol', 'http_2784', 'tftp_u', 'harvest'], dtype=object)" + ] + }, + "metadata": {}, + "execution_count": 24 + } + ], + "source": [ + "df['service'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "3310f45d-2912-48d3-a7ce-709ba8a867ad", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "3310f45d-2912-48d3-a7ce-709ba8a867ad", + "outputId": "5d812004-c0c6-4ec8-92e8-2c22ec8a0d09" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "class\n", + "normal 67343\n", + "neptune 41214\n", + "satan 3633\n", + "ipsweep 3599\n", + "portsweep 2931\n", + "smurf 2646\n", + "nmap 1493\n", + "back 956\n", + "teardrop 892\n", + "warezclient 890\n", + "pod 201\n", + "guess_passwd 53\n", + "buffer_overflow 30\n", + "warezmaster 20\n", + "land 18\n", + "imap 11\n", + "rootkit 10\n", + "loadmodule 9\n", + "ftp_write 8\n", + "multihop 7\n", + "phf 4\n", + "perl 3\n", + "spy 2\n", + "Name: count, dtype: int64\n" + ] + } + ], + "source": [ + "print(df['class'].value_counts())" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "aaae517a-c3e5-4338-aef7-9d02d4c4882c", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "aaae517a-c3e5-4338-aef7-9d02d4c4882c", + "outputId": "770700c7-3a56-4c8c-b309-e73e43564a51" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\n", + "Average Duration by the Protocols\n", + "protocol_type\n", + "icmp 0.000000\n", + "tcp 281.386419\n", + "udp 485.372040\n", + "Name: duration, dtype: float64\n" + ] + } + ], + "source": [ + "print(\"\\nAverage Duration by the Protocols\")\n", + "print(df.groupby('protocol_type')['duration'].mean())" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "7745d56d-2f80-405f-abf1-ef4614d2d283", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 458 + }, + "id": "7745d56d-2f80-405f-abf1-ef4614d2d283", + "outputId": "813a67a7-e3ca-4666-a1dd-199efb378b3e" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "17 18\n", + "30 8\n", + "56 8\n", + "72 181\n", + "83 8\n", + " ... \n", + "125927 1032\n", + "125935 30\n", + "125942 30\n", + "125947 18\n", + "125956 30\n", + "Name: src_bytes, Length: 8291, dtype: int64" + ], + "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", + "
src_bytes
1718
308
568
72181
838
......
1259271032
12593530
12594230
12594718
12595630
\n", + "

8291 rows × 1 columns

\n", + "

" + ] + }, + "metadata": {}, + "execution_count": 27 + } + ], + "source": [ + "# print(\"\\nStatistics by protocol (Duration): \")\n", + "# print(df.groupby('protocol_type')['duration'].agg(['min','max','count','mean']))\n", + "df[df['protocol_type']=='icmp']['src_bytes']\n", + "# df['src_bytes']" + ] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "juVGfc5R7DeB" + }, + "id": "juVGfc5R7DeB", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "c5aef2ae-ad21-4fec-8e8c-089ce86a19ab", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 209 + }, + "id": "c5aef2ae-ad21-4fec-8e8c-089ce86a19ab", + "outputId": "710d9643-9f60-40a8-bca1-df44c1b25c4c" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "protocol_type\n", + "tcp 102689\n", + "udp 14993\n", + "icmp 8291\n", + "Name: count, dtype: int64" + ], + "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", + "
count
protocol_type
tcp102689
udp14993
icmp8291
\n", + "

" + ] + }, + "metadata": {}, + "execution_count": 28 + } + ], + "source": [ + "protocol_counts = df['protocol_type'].value_counts()\n", + "protocol_counts" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "69132744-9870-4d08-bfd2-63b199b239b3", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 410 + }, + "id": "69132744-9870-4d08-bfd2-63b199b239b3", + "outputId": "e6219a4f-4f76-4756-9d6d-cc8da1ceaf2b" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtEAAAGJCAYAAABM/G8AAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAPzxJREFUeJzt3XlYFXX///HXAeGw6AFXUENx35fUNDKXiiSjum3TzBKNtEVK8/6mWbdLq6Ut5p73XWndZi5lmVpGmFpKWsc0NSXr1vQ2gUjhuKPw+f3Rzfw8gcoowlGfj+uaK+fzec/Me47n5MtxzuAwxhgBAAAAKDa/sm4AAAAAuNAQogEAAACbCNEAAACATYRoAAAAwCZCNAAAAGATIRoAAACwiRANAAAA2ESIBgAAAGwiRAMAAAA2EaIBXNLeffddNW7cWAEBAQoPD7fGx48fr7p168rf31+tW7eWJEVHR6tfv35l0ueZ9OvXT9HR0WXdxlmJjo7WTTfdVNZtXLR27twph8OhmTNnlnUrwEWFEA3A5zgcjmItK1asOKfjbNu2Tf369VO9evX0z3/+UzNmzJAkff755xo2bJg6duyot99+Wy+88EIJnNWf1q9fL4fDoX/84x+nrNm+fbscDoeGDh1aYsdF6Tl8+LDGjBlzzu9PAL6tXFk3AAB/9e6773qtv/POO0pOTi403qRJk3M6zooVK5Sfn6/XX39d9evXt8aXL18uPz8/vfnmmwoMDLTG09LS5Od3btce2rRpo8aNG2vOnDl67rnniqx57733JEn33HPPOR0LZePw4cN6+umnJUldu3Yt22YAnDeEaAA+56/h8ZtvvlFycvIZQ+Xhw4cVEhJS7ONkZmZKktdtHAXjwcHBXgFakpxOZ7H3fTp9+vTRyJEj9c033+jKK68sND9nzhw1btxYbdq0KZHj4dzZfW8BuPhxOweAC1LXrl3VvHlzud1ude7cWSEhIXryySclSR9//LHi4+NVo0YNOZ1O1atXT88++6zy8vKs7aOjozV69GhJUtWqVeVwODRmzBg5HA69/fbbOnTokHXbSMG9pEXdE52dna3HHntM0dHRcjqduuyyy9S3b19lZWWdsvc+ffpI+v9XnE/mdruVlpZm1UjS1KlT1axZMzmdTtWoUUODBg1Sdnb2aV+fFStWFHnLS1H3x/br10/ly5fXrl27dNNNN6l8+fKqWbOmpkyZIknatGmTrr32WoWGhqp27dpF9p2dna0hQ4YoKipKTqdT9evX10svvaT8/PzT9nmyzz//XK1bt1ZQUJCaNm2qDz/80Jr7z3/+I4fDoddee63QdmvWrJHD4dCcOXPO+HrMnTtXTz75pCIjIxUaGqpbbrlFu3fv9qo93XsrMzNTiYmJioiIUFBQkFq1aqVZs2ZZ2+7cuVNVq1aVJD399NPWe2jMmDFWzfLly9WpUyeFhoYqPDxcf/vb37R169ZCPe/Zs0eJiYnW+7hOnTp66KGHlJub6/W63HnnnapUqZJCQkJ05ZVXasmSJWd4pQGUBK5EA7hg/fHHH+revbvuuusu3XPPPYqIiJAkzZw5U+XLl9fQoUNVvnx5LV++XKNGjZLH49H48eMlSRMmTNA777yjhQsXatq0aSpfvrxatmyp+vXra8aMGVq3bp3+9a9/SZKuuuqqIo9/8OBBderUSVu3btV9992nNm3aKCsrS4sWLdJ///tfValSpcjt6tSpo6uuukrz5s3Ta6+9Jn9/f2uuIKDefffdkqQxY8bo6aefVmxsrB566CGlpaVp2rRp+vbbb7V69WoFBASUyGuZl5en7t27q3Pnzho3bpxmz56tpKQkhYaG6qmnnlKfPn102223afr06erbt69iYmJUp04dSX9epe3SpYv27NmjBx54QLVq1dKaNWs0YsQI7d27VxMmTDjj8bdv365evXrpwQcfVEJCgt5++23deeed+uyzz3T99derbt266tixo2bPnq3HHnvMa9vZs2erQoUK+tvf/nbG4zz//PNyOBwaPny4MjMzNWHCBMXGxmrDhg0KDg626op6bx05ckRdu3bVzz//rKSkJNWpU0fz589Xv379lJ2drcGDB6tq1aqaNm2aHnroId1666267bbbJEktW7aUJH3xxRfq3r276tatqzFjxujIkSOaNGmSOnbsqPXr11tfDv3tt9/Uvn17ZWdna+DAgWrcuLH27NmjBQsW6PDhwwoMDFRGRoauuuoqHT58WI8++qgqV66sWbNm6ZZbbtGCBQt06623Fue3HsDZMgDg4wYNGmT++r+rLl26GElm+vTpheoPHz5caOyBBx4wISEh5ujRo9bY6NGjjSTz+++/e9UmJCSY0NDQQvuoXbu2SUhIsNZHjRplJJkPP/ywUG1+fv5pz2nKlClGklm2bJk1lpeXZ2rWrGliYmKMMcZkZmaawMBA061bN5OXl2fVTZ482Ugyb731llfPtWvXtta//PJLI8l8+eWXXsfdsWOHkWTefvttr20lmRdeeMEa279/vwkODjYOh8O8//771vi2bduMJDN69Ghr7NlnnzWhoaHmp59+8jrWE088Yfz9/c2uXbtO+1rUrl3bSDIffPCBNZaTk2OqV69uLr/8cmvsjTfeMJLM1q1brbHc3FxTpUoVr9+XohS8HjVr1jQej8canzdvnpFkXn/9dWvsVO+tCRMmGEnm3//+t9fxY2JiTPny5a39/v7774VeowKtW7c21apVM3/88Yc1tnHjRuPn52f69u1rjfXt29f4+fmZb7/9ttA+Ct5bQ4YMMZLMV199Zc0dOHDA1KlTx0RHR1vvmaJ+zwGcO27nAHDBcjqd6t+/f6Hxk68oHjhwQFlZWerUqZMOHz6sbdu2ldjxP/jgA7Vq1arIK34Oh+O02/bq1UsBAQFet0asXLlSe/bssW7l+OKLL5Sbm6shQ4Z4faFxwIABcrlcJf7P9vfff7/16/DwcDVq1EihoaHq2bOnNd6oUSOFh4frP//5jzU2f/58derUSRUrVlRWVpa1xMbGKi8vT6tWrTrjsWvUqOH1OrpcLvXt21fff/+90tPTJUk9e/ZUUFCQZs+ebdUtW7ZMWVlZxf4SZt++fVWhQgVr/Y477lD16tW1dOlSr7qi3ltLly5VZGSkevfubY0FBATo0Ucf1cGDB7Vy5crTHnvv3r3asGGD+vXrp0qVKlnjLVu21PXXX2/1kJ+fr48++kg333yz2rVrV2g/Be+tpUuXqn379rr66qutufLly2vgwIHauXOnfvzxxzO9HADOASEawAWrZs2ahb78J0lbtmzRrbfeqrCwMLlcLlWtWtUKWTk5OSV2/F9++UXNmzc/q20rV66suLg4LVy4UEePHpX0560c5cqVs0Lrr7/+KunP4HqywMBA1a1b15ovCUFBQda9vAXCwsJ02WWXFfoLQVhYmPbv32+tb9++XZ999pmqVq3qtcTGxkr6/1/gPJ369esXOk7Dhg0l/XmfsfRnsL/55pu9/uIxe/Zs1axZU9dee22xzrNBgwZe6w6HQ/Xr17eOUaCo99avv/6qBg0aFHpCS8FTYs70+3Gq38+CfWRlZenQoUP6/fff5fF4zvje+vXXX0+5r+L0A+DccE80gAvWyVecC2RnZ6tLly5yuVx65plnVK9ePQUFBWn9+vUaPny4rS+6nW/33HOPFi9erMWLF+uWW27RBx98oG7duhUKs2fjVFfCT/5y5clOvi+7OOPGGOvX+fn5uv766zVs2LAiawvCcEno27ev5s+frzVr1qhFixZatGiRHn744XN+9OBfFfXeAoCTEaIBXFRWrFihP/74Qx9++KE6d+5sje/YsaPEj1WvXj1t3rz5rLe/5ZZbVKFCBb333nsKCAjQ/v37vZ7KUbt2bUl/Pp+6bt261nhubq527NhhXektSsWKFSWp0FM8zsfVyXr16ungwYOn7edMfv75ZxljvML/Tz/9JEleP4nxhhtuUNWqVTV79mx16NBBhw8f1r333lvs42zfvt1r3Rijn3/+2fri3+nUrl1bP/zwg/Lz871Ce8EtQgW/X6f6C8zJv59/tW3bNlWpUkWhoaEKDg6Wy+U643urdu3ap9zXyccDcH5wOweAi0rBldOTr5Tm5uZq6tSpJX6s22+/XRs3btTChQsLzZ18/FMJDg7WrbfeqqVLl2ratGkKDQ31esJEbGysAgMDNXHiRK/9vfnmm8rJyVF8fPwp9127dm35+/sXuh/5fLwOPXv2VGpqqpYtW1ZoLjs7WydOnDjjPn777Tev19Hj8eidd95R69atFRkZaY2XK1dOvXv31rx58zRz5ky1aNGiWAG4wDvvvKMDBw5Y6wsWLNDevXvVvXv3M2574403Kj09XXPnzrXGTpw4oUmTJql8+fLq0qWLJFnPk/7rX2CqV6+u1q1ba9asWV5zmzdv1ueff64bb7xRkuTn56cePXrok08+0XfffVeoj4L3wo033qh169YpNTXVmjt06JBmzJih6OhoNW3a9IznBODscSUawEXlqquuUsWKFZWQkKBHH31UDodD7777brFCrV2PP/64FixYoDvvvFP33Xef2rZtq3379mnRokWaPn26WrVqdcZ93HPPPXrnnXe0bNky9enTR6GhodZc1apVNWLECD399NO64YYbdMsttygtLU1Tp07VFVdccdov04WFhenOO+/UpEmT5HA4VK9ePS1evLhY9yfb9fjjj2vRokW66aab1K9fP7Vt21aHDh3Spk2btGDBAu3cufOUj/sr0LBhQyUmJurbb79VRESE3nrrLWVkZOjtt98uVNu3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W6juueeeU8eOHSVJiYmJGjFihH755Rer9o477tCXX37pFaKjoqL02muvyeFwqFGjRtq0aZNee+01QrSP4k994H82bNigTp06nfaLI61atVJISIi1HhMTo4MHD2r37t2l0SJQ5rZu3aqoqCgrQEt/fg6KcvJ4uXLl1K5dO23duvW89wicTxs2bJC/v7+6dOly2rqWLVtav46IiFBISIhX2I6IiFBmZqbXNldeeaUcDoe1HhMTo+3btysvL6+EukdJIkQD/xMcHFzWLQA+wc/Pr9B9mMePHy+jbgDfUtw/K06+IONwOApdoHE4HMrPzy/R3lC6CNG4ZAUGBnr97b5ly5b66quvThsWNm7cqCNHjljr33zzjcqXL6+oqKjz2itQmqpWraq9e/da6x6PRzt27JAkNWnSRLt37/aa/+abb4rcz8njJ06ckNvtVpMmTc5T10DpaNGihfLz88/LF2XXrl3rtf7NN9+oQYMG8vf3L/Fj4dwRonHJio6O1tq1a7Vz505lZWUpKSlJHo9Hd911l7777jtt375d7777rtLS0qxtcnNzlZiYqB9//FFLly7V6NGjlZSUxP3QuKhce+21evfdd/XVV19p06ZNSkhIsP4Qj42NVcOGDZWQkKCNGzfqq6++0lNPPVXkfqZMmaKFCxdq27ZtGjRokPbv36/77ruvNE8FKHHR0dFKSEjQfffdp48++kg7duzQihUrNG/evHPe965duzR06FClpaVpzpw5mjRpkgYPHlwCXeN84E9+XLL+7//+T/7+/mratKmqVq2qAwcOaPny5Tp48KC6dOmitm3b6p///KfXP8Fdd911atCggTp37qxevXrplltusR77BVwsRowYoS5duuimm25SfHy8evTooXr16kn681aPhQsX6siRI2rfvr3uv//+Uz6d5sUXX9SLL76oVq1a6euvv9aiRYtUpUqV0jwV4LyYNm2a7rjjDj388MNq3LixBgwYoEOHDp3zfvv27Wt9tgYNGqTBgwdr4MCBJdAxzgeH4QGEQLH069dP2dnZ/Ghj4Ax27typOnXq6Pvvv1fr1q3Luh3ggsBP0b3wcCUaAAAAsIkQDQAAANjE7RwAAACATVyJBgAAAGwiRAMAAAA2EaIBAAAAmwjRAAAAgE2EaAAAAMAmQjQAwOd17dpVQ4YMKes2AMBCiAYAFFt0dDQ/UQ0ARIgGAEjKzc0t6xYA4IJCiAaAi1DXrl2VlJSkpKQkhYWFqUqVKho5cqQKfr5WdHS0nn32WfXt21cul0sDBw6UJH3wwQdq1qyZnE6noqOj9corr3jt89dff9Vjjz0mh8Mhh8NhzZ1uO0k6duyYhg8frqioKDmdTtWvX19vvvmmNb9y5Uq1b99eTqdT1atX1xNPPKETJ06cz5cIAM4JIRoALlKzZs1SuXLltG7dOr3++ut69dVX9a9//cuaf/nll9WqVSt9//33GjlypNxut3r27Km77rpLmzZt0pgxYzRy5EjNnDlTkvThhx/qsssu0zPPPKO9e/dq7969knTG7SSpb9++mjNnjiZOnKitW7fqjTfeUPny5SVJe/bs0Y033qgrrrhCGzdu1LRp0/Tmm2/queeeK7XXCgDs4sd+A8BFqGvXrsrMzNSWLVusK8ZPPPGEFi1apB9//FHR0dG6/PLLtXDhQmubPn366Pfff9fnn39ujQ0bNkxLlizRli1bJP15BXvIkCFeX/I703Y//fSTGjVqpOTkZMXGxhbq9amnntIHH3ygrVu3Wr1OnTpVw4cPV05Ojvz8/NS1a1e1bt2a+7EB+AyuRAPARerKK6/0uuUiJiZG27dvV15eniSpXbt2XvVbt25Vx44dvcY6duzotU1RzrTdhg0b5O/vry5dupxy+5iYGK9eO3bsqIMHD+q///1v8U4WAEoZIRoALlGhoaGlcpzg4OBSOQ4AlCZCNABcpNauXeu1/s0336hBgwby9/cvsr5JkyZavXq119jq1avVsGFDa5vAwMBCV6XPtF2LFi2Un5+vlStXnvK4qampOvnuwtWrV6tChQq67LLLineyAFDKCNEAcJHatWuXhg4dqrS0NM2ZM0eTJk3S4MGDT1n/97//XSkpKXr22Wf1008/adasWZo8ebL+7//+z6qJjo7WqlWrtGfPHmVlZRVru+joaCUkJOi+++7TRx99pB07dmjFihWaN2+eJOnhhx/W7t279cgjj2jbtm36+OOPNXr0aA0dOlR+fvwxBcBHGQDARadLly7m4YcfNg8++KBxuVymYsWK5sknnzT5+fnGGGNq165tXnvttULbLViwwDRt2tQEBASYWrVqmfHjx3vNp6ammpYtWxqn02lO/iPkTNsdOXLEPPbYY6Z69eomMDDQ1K9f37z11lvW/IoVK8wVV1xhAgMDTWRkpBk+fLg5fvy41/kMHjy4BF4ZACgZPJ0DAC5CPM0CAM4v/p0MAAAAsIkQDQAAANjE7RwAAACATVyJBgAAAGwiRAMAAAA2EaIBAAAAmwjRAAAAgE2EaAAAAMAmQjQAAABgEyEaAAAAsIkQDQAAANj0/wDh7LyYFQWmSQAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "protocol_counts = df['protocol_type'].value_counts()\n", + "protocol_counts\n", + "\n", + "def set_plot(title,xlabel,ylabel):\n", + " plt.title(title)\n", + " plt.xlabel(xlabel)\n", + " plt.ylabel(ylabel)\n", + "plt.figure(figsize=(8,4))\n", + "plt.bar(protocol_counts.index,protocol_counts.values,color = \"red\",edgecolor = \"black\")\n", + "set_plot(\"Traffic Volume by protocol\",\"protocol\",\"Count\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "fa768dae-28f1-4786-b942-9c665cfb77e5", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 410 + }, + "id": "fa768dae-28f1-4786-b942-9c665cfb77e5", + "outputId": "cc56c41a-15e6-4aad-b9ca-7b291cbbf153" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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thUXF2Px4sVwdHTEE088Ue1jnjt3rtJ5qFlZWUhMTISLiwuaNm0KhUKBvn374scffzSZvpKWloa1a9eiV69e0Gg0ACDNty47EpuXl2eyVN29hIeH4/jx4/jhhx8q7DOOuL/44ov4+++/8eWXX1aoyc/PR15eXpXPV9Yff/yB5ORkdO7c2WS7UqnEsGHDpNH1gIAAkw9gwJ2/bwYNGgSFQoH333+/wm8MhBDSyiZarbbCKiMBAQGQy+X3XNYuODgYmZmZFea25+Tk4OWXX4anpyf++c9/QiaTYcWKFbh27RpWrFhhloCckZFRYdvy5cuRkZGBZ555Rtr21FNPwdXVFcuXL69Qa29vj7CwMGnb4MGDcfjwYZOgnJycjB07duCFF16ocL6kpCR06NBBmtdNVB9xJJnISmzduhVnz55FcXEx0tLSsGPHDsTHx8PHxwebN2++4y1ngZK79e3ZswdhYWHw8fFBeno6li1bhubNm6NXr14ASsKUs7MzYmJi0KhRIzg4OCAoKKjSOapV4erqil69emH06NFIS0vDwoUL0bp1a5MbQowdOxYbN27EM888gxdffBHnz5/HN998U+EuXdVp27PPPovevXvjvffew6VLl9C5c2ds374dP/74IyZNmmS2O4CNGzcOn3/+OUaNGoWkpCT4+vpi48aN2LdvHxYuXHjXOeJ3cvz4cbz00kvo168fHnvsMbi6uuLvv//G119/jatXr2LhwoXS9IAPP/xQWvv6tddeg1KpxOeffw6dToe5c+dKx+zbty9atGiBMWPGYMqUKVAoFPjqq6/QtGnTKl8YNmXKFGzcuBEvvPACXnnlFQQGBuLmzZvYvHkzYmJi0LlzZ4wYMQLr16/H+PHjsXPnTvTs2RN6vR5nz57F+vXrpbWX76a4uFha79tgMODSpUuIiYmBwWCo9G6FI0eOxGeffYadO3fi//7v/yrsDwwMBAC89957GDp0KGxsbPDss8+iVatW+PDDDzFt2jRcunQJAwcORKNGjXDx4kX88MMPGDduHN566y3s2LEDUVFReOGFF/DQQw+huLgYq1evhkKhQHh4+F3fS1hYGJRKJX755ReMGzdO2n7jxg1s27YN48ePx5gxY9ChQ4d79r/R6tWrcfnyZekiwj179kij2SNGjJB+e2G80DMgIAC2trb49ddf8d1336FLly745z//KR3P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\n" + }, + "metadata": {} + } + ], + "source": [ + "import seaborn as sns\n", + "small_bytes = df[df['src_bytes']<6000]\n", + "small_bytes\n", + "\n", + "plt.figure(figsize = (8,4))\n", + "sns.histplot(small_bytes['src_bytes'],bins = 50, kde=True)\n", + "plt.title(\"Distribution of Source Bytes (>1500)\")\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "ce219976-1782-4c62-a9ce-6a4422a301b4", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 410 + }, + "id": "ce219976-1782-4c62-a9ce-6a4422a301b4", + "outputId": "2e33eb22-1cf6-4084-9af1-a3494aafd6ef" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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joE6JCIiotJWnLxm0HmSTQnnSTYup06dwtixY7F06VI0aNAg33bNtHBffvklfH19DdAhERERlbYyM08y0cuSlJQE4Om49oJo1mvqiIiIiPJiSCaT5OjoCODpDWkKolmvqSMiIiLKiyGZTJKPjw9cXFywbt06PHnyBKdOnUJkZCROnTqFJ0+eYN26dahSpQp8fHwM3SoREREZIXNDN0D0MsjlcoSEhGDq1Kno2rUrsrKypG1KpRJZWVn45JNPIJfLDdglERERGasSnUnetWsXDh06JC0vXboUjRs3Rr9+/fDw4UO9NUekD3kDckHLRERERLpKFJLHjx+P1NRUAMC5c+fw4YcfonPnzoiLi0N4eLheGyQqCbVajQULFhRa8+WXX0KtVpdSR0RERFSWlGi4RVxcnHTHss2bN6Nr16747LPPcPLkSXTu3FmvDRKVxOnTp5GcnFxozcOHD3H69Gn4+fmVTlNERERUZpToTLJCoUBmZiYAYO/evejUqROApzMFaM4wExnShx9+qNc6IiIiKl9KdCa5TZs2CA8PR+vWrXH06FH88ssvAIArV66gevXqem2QiIiIiKi0lehM8pIlS2Bubo5NmzZh+fLlqFatGgBg586deO211/TaIBERERFRaSvRmeQaNWpg+/bt+dZ/+eWXL9wQEREREZGhlfhmIteuXcPkyZPRt29f3Lt3D8DTM8kXLlzQW3NERERERIZQopB88OBBeHt7IyYmBr/++ivS09MBAGfOnMG0adP02iARERERUWkrUUieOHEiZs6ciT179kChUEjrX3nlFRw5ckRvzRGVlIWFhV7riIiIqHwpUUg+d+4cunXrlm+9k5MTHjx48MJNEb0oS0tLvdYRERFR+VKikOzg4IC7d+/mW3/q1ClppgsiQ/L19dVrHREREZUvJQrJffr0wYQJE5CQkACZTIbc3Fz8/fffGDduHAYOHKjvHomKrX79+nqtIyIiovKlRCH5s88+g6enJ1xdXZGeng4vLy8EBASgVatWmDx5sr57JCq2SpUq6bWOiIiIypcSzZOsUCjwzTffYOrUqTh37hzS09Ph6+uLOnXq6Ls/ohJxcHDQax0RERGVLyU6k/zJJ58gMzMTrq6u6Ny5M3r16oU6derg0aNH+OSTT/TdI1GxXbt2Ta91REREVL6UKCTPmDFDmhs5r8zMTMyYMeOFmyJ6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\n" + }, + "metadata": {} + } + ], + "source": [ + "plt.figure(figsize = (8,4))\n", + "small_bytes = df[df['src_bytes']<100000]\n", + "\n", + "sns.boxplot(x = 'protocol_type',y = 'src_bytes',data = small_bytes)\n", + "plt.title(\"Source Byte outliers by teh protocols\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "69bc15a9-2ffc-4558-96c1-6da7bc631760", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "69bc15a9-2ffc-4558-96c1-6da7bc631760", + "outputId": "4caff613-0a2d-47f8-8047-35c48dff1f44" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "protocol_type\n", + "tcp 102689\n", + "udp 14993\n", + "icmp 8291\n", + "Name: count, dtype: int64\n" + ] + } + ], + "source": [ + "print(df['protocol_type'].value_counts())" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "67e9e58a-6987-4f07-ae8d-a61b84df03b8", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 175 + }, + "id": "67e9e58a-6987-4f07-ae8d-a61b84df03b8", + "outputId": "a0c77cb8-4500-4d6d-f68d-7528769c58ba" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "flag OTH REJ RSTO RSTOS0 RSTR S0 S1 S2 S3 SF SH\n", + "protocol_type \n", + "icmp 0 0 0 0 0 0 0 0 0 8291 0\n", + "tcp 46 11233 1562 103 2421 34851 365 127 49 51661 271\n", + "udp 0 0 0 0 0 0 0 0 0 14993 0" + ], + "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", + "
flagOTHREJRSTORSTOS0RSTRS0S1S2S3SFSH
protocol_type
icmp00000000082910
tcp461123315621032421348513651274951661271
udp000000000149930
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + " \n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "ct", + "summary": "{\n \"name\": \"ct\",\n \"rows\": 3,\n \"fields\": [\n {\n \"column\": \"protocol_type\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"icmp\",\n \"tcp\",\n \"udp\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"OTH\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 26,\n \"min\": 0,\n \"max\": 46,\n \"num_unique_values\": 2,\n \"samples\": [\n 46,\n 0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"REJ\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 6485,\n \"min\": 0,\n \"max\": 11233,\n \"num_unique_values\": 2,\n \"samples\": [\n 11233,\n 0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"RSTO\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 901,\n \"min\": 0,\n \"max\": 1562,\n \"num_unique_values\": 2,\n \"samples\": [\n 1562,\n 0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"RSTOS0\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 59,\n \"min\": 0,\n \"max\": 103,\n \"num_unique_values\": 2,\n \"samples\": [\n 103,\n 0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"RSTR\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 1397,\n \"min\": 0,\n \"max\": 2421,\n \"num_unique_values\": 2,\n \"samples\": [\n 2421,\n 0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"S0\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 20121,\n \"min\": 0,\n \"max\": 34851,\n \"num_unique_values\": 2,\n \"samples\": [\n 34851,\n 0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"S1\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 210,\n \"min\": 0,\n \"max\": 365,\n \"num_unique_values\": 2,\n \"samples\": [\n 365,\n 0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"S2\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 73,\n \"min\": 0,\n \"max\": 127,\n \"num_unique_values\": 2,\n \"samples\": [\n 127,\n 0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"S3\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 28,\n \"min\": 0,\n \"max\": 49,\n \"num_unique_values\": 2,\n \"samples\": [\n 49,\n 0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SF\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 23346,\n \"min\": 8291,\n \"max\": 51661,\n \"num_unique_values\": 3,\n \"samples\": [\n 8291,\n 51661\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SH\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 156,\n \"min\": 0,\n \"max\": 271,\n \"num_unique_values\": 2,\n \"samples\": [\n 271,\n 0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 33 + } + ], + "source": [ + "ct = pd.crosstab(df['protocol_type'],df['flag'])\n", + "ct" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "96da06a4-9ae1-4d68-aee9-8b0e9f8c625d", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 487 + }, + "id": "96da06a4-9ae1-4d68-aee9-8b0e9f8c625d", + "outputId": "4f0f3417-62cc-4deb-b318-65344703c82b" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "plt.figure(figsize=(12,5))\n", + "sns.heatmap(ct,annot = True, fmt='d', cmap='Blues')\n", + "plt.title(\"Protocol vs Connection Flag\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "9bd3c862-6225-4c29-b40a-97c8cd9095a2", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 388 + }, + "id": "9bd3c862-6225-4c29-b40a-97c8cd9095a2", + "outputId": "4afa5a7e-16eb-4ed1-f111-9abb55a1e2bd" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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JDDD4skwcMZ5+eWXje7duxt2u90YOXKk8f3335tdEtq58ePHG507dzbsdrvRtWtXY/z48cauXbvMLgvt1Ndff21IOuIxYcIEwzAMw+VyGY888ogRERFh+Pj4GJdccomxfft2c4tGu3C812Z5ebkxevRoo1OnToa3t7cRHR1tTJ482cjOzja7bLQDR3tdSjLefvttd5uKigrjD3/4gxEaGmr4+/sb1113nXHgwAHzij6NsA4ZAAAAAJiEe8gAAAAAwCQEMgAAAAAwCYEMAAAAAExCIAMAAAAAkxDIAAAAAMAkBDIAAAAAMAmBDAAAAABMQiADAHisCy+8UPfee6/ZZbS4FStWyGKxqKioyOxSAAAmI5ABAHAa+vnnn2WxWJSWlmZ2KQCAU0AgAwCgierq6uRyucwuAwBwBiCQAQBOCwcPHtRtt92m0NBQ+fv76/LLL9fOnTsbtXnjjTcUFRUlf39/XXfddXruuecUEhJyUuf/8ccfddFFFykoKEgOh0NxcXFav369JGnevHkKCQnRJ598ov79+8vHx0cZGRmqqqrSAw88oKioKPn4+KhXr17617/+ddLPadWqVRo0aJB8fX11zjnnaNOmTZKksrIyORwO/ec//2nU/uOPP1ZAQIBKSkoUExMjSRo6dKgsFosuvPBCd7s333xTsbGx8vX1Vb9+/fTKK6+491VXV2vatGnq3LmzfH19FR0draeffvqkawYAtCwvswsAAOBk3H777dq5c6c++eQTORwOPfDAA7riiiu0ZcsWeXt7a9WqVbr77rv1t7/9TVdffbW++uorPfLIIyd9/ptvvllDhw7Vq6++KpvNprS0NHl7e7v3l5eX629/+5vefPNNdejQQeHh4brtttuUkpKil156SYMHD1Z6erry8/NP+pr33XefXnzxRUVGRuqhhx7SVVddpR07diggIEA33HCD3n77bV1//fXu9g3fBwUFae3atRo5cqS++uorDRgwQHa7XZI0f/58zZo1S7Nnz9bQoUP1ww8/aPLkyQoICNCECRP00ksv6ZNPPtGiRYvUvXt3ZWZmKjMz86RrBgC0MAMAAA91wQUXGPfcc4+xY8cOQ5KxatUq9778/HzDz8/PWLRokWEYhjF+/HhjzJgxjY6/+eabjeDg4JO6VlBQkDFv3ryj7nv77bcNSUZaWpp72/bt2w1JxrJly5r4rAzj66+/NiQZ7733nntbQUGB4efnZyxcuNAwDMNYs2aNYbPZjKysLMMwDCMnJ8fw8vIyVqxYYRiGYaSnpxuSjB9++KHRuc866yxjwYIFjbY9+eSTRkJCgmEYhjF9+nTj4osvNlwuV5PrBgC0PIYsAgA83tatW+Xl5aX4+Hj3tg4dOqhv377aunWrJGn79u0aOXJko+N+/f3xJCUl6c4779SoUaP0zDPPaPfu3Y322+12DRo0yP19WlqabDabLrjgguY8JUlSQkKC++uwsLBGz2fkyJEaMGCA3nnnHUnSv//9b0VHR+v8888/5vnKysq0e/duTZo0SYGBge7HX/7yF/fzuf3225WWlqa+ffvqj3/8o7788stm1w8AOHUEMgAAJD322GPavHmzxowZo+XLl6t///766KOP3Pv9/PxksVgafd/a7rzzTs2bN09S/XDFiRMnNqrh10pLSyXV30uXlpbmfmzatEnff/+9JGnYsGFKT0/Xk08+qYqKCv3ud79rNCwSANC2CGQAAI8XGxur2tparVmzxr2toKBA27dvV//+/SVJffv21bp16xod9+vvT6RPnz6aMWOGvvzyS40dO1Zvv/32MdsOHDhQLpdLK1eubNI1DtcQkqT6SUt27Nih2NhY97ZbbrlFe/fu1UsvvaQtW7ZowoQJ7n0N94zV1dW5t0VERKhLly7as2ePevXq1ejRMAmIJDkcDo0fP15vvPGGFi5cqA8++ECFhYXNfh4AgOZjUg8AgMfr3bu3rrnmGk2ePFmvvfaagoKC9OCDD6pr16665pprJEnTp0/X+eefr+eee05XXXWVli9frs8///y4PUoNKioqdN999+n6669XTEyM9u3bp3Xr1mncuHHHPKZHjx6aMGGC7rjjDvekHnv37lVubq5+97vfndTzeuKJJ9ShQwdFREToz3/+szp27Khrr73WvT80NFRjx47Vfffdp9GjR6tbt27ufeHh4fLz89PSpUvVrVs3+fr6Kjg4WI8//rj++Mc/Kjg4WJdddpmqqqq0fv16HTx4UElJSXruuefUuXNnDR06VFarVe+//74iIyNPejZKAEDLoocMAHBaePvttxUXF6crr7xSCQkJMgxDS5Yscc+EeO6552ru3Ll67rnnNHjwYC1dulQzZsyQr6/vCc9ts9lUUFCg2267TX369NHvfvc7XX755Xr88cePe9yrr76q66+/Xn/4wx/Ur18/TZ48WWVlZSf9nJ555hndc889iouLU3Z2tj799FN3z1eDSZMmqbq6WnfccUej7V5eXnrppZf02muvqUuXLu5geuedd+rNN9/U22+/rYEDB+qCCy7QvHnz3D1kQUFBevbZZzV8+HCNGDFCP//8s5YsWSKrlV8JAMAMFsMwDLOLAACgNUyePFnbtm3Tt99+a3Ypzfbuu+9qxowZysrKOiKsAQBOfwxZBACcMf7xj3/o0ksvVUBAgD7//HO98847jRZFPp2Ul5frwIEDeuaZZ3TXXXcRxgDgDMX4BADAGWPt2rW69NJLNXDgQM2dO1cvvfSS7rzzTknSgAEDGk0Ff/hj/vz5LVrH3Xfffcxr3X333Sd1jmeffVb9+vVTZGSkZs6c2aL1AQA8B0MWAQDtwt69e1VTU3PUfREREQoKCmqxa+Xm5srpdB51n8PhUHh4eItdCwBweiOQAQAAAIBJGLIIAAAAACYhkAEAAACASQhkAAAAAGASAhkAAAAAmIRABgAAAAAmIZABAAAAgEkIZAAAAABgEgIZAAAAAJjk/wOvfziYfeVLAgAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + } + ], + "source": [ + "import numpy as np\n", + "\n", + "# log(1+x)e\n", + "\n", + "df['log_src_bytes'] = np.log1p(df['src_bytes'])\n", + "df['log_src_bytes']\n", + "plt.figure(figsize = (10,4))\n", + "sns.histplot(df['log_src_bytes'],bins=50,kde=True,color=\"purple\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "537ada18-be87-4331-bc49-ac211c5af400", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "537ada18-be87-4331-bc49-ac211c5af400", + "outputId": "127312ca-52da-4ffd-cfd5-67c46a98b29a" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\n", + "Corelation Matrix:\n", + " duration src_bytes dst_bytes count srv_count\n", + "duration 1.000000 0.070737 0.034878 -0.079042 -0.039470\n", + "src_bytes 0.070737 1.000000 0.000204 -0.005152 -0.002792\n", + "dst_bytes 0.034878 0.000204 1.000000 -0.003543 -0.001754\n", + "count -0.079042 -0.005152 -0.003543 1.000000 0.471079\n", + "srv_count -0.039470 -0.002792 -0.001754 0.471079 1.000000\n" + ] + } + ], + "source": [ + "numerical_cols = ['duration','src_bytes','dst_bytes','count','srv_count']\n", + "corr = df[numerical_cols].corr()\n", + "\n", + "print(\"\\nCorelation Matrix:\\n\", corr)\n", + "\n", + "# df.columns()\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "e4ea6038-4136-477f-a8fd-e1d9201d9831", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 458 + }, + "id": "e4ea6038-4136-477f-a8fd-e1d9201d9831", + "outputId": "ba1f1281-4fc7-428c-c909-7c5e3b94443c" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0 0\n", + "1 0\n", + "2 0\n", + "3 0\n", + "4 0\n", + " ..\n", + "125968 0\n", + "125969 8\n", + "125970 0\n", + "125971 0\n", + "125972 0\n", + "Name: duration, Length: 125973, dtype: int64" + ], + "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", + "
duration
00
10
20
30
40
......
1259680
1259698
1259700
1259710
1259720
\n", + "

125973 rows × 1 columns

\n", + "

" + ] + }, + "metadata": {}, + "execution_count": 37 + } + ], + "source": [ + "# df.columns\n", + "# df\n", + "df['class'].unique()\n", + "df['duration']\n" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "2e06e523-bad5-4401-90b6-ce323458636c", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 507 + }, + "id": "2e06e523-bad5-4401-90b6-ce323458636c", + "outputId": "b75316a9-b053-481c-9bd9-d06f383e41aa" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAHqCAYAAAAZLi26AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAbrZJREFUeJzt3XlcVGX///H3ADKgCK6ACyrmBi6omIp9c0slI8tKK7PAtTIolTKjul3vbqxut3LLUrHSKC2t1FRcsEXcULvd4lbTtBTUUlBSUDi/P/oxtxOLiAwj8Ho+Hufx6FznOud8zth8Zj6ca65jMgzDEAAAAAAAKHYO9g4AAAAAAICyiqIbAAAAAAAboegGAAAAAMBGKLoBAAAAALARim4AAAAAAGyEohsAAAAAABuh6AYAAAAAwEYougEAAAAAsBGKbgAAAAAAbISiG2XK8ePHZTKZ9O9//9veoZQqgwYNUoMGDewdBoBSJiYmRiaTSbt27bJ3KKVKgwYNNGjQIHuHAcAGunbtqq5du9o7DElSSkqK+vXrp+rVq8tkMmnGjBmSpMOHD6tXr17y8PCQyWTSypUrLfn8+PHjdo25rKLovs3k/A+fs7i4uKh27doKDg7WO++8o4sXL9o1vjlz5shkMqlDhw55bj948KAmTJiQ5xt2zpw5iomJsW2At+j6197BwUG1a9dWr169FB8fX6znWbNmjSZMmFCsxwTKmrzyYZMmTRQREaGUlBRLv/j4eKt+jo6O8vT0VL9+/XTo0KF8j79q1Srde++9ql69uuXYL730kn7//fdcfQcNGmR1DicnJ/n4+Ojxxx/XwYMHrfr+PZ6/L7GxsYV+DR599FGZTCaNHTs2z+355ZI///xTEyZMKPbcVZz+/jpVqFBBDRs2VGhoqH7++ediPVdp+PwByouc3O7i4qLffvst1/auXbuqRYsWdoisZEyYMKHAz4icpTgK99GjR2vdunWKiorSRx99pHvvvVeSFBYWpn379umNN97QRx99pHbt2t3yuVAwJ3sHgLxNmjRJvr6+unr1qpKTkxUfH69Ro0Zp2rRp+uqrr9SqVSu7xLVkyRI1aNBAO3bs0JEjR9SoUSOr7QcPHtTEiRPVtWvXXHdO58yZoxo1atz2f93v2bOnQkNDZRiGjh07pjlz5qh79+5avXq1evfuXSznWLNmjWbPnk3hDRRCTj68cuWKvv/+e82dO1dr1qzR/v37VbFiRUu/F154QXfeeaeuXr2q//znP5o3b57i4+O1f/9+eXt7Wx3zpZde0tSpUxUQEKCxY8eqWrVq2r17t2bNmqXY2Fht3LhRTZs2tdrHbDbrgw8+kCRdu3ZNR48e1bx587R27VodPHhQtWvXtuqfE8/fBQUFFeq609LS9PXXX6tBgwb65JNPNGXKFJlMJqs++eWSP//8UxMnTpSk2+aOS36u/3fbvXu35s+fr9WrV2vfvn25XtOiKi2fP0B5kpGRoSlTpujdd9+1dygl6uGHH7b6/nzp0iWNGDFCDz30kB5++GFLu5eX1y2fa9OmTXrwwQf10ksvWdouX76shIQEvfbaa4qIiLC0P/XUU3r88cdlNptv+bzIjaL7NtW7d2+rvzpFRUVp06ZNuv/++/XAAw/o0KFDcnV1LdGYjh07pq1bt+qLL77QM888oyVLlmj8+PElGkNJaNKkiZ588knL+kMPPaRWrVppxowZ+RbdV65ckbOzsxwcGDwCFLfr8+GwYcNUvXp1TZs2TV9++aUGDBhg6Xf33XerX79+lvWmTZtqxIgR+vDDD/Xyyy9b2j/55BNNnTpVjz32mJYsWSJHR0fLtkGDBqlbt27q37+/du/eLSen/31MOjk5WeUGSerYsaPuv/9+rV69WsOHD7fa9vd4btbnn3+urKwsLVy4UN27d9e3336rLl26FPl4t6vrX6fBgwerSZMmeuGFF7R48WJFRUXluU96eroqVapUkmECKGatW7fW+++/r6ioqGL7A9vfGYahK1eulPh35oK0atXK6ubZuXPnNGLECLVq1SrXZ8z1ivJd88yZM6pSpYpV29mzZyUpV7ujo6PV5yGKFxVCKdK9e3f94x//0C+//KKPP/7YatumTZt09913q1KlSqpSpYoefPDBXMMqL168qFGjRqlBgwYym83y9PRUz549tXv37kKdf8mSJapatapCQkLUr18/LVmyxGp7TEyM+vfvL0nq1q2bZXhMfHy8GjRooAMHDmjLli25hs388ccfeumll9SyZUu5ubnJ3d1dvXv31o8//pgrhitXrmjChAlq0qSJXFxcVKtWLT388MM6evRovnEbhqGnn35azs7O+uKLLwp1rddr2bKlatSooWPHjkn635DI2NhYvf7666pTp44qVqyotLQ0SdKyZcsUGBgoV1dX1ahRQ08++aTV8KlBgwZp9uzZkqyHs+dIT0/Xiy++KB8fH5nNZjVt2lT//ve/ZRhGrtg+/vhjtW/fXhUrVlTVqlXVuXNnrV+/3qrPnDlz1Lx5c5nNZtWuXVvh4eG6cOHCDa87NjZWgYGBqly5stzd3dWyZUvNnDnzpl8/oLh1795dkizvyfzcfffdkpQrP0ycOFFVq1bV/Pnzc33BaN++vcaOHat9+/Zp+fLlN4wl5w769cV5cVmyZIl69uypbt26yc/PL1fOzS+XHD9+XDVr1pT017XmtOfcDf/Pf/6jQYMGqWHDhnJxcZG3t7eGDBmS57D63377TUOHDlXt2rVlNpvl6+urESNGKDMzM9+4z58/r/bt26tu3bpKSkq66ev++79vzlDMgwcP6oknnlDVqlX1f//3f5L+GnEwefJk3XHHHTKbzWrQoIFeffVVZWRkWI5X0OePJP3888/q37+/qlWrpooVK6pjx45avXp1rrgK8/lzM/n7elevXtXEiRPVuHFjubi4qHr16vq///s/xcXF3fTrB5QWr776qrKysjRlypQb9i3Me1366/1+//33a926dWrXrp1cXV313nvvWb67ffbZZ5o4caLq1KmjypUrq1+/fkpNTVVGRoZGjRolT09Pubm5afDgwbmOvWjRInXv3l2enp4ym83y9/fX3Llzi/U1yVHQd83CfG/OGcJvGIZmz55t9TlQv359SdKYMWNkMpksI1Pz+033N998oy5duli+D955551aunSpTa67LONOdynz1FNP6dVXX9X69estd1U2bNig3r17q2HDhpowYYIuX76sd999V3fddZd2795teTM9++yzWr58uSIiIuTv76/ff/9d33//vQ4dOqS2bdve8NxLlizRww8/LGdnZw0YMEBz587Vzp07LcMnO3furBdeeEHvvPOOXn31Vfn5+UmS/Pz8NGPGDD3//PNyc3PTa6+9Jul/w2Z+/vlnrVy5Uv3795evr69SUlL03nvvqUuXLlZDNrOysnT//fdr48aNevzxxzVy5EhdvHhRcXFx2r9/v+64445cMWdlZWnIkCH69NNPtWLFCoWEhNz0a37+/HmdP38+11D6yZMny9nZWS+99JIyMjLk7OysmJgYDR48WHfeeaeio6OVkpKimTNn6ocfftCePXtUpUoVPfPMMzp16pTi4uL00Ucf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cibCLOznAApG0V2KbNq0SZMnT5avr68GDhwo6a8iunXr1lq8eLHVm23//v1av3697rvvPkl/DRH/++9NPD09Vbt27VyPRLje5cuX9cUXX+j+++9Xv379ci0RERG6ePGivvrqK0myFPh5vfErVaqUZ7ujo2Oux6ksW7bM6jFbkvTII4/o3LlzmjVrVq5j/H1/6a/fgcbGxmrt2rV66qmnbP7Xv3bt2snT01Pz5s2zek2/+eYbHTp0yGrm9Pxep/vuu09ZWVm5rnH69OkymUyW54T37dtXDg4OmjRpUq7rynktevToIWdnZ73zzjtWr8+CBQuUmppa4Ezuf390kIODg2WYY0H/vwC3kzvuuEOPPPKIYmJilJycbGkfN26czp8/r2effTbXnBSJiYl688031aJFCz3yyCM3PMd///tfJSUlKSAgoFhi/uGHH3T8+HENHjw4z5z72GOPafPmzZa5OfLLJRUrVsyzPeduzt9z5owZM6zWHRwc1LdvX3399dfatWtXrjjzyrn/+Mc/9NJLLykqKspmj9G5Xs7n299jnzZtmiTlyrl5ff7cd9992rFjhxISEixt6enpmj9/vho0aGAZ7VCYz5/C5u+8/D3nurm5qVGjRuRblBt33HGHnnzySb333ntW+Vq6ufe6reSVO1NTU7Vo0SKbnzuvWArzvflW9erVS5UrV1Z0dHSuUaN5fQagYPym+zb1zTff6KefftK1a9eUkpKiTZs2KS4uTvXr19dXX31lNaHB22+/rd69eysoKEhDhw61PDLMw8PD8lfyixcvqm7duurXr58CAgLk5uamDRs2aOfOnZo6dWq+cXz11Ve6ePGiHnjggTy3d+zYUTVr1tSSJUv02GOPqXXr1nJ0dNSbb76p1NRUmc1myzMNAwMDNXfuXP3zn/9Uo0aN5Onpqe7du+v+++/XpEmTNHjwYHXq1En79u3TkiVLct15CQ0N1YcffqjIyEjt2LFDd999t9LT07VhwwY999xzevDBB3PF17dvXy1atEihoaFyd3fXe++9V4R/jcKpUKGC3nzzTQ0ePFhdunTRgAEDLI8Ma9CggWUIkiQFBgZKkl544QUFBwfL0dFRjz/+uPr06aNu3brptdde0/HjxxUQEKD169fryy+/1KhRoyx/dWzUqJFee+01TZ48WXfffbcefvhhmc1m7dy5U7Vr11Z0dLRq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\n" + }, + "metadata": {} + } + ], + "source": [ + "fig, axes = plt.subplots(1,3, figsize=(10,5))\n", + "sns.countplot(x='protocol_type', data = df[df['class'] == 'phf'],ax= axes[0])\n", + "axes[0].set_title(\"Dos Attack Protocols\")\n", + "sns.countplot(x='protocol_type', data = df[df['class'] == 'multihop'],ax= axes[1])\n", + "axes[1].set_title(\"PROBE Attack Protocols\")\n", + "sns.countplot(x='protocol_type', data = df[df['class'] == 'normal'],ax= axes[2])\n", + "axes[2].set_title(\"Normal Traffic\")\n", + "\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "f7d9f3d8-6b9c-44ef-bc32-159c9ecb2e6e", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 559 + }, + "id": "f7d9f3d8-6b9c-44ef-bc32-159c9ecb2e6e", + "outputId": "efd52731-050c-439b-88b5-78632b483e7a" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2QAAAIeCAYAAADUJszbAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAApAFJREFUeJzs3Xtczvf/P/BHXXSio3QwoZgochxiSw5TG3PemMyZUQxthqFkGbOP0yjN2Jwyp81hWA6lcmghJZrTyGJUTpWk03W9f3/4Xe9vl3JqXe/3pR73281N1/v96no/u47v5/v1ej1feoIgCCAiIiIiIiLJ6csdABERERERUVXFhIyIiIiIiEgmTMiIiIiIiIhkwoSMiIiIiIhIJkzIiIiIiIiIZMKEjIiIiIiISCZMyIiIiIiIiGRSTe4AKguVSoVbt27B1NQUenp6codDREREREQyEQQBDx8+RJ06daCv//w+MCZkFeTWrVtwcHCQOwwiIiIiItIRN27cQN26dZ/bhglZBTE1NQXw5EE3MzOTORoiIiIiIpJLTk4OHBwcxBzheZiQVRD1MEUzMzMmZERERERE9FJTmVjUg4iIiIiISCZMyIiIiIiIiGTChIyIiIiIiEgmTMiIiIiIiIhkwoSMiIiIiIhIJkzIiIiIiIiIZMKEjIiIiIiISCZMyIiIiIiIiGTChIyIiIiIiEgmTMiIiIiIiIhkUk3uAIjo+bKzszFr1ixkZGTA1tYW8+fPh7m5udxhEREREVEFYEJGpMN8fHzw77//irfv3LmDPn364I033kB4eLiMkRERERFRReCQRSId9XQyVtK///4LHx8fiSMiIiIioorGhIxIB2VnZz8zGVP7999/kZ2dLVFERERERKQNTMiIdNCMGTMqtB0RERER6SYmZEQ66PLlyxXajoiIiIh0ExMyIh2kVCortB0RERER6SYmZERERERERDJhQkZERERERCQTJmREREREREQyYUJGREREREQkEyZkREREREREMmFCRkREREREJBMmZERERERERDJhQkZERERERCQTJmREREREREQyYUJGREREREQkEyZkREREREREMmFCRkREREREJJNqcgdATyiVSiQnJ+P+/fuwsrKCm5sbFAqF3GEREREREZEWMSHTAbGxsQgNDUV6erq4zc7ODr6+vvDw8JAxMiIiIiIi0iYOWZRZ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ymJVpq4e+eabb+Lq1avw8/MT99nZ2eHNN9/ElStXSq3FRkRERERElQMTMhlZW1sDAP7++2906NABgwcP1liH7M8//9RoR0RERERElQsTMhm5ubnBzs4O5ubmpdYhs7e3R+PGjZGTkwM3NzcZoyQiIiIiIm1hQiYjhUIBX19fBAYGon379ujUqRMKCgpgaGiIf//9F/Hx8QgKCuKi0ERERERElRQTMpl5eHhg0KBB2LZtG1QqlbhdX18fgwYNgoeHh4zRERERERGRNrHKosxiY2OxZcsWjZL3AFCtWjVs2bIFsbGxMkVGRERERETaxoRMRkqlEkuWLAEA6OnpaexT316yZAmUSqXksRERERERkfYxIZNRUlKSuNZY69atERISgv379yMkJAStW7cG8GSNsqSkJPmCJCIiIiIirWFCJqMzZ84AAFxdXTF//ny4urrCxMREvO3i4qLRjoiIiIiIKhcmZDLKzMwEAHTr1g36+ppPhb6+Prp166bRjoiIiIiIKhcmZDKysbEBABw+fFijwiIAqFQqREZGarQjIiIiIqLKhQmZjNTzxP766y/MmjULKSkpyMvLQ0pKCmbNmoW//vpLox0REREREVUuXIdMRi1btoSFhQWysrKQkJCAuLg4cZ+BgQEAwNLSEi1btpQpQiIiIiIi0ib2kMlIoVDA398fAFBYWKixT3176tSpUCgUksdGRERERETax4RMRxgaGj73NhERERERVT5MyGSkVCoRGhqKjh07Yvfu3fDz80O/fv3g5+eH3bt3o2PHjli1ahUXhiYiIiIiqqQ4h0xGycnJSE9PxwcffIARI0YgPT1d3Pfrr7+iV69eOHHiBJKTk9GqVSsZIyUiIiIiIm1gQiaj+/fvAwB+/PFHdOzYEXPmzIGjoyNSU1MRHh6ONWvWaLQjIiIiIqLKhUMWZWRhYQEAaN68OYKDg+Hq6goTExO4uroiODgYzZs312hHRERERESVCxMyIiIiIiIimXDIooyysrIAAOfPn8esWbPQrl07GBoaoqCgACdPnsT58+c12hERERERUeXChExGVlZWAIBu3brhyJEjGgtDKxQKdOvWDYcPHxbbERERERFR5cKETEZubm6wsLDA4cOH0aFDB7Rv3x5GRkbIz89HfHw8Dh8+DAsLC7i5uckdKhERERERaQHnkOkYQRA0buvp6ckUCRERERER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REREYPHixbh48SLmzp2L06dPY+LEiVI/JFVeVFQUNmzYIM4Vq169OjZs2MBkjIiIiIgqJVmHLJ4+fRpdunQRb6uTpOHDh2PdunX48ssv8ejRI4wbNw5ZWVl4++23ERERASMjI/F3wsPDMXHiRHTr1g36+voYMGAAvv/+e3G/ubk5Dh48CD8/P7Rp0wbW1tYICAjQWKusY8eO2Lx5M2bPno2vvvoKb775Jnbt2oVmzZpJ8CjQ0+rVq4dDhw7JHQYRERERkdbpCYIgyB1EZZCTkwNzc3NkZ2fDzMzspX7H09Pzpe8/Ojq6fIGRTrl8+TLGjRuHRy69oaphrdVj6T+6ixp/7cHq1avRuHFjrR6LiIiIiP7Pq+QGOjuHjIiIiIiIqLJjQkZERERERCQTJmREREREREQyYUJGREREREQkEyZkREREREREMmFCRkREREREJBMmZERERERERDJhQkZERERERCQTJmREREREREQyYUJGREREREQkEyZkREREREREMmFCRkREREREJBMmZERERERERDJhQkZERERERCQTJmREREREREQyYUJGREREREQkEyZkREREREREMmFCRkREREREJBMmZERERERERDJhQkZERERERCQTJmREREREREQyYUJGREREREQkEyZkREREREREMmFCRkREREREJBMmZERERERERDJhQkZERERERCQTJmREREREREQyYUJGREREREQkk2pyB0D0tPnz5+PQoUPi7XfffRezZs2SMSIiIiIiIu1gDxnpFE9PT41kDAAOHToET09PeQIiIiIiItIiJmSkM16UdDEpIyIiIqLKhgkZ6YT58+dr3O7RowfWrFmDHj16PLcdEREREdHrjAkZ6YSSwxQjIiLw1VdfoVGjRvjqq68QERFRZjsiIiIiotcdEzLSOUZGRs+9TURERERUWTAhIyIiIiIikgkTMtIJxsbG4s8//fSTxr6St0u2IyIiIiJ63XEdMtIJ27dvR69evQAAGzZswIYNG57ZjoiIiIiosmAPGemEmjVrokmTJs9t06RJE9SsWVOiiIiIiIiItI8JGemMsLCwZyZlTZo0QVhYmMQRERERERFpF4cskk4JCwtDbm4uFixYgFu3bqFOnTqYOXMme8aIiIiIqFJiQkY6p2bNmlwAmoiIiIiqBA5ZJCIiIiIikgkTMiIiIiIiIpkwISMi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\n" + }, + "metadata": {} + } + ], + "source": [ + "plt.figure(figsize=(10,5))\n", + "sns.boxplot(x='class',y='duration',data=df)\n", + "plt.xticks(rotation=90)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "eb6020b1-f7fd-45bd-b687-2445ec9240a2", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 836 + }, + "id": "eb6020b1-f7fd-45bd-b687-2445ec9240a2", + "outputId": "2d913122-2f33-47a2-8c69-895d3810beaa" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "class\n", + "land 0.000000\n", + "nmap 0.000000\n", + "pod 0.000000\n", + "smurf 0.000000\n", + "teardrop 0.000000\n", + "neptune 0.000049\n", + "satan 0.127718\n", + "back 0.297071\n", + "guess_passwd 2.716981\n", + "ipsweep 3.616004\n", + "phf 4.500000\n", + "imap 6.545455\n", + "warezmaster 15.050000\n", + "ftp_write 32.375000\n", + "loadmodule 36.222222\n", + "perl 41.333333\n", + "buffer_overflow 91.700000\n", + "rootkit 100.800000\n", + "normal 168.587396\n", + "multihop 184.000000\n", + "spy 318.000000\n", + "warezclient 705.092135\n", + "portsweep 8246.697032\n", + "Name: duration, dtype: float64" + ], + "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", + "
duration
class
land0.000000
nmap0.000000
pod0.000000
smurf0.000000
teardrop0.000000
neptune0.000049
satan0.127718
back0.297071
guess_passwd2.716981
ipsweep3.616004
phf4.500000
imap6.545455
warezmaster15.050000
ftp_write32.375000
loadmodule36.222222
perl41.333333
buffer_overflow91.700000
rootkit100.800000
normal168.587396
multihop184.000000
spy318.000000
warezclient705.092135
portsweep8246.697032
\n", + "

" + ] + }, + "metadata": {}, + "execution_count": 41 + } + ], + "source": [ + "avg_distribution = df.groupby('class')['duration'].mean().sort_values()\n", + "avg_distribution" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "1adf9a10-6d89-4c03-b5ce-f7df23de9940", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 544 + }, + "id": "1adf9a10-6d89-4c03-b5ce-f7df23de9940", + "outputId": "6e5ef54f-bcd9-4604-da77-96b8efdbc8d4" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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ly4hLi4Onp6eAABPT0+cOXMG9+7dk9rs27cParUabm5uUptXY+S0yYlBREREpNUVmClTpqBdu3YoV64cnjx5gvXr1yMsLAx79+6FpaUl/Pz8MHbsWJQsWRJqtRqjRo2Cp6cnGjRoAABo06YN3Nzc8MUXX2Du3LlISEjA119/jREjRkhXT4YOHYolS5Zg4sSJGDBgAPbv34/Nmzdj9+78jWgmIiKi959WCcy9e/fQt29f3L17F5aWlqhZsyb27t2LTz75BACwcOFCGBkZoVu3bkhLS4OXlxd++ukn6fnGxsbYtWsXhg0bBk9PTxQvXhy+vr6YMWOG1MbFxQW7d++Gv78/AgMDUbZsWaxcuRJeXl56estERESkdDrXgSmsWAeGiIioYBTqOjBEREREBYUJDBERESkOExgiIiJSHCYwREREpDhMYIiIiEhxmMAQERGR4jCBISIiIsVhAkNERESKwwSGiIiIFIcJDBERESkOExgiIiJSHCYwREREpDhMYIiIiEhxmMAQERGR4jCBISIiIsVhAkNERESKwwSGiIiIFIcJDBERESkOExgiIiJSHCYwREREpDhMYIiIiEhxmMAQERGR4jCBISIiIsVhAkNERESKwwSGiIiIFIcJDBERESkOExgiIiJSHCYwREREpDhMYIiIiEhxmMAQERGR4jCBISIiIsVhAkNERESKo1UCM3v2bHz88cewsLCAnZ0dOnfujEuXLmm0SU1NxYgRI2BjY4MSJUqgW7duSExM1GgTFxcHb29vmJubw87ODhMmTEBmZqZGm7CwMNSpUwempqaoVKkSgoOD5b1DIiIieu9olcCEh4djxIgROHz4MPbt24eMjAy0adMGz549k9r4+/vjzz//xJYtWxAeHo47d+6ga9eu0v6srCx4e3sjPT0dkZGRWLNmDYKDgxEQECC1uX79Ory9vdGiRQucOnUKY8aMwcCBA7F37149vGUiIiJSOpUQQsh98v3792FnZ4fw8HA0bdoUycnJsLW1xfr169G9e3cAwMWLF+Hq6oqoqCg0aNAAf//9Nzp06IA7d+7A3t4eABAUFIRJkybh/v37MDExwaRJk7B7926cPXtWeq2ePXsiKSkJe/bsyVffUlJSYGlpieTkZKjVarlvkYiIiLTkPHl3vtrdmOOda1t+z986jYFJTk4GAJQsWRIAEB0djYyMDLRu3Vpq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\n" + }, + "metadata": {} + } + ], + "source": [ + "avg_distribution = df.groupby('class')['duration'].mean().sort_values()\n", + "avg_distribution\n", + "\n", + "avg_distribution.plot(kind = 'bar')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "source": [ + "plt.figure(figsize=(12,5))\n", + "sns.boxplot(x = 'protocol_type',y='duration',hue='class', data = df)\n", + "plt.show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 551 + }, + "id": "Kz1cC_hE4Uha", + "outputId": "bcf1cbd1-0f42-4de3-a394-d40e67a394c6" + }, + "id": "Kz1cC_hE4Uha", + "execution_count": 43, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/8AAAIWCAYAAAABPj2oAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA0UlJREFUeJzs3XlclPX6//HXgKwKg6IC7lhuFIpLFlJIaeGaZmml56BmmialmWaeIzaudSxFM9PKUiktbdEszTIMMURcEg+5Z5ieQjSTQVRAgd8f/ri/TpgiAYP4fj4e8zjc933d9+eaOSRz3fdnMRUUFBQgIiIiIiIiIpWWg70TEBEREREREZGypeJfREREREREpJJT8S8iIiIiIiJSyan4FxEREREREankVPyLiIiIiIiIVHIq/kVEREREREQqORX/IiIiIiIiIpWcin8RERERERGRSq6KvROoLPLz8/ntt9/w8PDAZDLZOx0RERERERGp5AoKCjhz5gx16tTBweHqz/ZV/JeS3377jfr169s7DREREREREbnJHDt2jHr16l01RsV/KfHw8AAufeienp52zkZEREREREQqu8zMTOrXr2/Uo1ej4r+UFHb19/T0VPEvIiIiIiIi5aY4Q8814Z+IiIiIiIhIJafiX0RERERERKSSU/EvIiIiIiIiUslpzL+IiIiIiMh1yM/PJzc3195pyE3AyckJR0fHUrmWin8REREREZFiys3NJTU1lfz8fHunIjcJLy8vfH19izWp39Wo+BcRERERESmGgoIC0tLScHR0pH79+jg4aBS1lJ2CggLOnTvHiRMnAPDz8/tb11PxLyIiIiIiUgwXL17k3Llz1KlTB3d3d3unIzcBNzc3AE6cOEHt2rX/1hAA3aoSEREREREphry8PACcnZ3tnIncTApvNF24cOFvXUfFv4iIiIiIyHX4u2OvRa5Haf2+qdu/2F1ubi5r1qzh119/pW7dujz44IO6myoiIiIiIlKKVPyLXS1cuJAVK1bY7Js/fz6PPvoow4cPt1NWIiIiIiJSXEeOHMHf359du3YRFBRk73TkL6jbv9jNlQr/QitWrGDhwoXlnJGIiIiIiEjlpOJf7CI3N/cvC/9CK1asIDc3t5wyEhERERERqbxU/ItdrFy5slTjRERERESkbOXn5zNz5kxuvfVWXFxcaNCgAdOnTy8Sl5eXx5AhQ/D398fNzY1mzZoxd+5cm5i4uDjat29P1apV8fLyIiQkhF9++QWA3bt3c++99+Lh4YGnpydt27Zlx44d5fIeKzON+Re7+OKLL4od949//KOMsxERERERkWuZMGEC77zzDtHR0dx9992kpaWxf//+InH5+fnUq1ePjz/+GG9vb7Zs2cKwYcPw8/OjX79+XLx4kd69ezN06FA+/PBDcnNz2bZtmzGr/YABA2jdujULFizA0dGR5ORknJycyvvtVjoq/sUuTp48WapxIiIiIiJSds6cOcPcuXN54403GDhwIAC33HILd999N0eOHLGJdXJyYvLkyca2v78/iYmJrFy5kn79+pGZmYnVaqVHjx7ccsstALRo0cKIP3r0KOPGjaN58+YANGnSpIzf3c1B3f7FLgoKCko1TkREREREys6+ffvIycmhU6dOxYqfP38+bdu2pVatWlSrVo23336bo0ePAlCjRg0GDRpEeHg4PXv2ZO7cuaSlpRnnjhkzhieffJLOnTvzyiuvcPjw4TJ5TzcbFf8iIiIiIiJyVW5ubsWO/eijjxg7dixDhgzhm2++ITk5mcGDB9tM5r148WISExPp0KEDK1asoGnTpmzduhUAi8XCnj176N69Oxs3biQgIIBVq1aV+nu62aj4FxERERERkatq0qQJbm5uxMbGXjM2ISGBDh068PTTT9O6dWtuvfXWKz69b926NRMmTGDLli3cfvvtLF++3DjWtGlTnnvuOb755hv69OnD4sWLS/X93IxU/IuIiIiIiMhVubq6Mn78eF544QViYmI4fPgwW7du5d133y0S26RJE3bs2MHXX3/NwYMHiYqKYvv27cbx1NRUJkyYQGJiIr/88gvffPMNhw4dokWLFpw/f57IyEji4uL45ZdfSEhIYPv27TZzAkjJaMI/ERERERERuaaoqCiqVKnCpEmT+O233/Dz82P48OFF4p566il27drFo48+islk4vHHH+fpp5/mq6++AsDd3Z39+/ezdOlSTp06hZ+fHyNHjuSpp57i4sWLnDp1ioiICNLT06lZsyZ9+vSxmUBQSsZUoBnVSkVmZiZmsxmr1Yqnp6e906nw7r333mLHfvfdd2WYiYiIiIhI8WRnZ5Oamoq/vz+urq72TkduElf7vbueOlTd/kVEREREREQqORX/IiIiIiIiIpWcin8RERERERGR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N1lZWXh7e9vEpKamcvjwYSO/Bg0aULduXZt88/PzOXDgQFl/VJWKJvyrRAon/Pj222/p1auXzQ2A/Px8Nm7caBMnIiIiIiJyufr163PgwAG+/fZbNmzYwNNPP82rr77Kpk2bcHJyIiwsjLfffpvNmzfTunVrPD09jRsCmzZtomPHjsa1srKymDx5Mn369CnSjqurK1lZWfj5+RnDBi7n5eVVhu/y5qQn/5VI69atAdi7dy8TJ05kz549nDt3jj179jBx4kT27t1rEyciIiIiIjefrVu3FtkuHCIM4ObmRs+ePXn99deJi4sjMTGRlJQU4P/G/X/88cfG2P6wsDC+/fZbEhISjH0Abdq04cCBA9x6661FXg4ODrRp04bjx49TpUqVIsdr1qxpXOfo0aP89ttvNvk6ODjQrFmzMvh0Ki89+a9EgoKC8PLyIiMjgx9++IHExETjmIuLCwDVq1cnKCjIThmKiIiIiIi9JSQkMHPmTHr37s2GDRv4+OOPWbt2LQBLliwhLy+PO++8E3d3dz744APc3Nxo2LAhAC1btqR69eosX76cL7/8ErhU/I8dOxaTyURISIjRzqRJk+jRowcNGjTgkUcewcHBgd27d/Pjjz8ybdo0OnfuTHBwML1792bmzJk0bdqU3377jbVr1/LQQw/Rrl074FIvgYEDB/Laa6+RmZnJs88+S79+/fD19S3nT+7GpuK/EnF0dOS5557DYrEUWe6voKAAk8nE6NGjcXR0tFOGIiIiIiKV06kzV15uuyK28/zzz7Njxw4mT56Mp6cns2fPJjw8HLjU3f6VV15hzJgx5OXlERgYyBdffIG3tzdwadz/Pffcw9q1a7n77ruBSzcEPD09adasGVWrVjXaCQ8P58svv2TKlCn85z//wcnJiebNm/Pkk08a11q3bh3//ve/GTx4MCdPnsTX15fQ0FCbocq33norffr0oVu3bvzxxx/06NGDN998829/DjcbFf+VTGhoKBaLhQULFtjMflmjRg1GjBhBaGioHbMTEREREalczGYzLs7OfJGcW25tujg7Yzabix3/5zH1np6erFy58oqxvXv3pnfv3le93urVq222HRwcbJbmu1x4eLhxY+FKPDw8eP3113n99dev2uaIESMYMWLEVWPk6lT8V0KhoaGEhISQkpLCqVOn8Pb2JjAwUE/8RURERERKmY+PD0tjYrBareXWptls1iTect1U/FdSjo6OGtsvIiIiIlIOfHx8VIxLhafiX0RERERE5CZx5MgRe6dwXSwWCxaLxd5pVApa6k9ERERERESkklPxLyIiIiIiIlLJqfgXERERERERqeRU/IuIiIiIiIhUcir+RURERERERCo5Ff8iIiIiIiIilZyW+hMREREREfkb0tPTsVqt5dae2WzGx8en3NqTysGuxf+CBQtYsGCBsdbkbbfdxqRJk+jatSsA2dnZPP/883z00Ufk5OQQHh7Om2++afOLfvToUUaMGMF3331HtWrVGDhwIC+//DJVqvzfW4uLi2PMmDHs2bOH+vXrM3HiRAYNGmSTy/z583n11Vc5fvw4rVq1Yt68ebRv377MPwMREREREblxpaenMzAigpzc3HJr08XZmaUxMXa/ATBo0CAyMjJYvXq1XfOQ4rFr8V+vXj1eeeUVmjRpQkFBAUuXLqVXr17s2rWL2267jeeee461a9fy8ccfYzabiYyMpE+fPiQkJACQl5dH9+7d8fX1ZcuWLaSlpREREYGTkxMzZswAIDU1le7duzN8+HCWLVtGbGwsTz75JH5+foSHhwOwYsUKxowZw8KFC7nzzjuZM2cO4eHhHDhwgNq1a9vt8xERERERkYrNarWSk5vLfW1NVPco+/ZOn4GNO3OxWq12K/7z8vIwmUx2aVtKzq5j/nv27Em3bt1o0qQJTZs2Zfr06VSrVo2tW7ditVp59913mT17Nvfddx9t27Zl8eLFbNmyha1btwLwzTffsHfvXj744AOCgoLo2rUrU6dOZf78+eT+/ztvCxcuxN/fn1mzZtGiRQsiIyN55JFHiI6ONvKYPXs2Q4cOZfDgwQQEBLBw4ULc3d1577337PK5iIiIiIjIjaW6B9TyMpX5qyQ3GMLCwoiMjCQyMhKz2UzNmjWJioqioKAAgNOnTxMREUH16tVxd3ena9euHDp0yDh/yZIleHl5sWbNGgICAnBxceGJJ55g6dKlfP7555hMJkwmE3FxceTm5hIZGYmfnx+urq40bNiQl19+GYCxY8fSo0cP47pz5szBZDKxfv16Y9+tt97KokWLjO1FixbRokULXF1dad68OW+++abNezt27Bj9+vXDy8uLGjVq0KtXL6NnOVzqndC7d28mT55MrVq18PT0ZPjw4Ua9eDOpMBP+5eXl8dFH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ZuHCheTl5dk7VRGRYnF0dKRjx4789ttveHp6EhYWRpcuXQgLC8PDw4PffvuN0NBQDWsSERERuYYSPfmfN28eCxYsICIiwtj34IMPctttt2GxWHjuuedKLUEpvsIlsaKioq44MVb//v2JjIzUklgicsPIy8tj06ZN1KlTh/T0dJulihwdHalTpw7x8fEMHTpUNwBERERErqJExX9aWhodOnQosr9Dhw6kpaX97aSkZE6dOgWAv7//FY8X7i+MExGp6ApvappMJu666y7at2+Pi4sLOTk5bNu2ja1bt1JQUKCbmiIiIiLXUKJu/7feeisrV64ssn/FihU0adLkbyclJePt7Q389WoMhfsL40REKrqTJ08C0L59eyZPnkyjRo1wdnamUaNGTJ48mTvuuMMmTkRERESurERP/idPnsyjjz5KfHw8ISEhACQkJBAbG3vFmwJSPgonxlq2bBlTp04tsiTW8uXL8fPz08RYInLDsFqtwKX1kyMiIoqsYlJY/BfGiYiI2EN6enq5/i0ym834+PiUW3tSOZSo+H/44YdJSkoiOjqa1atXA9CiRQu2bdtG69atSzM/uQ6Ojo6MGDECi8VCVFQU/fv3N2b7X758OYmJiVgsFo2LFZEbhtlsBmDNmjW0b9+epk2bcubMGTw8PMjOzuaLL76wiRMRESlv6enpRAyMIDcnt9zadHZxJmZpTLndADCZTKxatYrevXuXS3tSNkq81F/btm354IMPSjMXKQWhoaFYLBYWLFhAZGSksd/Pz0/L/InIDadGjRrGz9u2bStWnIiISHmyWq3k5uTSKARcPcu+vexMOJKQi9Vq1dN/uS7FLv4zMzPx9PQ0fr6awjixj9DQUEJCQkhJSeHUqVN4e3sTGBioJ/4icsMxmUylGiciIlJWXD3BvQJPrfXJJ58wefJkfvrpJ9zd3WndujWff/45e/fu5V//+he7du3iwoULBAUFER0dTZs2bQBo1KgRAA899BAADRs25MiRIxw+fJgxY8awdetWzp49S4sWLXj55Zfp3Lmz0WajRo0YNmwYP/30Ex9//DHVq1dn4sSJDBs2rNzfv1xH8V+9enXS0tKoXbs2Xl5eV/yiVVBQgMlk0jryFYCjo6NmvhaRG156errxc/v27QkODsbZ2Znc3FwSExON3gCXx4mIiIittLQ0Hn/8cWbOnMlDDz3EmTNn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4+XlZddcVPxXIllZWaUaBxT7af6pU6cICwvD19eXZcuW2Yz5B8jPz2f58uXUrFlTXf9FREREpNJIT08nYmAEuTm55dams4szMUtjdANArouK/0rk/PnzpRoHFPtpvre3N46OjowYMQKLxUJUVBT9+/fH39+f1NRUli9fTmJiIsOGDeOtt94qdvsiIiIiIhWZ1WolNycXh7vbYTJ7lHl7BdYz5H6/A6vVquJfrovG/FciV1p67+/EAQQGBhpP8/Pz822OFT7N9/PzIzAwEIDQ0FAsFgs///wzkZGRdO/encjISFJTU7FYLLRp06b4b0hERERE5AZhMntg8q5e9q8S3mA4c+YMAwYMoGrVqvj5+REdHU1YWBijR4++lL/JxOrVq23O8fLyYsmSJcb2sWPH6NevH15eXtSoUYNevXpx5MgR43hcXBzt27enatWqeHl5ERISwi+//ALA7t27uffee/Hw8MDT05O2bduyY8eOa+a9ZMkSvLy8WL16NU2aNMHV1ZXw8HCOHTtmxBw+fJhevXrh4+NDtWrVuOOOO/j2229trvPmm28a5/v4+PDII48Yxz755BMCAwNxc3PD29ubzp07c/bsWX788UccHBw4efIkAH/88QcODg489thjxrnTpk3j7rvvNrbXrVtH06ZNcXNz495777X5fOxNxb9cVeHT/MTERKKiotizZw/nzp1jz549REVFkZiYyPDhw3F0dDTOCQ0N5YMPPiA6OpqJEycSHR3N+++/bywJKCIiIiIi5WvMmDEkJCSwZs0aNmzYwObNm/nhhx+Kff6FCxcIDw/Hw8ODzZs3k5CQQLVq1ejSpQu5ublcvHiR3r1707FjR/773/8avX4LVxobMGAA9erVY/v27ezcuZMXX3wRJyenYrV97tw5pk+fTkxMDAkJCWRkZNgU4FlZWXTr1o3Y2Fh27dpFly5d6NmzJ0ePHgVgx44dPPvss0yZMoUDBw6wfv16ozZJS0vj8ccf54knnmDfvn3ExcXRp08fCgoKuO222/D29mbTpk0AbN682WYbYNOmTYSFhQGXbo706dOHnj17kpyczJNPPsmLL75Y7M+4rKnbv1xT4dP8BQsWEBkZaez38/PDYrFcsah3dHQkKCioHLMUkcrIZDIVaxm/613CVERE5GZy5swZli5dyvLly+nUqRMAixcvpk6dOsW+xooVK8jPz2fRokXG393Fixfj5eVFXFwc7dq1w2q10qNHD2655RYAWrRoYZx/9OhRxo0bR/PmzQFo0qRJsdu+cOECb7zxBnfeeScAS5cupUWLFmzbto327dvTqlUrWrVqZcRPnTqVVatWsWbNGiIjIzl69ChVq1alR48eeHh40LBhQ1q3bg1cKv4vXrxInz59aNiwIYDRqxku1UJxcXE88sgjxMXFMXjwYBYtWsT+/fu55ZZb2LJlCy+88AIACxYs4JZbbmHWrFkANGvWjJSUFP7zn/8U+72WJRX/UiyhoaGEhISQkpLCqVOn8Pb2JjAw0OaJv4hIaatduzbp6enFihMREZEr+/nnn7lw4QLt27c39pnNZpo1a1bsa+zevZuffvoJDw/bYQfZ2dkcPnyYBx54gEGDBhEeHs79999P586d6devH35+fsClngdPPvkk77//Pp07d6Zv377GTYJrqVKlCnfccYex3bx5c7y8vNi3bx/t27cnKysLi8XC2rVrjWL+/PnzxpP/+++/n4YNG9K4cWO6dOlCly5deOihh3B3d6dVq1Z06tSJwMBAwsPDeeCBB3jkkUeoXr06AB07duTtt98GLj3lnzFjBgcPHiQuLo4//viDCxcuEBISAsC+ffuMGxSFgoODi/0ZlzV1+5diK3ya36lTJ4KCglT4i0iZc3d3L9U4ERERubIr9ba7cOGC8XNWVhZt27YlOTnZ5nXw4EH69+8PXOoJkJiYSIcOHVixYgVNmzZl69atAFgsFvbs2UP37t3ZuHEjAQEBrFq1qlRyHzt2LKtWrWLGjBls3ryZ5ORkAgMDyc29tAKDh4cHP/zwAx9++CF+fn5MmjSJVq1akZGRgaOjIxs2bOCrr74iICCAefPm0axZM2Ni87CwMPbu3cuhQ4fYu3cvd999N2FhYcTFxbFp0ybatWt3w3wPUfEvIiIVVuEEO6UVJyIicjNq3LgxTk5ObN++3dhntVo5ePCgsV2rVi3S0tKM7UOHDnHu3Dlju02bNhw6dIjatWtz66232rzMZrMR17p1ayZMmMCWLVu4/fbbWb58uXGsadOmPPfcc3zzzTf06dOHxYsXFyv/ixcv2kwOeODAATIyMoxhBQkJCQwaNIiHHnrImLD8zxPtValShc6dOzNz5kz++9//cuTIETZu3AhcuvEREhLC5MmT2bVrF87OzsaNicDAQKpXr860adMICgqiWrVqhIWFsWnTJuLi4ozx/oAxFOFyhTc/KgIV/yIiUmFlZWWVapyIiMjNyMPDg4EDBzJu3Di+++479uzZw5AhQ3BwcDDG799333288cYb7Nq1ix07djB8+HCbCfkGDBhAzZo16dWrF5s3byY1NZW4uDieffZZ/ve//5GamsqECRNITEzkl19+4ZtvvuHQoUO0aNGC8+fPExkZSVxcHL/88gsJCQls377dZk6Aq3FycuKZZ54hKSmJnTt3MmjQIO666y5jGEOTJk347LPPSE5OZvfu3fTv399mpbIvv/yS119/neTkZH755RdiYmLIz8+nWbNmJCUlMWPGDHbs2MHRo0f57LPPOHnypJGbyWQiNDSUZcuWGYV+y5YtycnJITY2lo4dOxrtDB8+nEOHDjFu3DgOHDjA8uXLbVZLsDeN+RcRkQpLE/6JiMiNosB6pkK3M3v2bIYPH06PHj3w9PTkhRde4NixY7i6ugIwa9YsBg8ezD333EOdOnWYO3cuO3fuNM53d3cnPj6e8ePH06dPH86cOUPdunXp1KkTnp6enD9/nv3797N06VJOnTqFn58fI0eO5KmnnuLixYucOnWKiIgI0tPTqVmzJn369GHy5MnFyt3d3Z3x48fTv39/fv31V+655x7effddm/f2xBNP0KFDB2rWrMn48ePJzMw0jnt5efHZZ59hsVjIzs6mSZMmfPjhh9x2223s27eP+Ph45syZQ2ZmJg0bNmTWrFl07drVOL9jx46sXr3aKP4dHBwIDQ1l7dq1xnh/gAYNGvDpp5/y3HPPMW/ePNq3b8+MGTN44oknSvT/WWkzFRTnW5VcU2ZmJmazGavViqenp11yuPfee4sd+91335VhJn/t4MGDPPXUUzwcZqKW19W/rJ/MKODTuALeeustmjZtWk4ZikhF8sADD9iMN/wrTk5OfPPNN+WQkYiI3Myys7NJTU3F39/fKJrT09OJGBhBbk5uueXh7OJMzNIYfHx8SnyNs2fPUrduXWbNmsWQIUNKMbvStWTJEkaPHk1GRoa9U7GbK/3eFbqeOlRP/kVEpMJydXUtVvH/5z+EIiIi5cXHx4eYpTFYrdZya9NsNl934b9r1y72799P+/btsVqtTJkyBYBevXqVRYpSAan4FxGRCuv8+fOlGiciIlIWfHx8/tZT+PLy2muvceDAAZydnWnbti2bN2+mZs2ads2pa9eubN68+YrH/vWvf1GnTp1yzqjyUvEvIiIV1sWLF0s1TkRE5GbVunVrmzH8FcWiRYv+8iZ+jRo1qFGjBoMGDSrfpCopFf8iIlJhacI/ERGRyq1u3br2TuGmoaX+pNiOHTvGAw88wL333ssDDzzAsWPH7J2SiFRyVaoU7x51ceNEREREblZ2Lf7j4+Pp2bMnderUwWQysXr1apvjBQUFTJo0CT8/P9zc3OjcuTOHDh2yifnjjz8YMGAAnp6eeHl5MWTIkCLrPf/3v//lnnvuwdXVlfr16zNz5swiuXz88cc0b94cV1dXAgMDWbduXam/3xtZp06diIiIMCbeunDhAhEREXTq1MnOmYlIZebgULw/U8WNExEREblZ2fXb0tmzZ2nVqhXz58+/4vGZM2fy+uuvs3DhQpKSkqhatSrh4eFkZ2cbMQMGDGDPnj1s2LCBL7/8kvj4eIYNG2Ycz8zM5IEHHqBhw4bs3LmTV199FYvFwttvv23EbNmyhccff5whQ4awa9cuevfuTe/evfnxxx/L7s3fQDp16kR+fj5waY3NZ555Bnd3dwDy8/N1A0BEykxOTk6pxomIiIjcrOzaT7Jr16507dr1iscKCgqYM2cOEydONJafiIm5tJbl6tWreeyxx9i3bx/r169n+/bttGvXDoB58+bRrVs3XnvtNerUqcOyZcvIzc3lvffew9nZmdtuu43k5GRmz55t3CSYO3cuXbp0Ydy4cQBMnTqVDRs28MYbb7Bw4cJy+CRKR1mMjT127JhR+K9YsYLatWsD0KdPH06cOMGjjz5Kfn4+x44do379+iVLXERERERERMpUhe0nmZqayvHjx+ncubOxz2w2c+edd5KYmAhAYmIiXl5eRuEP0LlzZxwcHEhKSjJiQkNDcXZ2NmLCw8M5cOAAp0+fNmIub6cwprCdG0VZdI8dMmQIcOmJf2HhX6h27dpGD4DCOBEREREREal4KuwMScePHwcosl6mj4+Pcez48eNFCtIqVapQo0YNmxh/f/8i1yg8Vr16dY4fP37Vdq4kJyfHpptpZmbm9by9MpGXl1eqcYAxxv+vivuIiAgWLlxoxImIlCZnZ2dyc3OLFSciImIv6enpWK3WcmvPbDYXqV+upqCggKeeeopPPvmE06dPs2vXLoKCgsouwRKyWCysXr2a5ORke6dSKVXY4r+ie/nll5k8ebK90yhzTk5OXLhwgXfffZc+ffoUOR4TE2PEiYiUtrK4qSkiIlKa0tPTiRg4kNxynH/G2cWFmKVLi30DYP369SxZsoS4uDgaN26Mn58fq1atonfv3mWb6HUaO3YszzzzjLE9aNAgMjIyikwMLyVTYYt/X19f4NJ/TH5+fsb+9PR04y6Vr68vJ06csDnv4sWL/PHHH8b5vr6+pKen28QUbl8rpvD4lUyYMIExY8YY25mZmXYf8+7g4GCMz79WXHG9++67REREcO7cOU6cOGHT0+LEiROcO3fOiBMRKW0q/kVEpKKzWq3k5uTgGBKCyexZ5u0VWDPJTUjAarUWu/g/fPgwfn5+dOjQoYyzK5mCggLy8vKoVq0a1apVs3c6lVaFHfPv7++Pr68vsbGxxr7MzEySkpIIDg4GIDg4mIyMDHbu3GnEbNy4kfz8fO68804jJj4+3qZb+oYNG2jWrBnVq1c3Yi5vpzCmsJ0rcXFxwdPT0+Zlby4uLqUaB1C/fn3jZsGjjz5K9+7dWbFiBd27d+fRRx8FLt1MsPeNDxERERERezKZPTF5e5f96zpvMAwaNIhnnnmGo0ePYjKZaNSoEQAPPfSQzbbFYiEoKIi33nqL+vXr4+7uTr9+/Yo1nOHHH3/EwcGBkydPApeWY3dwcOCxxx4zYqZNm8bdd98NQFxcHCaTia+++oq2bdvi4uLC999/b+RQmM/SpUv5/PPPMZlMmEwm4uLigEuTkvfr1w8vLy9q1KhBr169OHLkyHV9Ljcjuxb/WVlZJCcnG2M6UlNTSU5ONn4xR48ezbRp01izZg0pKSlERERQp04do3tKixYt6NKlC0OHDmXbtm0kJCQQGRnJY489Rp06dQDo378/zs7ODBkyhD179rBixQrmzp1r89R+1KhRrF+/nlmzZrF//34sFgs7duwgMjKyvD+Sv6U4M/1fT1yh2NhY4wbAuXPnWLhwofHE38HBociNExERERERqRjmzp3LlClTqFevHmlpaWzfvh2AxYsX22wD/PTTT6xcuZIvvviC9evXs2vXLp5++ulrtnHbbbfh7e3Npk2bANi8ebPNNsCmTZsICwuzOe/FF1/klVdeYd++fbRs2dLm2NixY+nXrx9dunQhLS2NtLQ0OnTowIULFwgPD8fDw4PNmzeTkJBAtWrV6NKlS7HmCbqZ2bX437FjB61bt6Z169YAjBkzhtatWzNp0iQAXnjhBZ555hmGDRvGHXfcQVZWFuvXr8fV1dW4xrJly2jevDmdOnWiW7du3H333bz99tvGcbPZzDfffENqaipt27bl+eefZ9KkScYyfwAdOnRg+fLlvP3227Rq1YpPPvmE1atXc/vtt5fTJ1E6iruE3/Us9VcoNjaWmJgYY2y/k5MTMTExKvxFRERERCows9mMh4cHjo6O+Pr6UqtWLQC8vLxstgGys7OJiYkhKCiI0NBQ5s2bx0cffXTVidDhUn0RGhpqPJmPi4tj8ODB5OTksH//fi5cuMCWLVvo2LGjzXlTpkzh/vvv55ZbbqFGjRo2x6pVq4abmxsuLi74+vri6+uLs7MzK1asID8/n0WLFhEYGEiLFi1YvHgxR48eNdqXK7PrmP+wsLCrPoU2mUxMmTKFKVOm/GVMjRo1WL58+VXbadmyJZs3b75qTN++fenbt+/VE77J1a9fn2+++cbeaYiIiIiISBlo0KABdevWNbaDg4PJz8/nwIEDV50PDaBjx47GQ9hNmzYxY8YMDh48yP9r787jasz7/4G/Tum0HQ4tTosoJEWEMDHqGG670dcMxlbZmQnZhlkiZXwZY2TN/Kwx2W4M7rHdxihkuwuNJdlqMuREk0NSJ9XvD9+uu6Oi03Kq0+v5ePR4dK7rfV2f93Wc0vv6LFdkZCT+/vtv5OTkoGvXrmrHFH5ke2nFxcXh7t27qFu3rtr2rKws3Lt3T+Pz1SbVdsE/0lx2KVcYLW0cERERERFRacjlcgQEBODOnTu4efMmPvzwQ9y6dQuRkZFIT0+Hu7s7TExM1I4xNTXVuJ2MjAx06NABERERRfYVHsVARbH41yGlWelfkzgiIiIiItI9BgYGxT4pJzk5GY8ePRLWT7tw4QL09PTg5OT03nO6urqiQYMGWLRoEdzc3CCRSCCXy7F06VKkp6cXme9fGmKxuEie7du3x+7du9GwYcNqseh6TVJtV/snIiIiIiKiimdvb4+TJ0/i8ePHSE9PF7YbGRnB19cXcXFxOHPmDKZNm4ahQ4e+d8g/8N95/xEREUKh36ZNG2RnZ+PkyZNF5vuXNs8//vgDCQkJePr0KXJycjBy5EhYWFhg0KBBOHPmDBITExEZGYlp06bhr7/+0riN2oTFPxERERERUTnlK58jPy2t8r+Uz8ud6/Lly3HixAnY2dkJi68DQPPmzTF48GD069cPvXr1Qps2bbBu3bpSn9fLywu5ublC8a+npwdPT0+IRKIi8/1LY8KECXBycoK7uzssLS0RHR0NExMTnD59Go0bN8bgwYPh7OyMcePGISsriyMB3kOUr+lz36hYz58/h1QqhVKprLIPXffu3Usde+rUqUrMpGS3b9/GpEmT8IlcBMv6737qwJNn+dgXmY+ffvoJLVq00FKGRFSd1ITfa0REVHtkZWUhMTERDg4OwhPIFAoFfHx9odLiulpiQ0NsCw+HTCarsHMGBQXhwIEDwmPYqfoo7nNXQJM6lHP+iYiIiIiIykgmk2FbeDiUSqXW2pRKpRVa+FPtwOJfhxgYGCAnJ6dUcUREREREVDFkMpnOF+MSiaTEfUePHkW3bt20mA2VBYt/HWJra4ukpKRSxRERERERERUICgpCUFBQifvfNR2A9UXNwOJfh3To0KFUxX+HDh0qPxkiIiIiItIZzZs3r+oUqJy42r8OuXnzZoXGERERERERkW5g8a9DStPrr0kcERERERER6QYW/zrk1atXFRpHREREREREuoHFPxEREREREZGOY/FPREREREREpOO42r8O0dfXR25ubqniiIiIiIioYigUCiiVSq21J5VKIZPJtNZecYKCgnDgwIF3PgIwKSkJDg4OuHLlCtzc3BAZGYnu3bsjPT0d9evX11qu9AaLfyIiIiIiojJSKBTw8fWFKjtba22KDQ2xLTy8ym8AFObn54dnz57hwIEDwjY7OzukpKTAwsKi6hIjAYt/HWJmZoYnT56UKo6IiIiIiMpPqVRClZ2NOh9+BJG0QaW3l69Mh+rs71AqldWq+C+Ovr4+rKysqjoN+j+c869DbGxsKjSOiIiIiIhKRyRtAD1zy0r/KssNBrlcjqlTpyIgIAANGjSATCbDhg0b8PLlS4wZMwZ169ZF8+bNcfToUQDA1q1biwzLP3DgAEQiUbHnDwoKQnh4OA4ePAiRSASRSITIyEgkJSVBJBIVmRoQGxsLd3d3mJiYoEuXLkhISFDbHxYWhmbNmkEsFsPJyQnbt29Xf69FIoSFhaFv374wNjZG06ZNsXfvXo3fl9qGxb8OKe08I23ORyIiIiIioqoXHh4OCwsLXLp0CVOnTsWUKVMwZMgQdOnSBZcvX0avXr0wevRoZGZmanzu2bNnY+jQoejTpw9SUlKQkpKCLl26lBj/zTffYPny5YiJiUGdOnUwduxYYd8vv/yC6dOnY9asWbh+/TomTZqEMWPG4NSpU2rnCAwMxCeffIK4uDiMHDkSn332GeLj4zXOvTZh8a9DTE1NKzSOiIiIiIh0Q9u2bfHtt9/C0dERX331FYyMjGBhYYEJEybA0dER8+fPR1paGv744w+Nzy2RSGBsbAxDQ0NYWVnBysoKYrG4xPjvvvsOXl5ecHFxwbx583Du3DlkZWUBAH744Qf4+fnh888/R4sWLTBz5kwMHjwYP/zwg9o5hgwZgvHjx6NFixYICQmBu7s7Vq9erXHutQmLfx3SsWPHCo0jIiIiIiLd0KZNG+F7fX19mJubw9XVVdhWsH5AamqqVnOxtrZWazc+Ph5du3ZVi+/atWuRXn0PD48ir9nz/24s/nWIQqGo0DgiIiIiItINBgYGaq9FIpHatoL5/Hl5edDT00N+fr5afE5OTqXkUrhdqlws/nVIdHR0hcYREREREVHtY2lpiRcvXuDly5fCtrcX7XubWCxGbm5uudt2dnYuUq9ER0fDxcVFbduFCxeKvHZ2di53+7qMj/rTIaVdnKMsi3gQEREREVHt0LlzZ5iYmODrr7/GtGnTcPHiRWzduvWdx9jb2+P48eNISEiAubk5pFJpmdqeM2cOhg4dinbt2qFnz57417/+hf379+O3335Ti/vnP/8Jd3d3fPjhh4iIiMClS5ewadOmMrVZW7D41yGvX79Wey0Wi1GvXj08f/4cKpWqxDgiIiIiIiqffGU6tDFwPV+ZXultmJmZ4eeff8acOXOwYcMG9OjRA0FBQZg4cWKJx0yYMAGRkZFwd3dHRkYGTp06BXt7e43b9vb2xsqVK/HDDz9g+vTpcHBwwJYtWyCXy9XiFi5ciF27duHzzz+HtbU1du7cWWR0AKlj8a/DVCoVnj59WtVpEBERERHpLKlUCrGhIVRnf9dam2JDQ4161iMjI4tsS0pKKrKt8Dx/b29veHt7q+2fMGGC8H1QUBCCgoKE15aWlvj3v//9znPK5fIiawm4ubkV2TZlyhRMmTKluEsR2NjYFNselYzFPxERERERURnJZDJsCw+HUqnUWptSqVRYnZ+otFj8ExERERERlYNMJmMxTtUei38dIhaL1eb2vyuOiIiIiIioJnp7mgCVDot/HdKmTRvExMSUKq4sgoODcerUKeF19+7dMX/+/DKdi4iIiIiIiLRHr6oToIpTv379Co0rrHv37mqFPwCcOnUK3bt31/hcREREREREpF0s/nWInZ1dhcYVeF+BzxsARERERERE1RuLfx0SGxtboXHAm6H+BUaMGIFTp04JXyNGjCg2joiIiIiIiKoXFv865Pbt2xUaB0BtqH/h53q+/frtKQFERERERERUfbD411Eikeidr4mIiIiIiKj24Gr/OsTCwgJ//fUXAEBPTw+5ubnCvsKvLSwsqiQ/IiIiIiJdpFAooFQqtdaeVCqFTCbTWnuakMvlcHNzQ2hoaLH7/fz88OzZMxw4cECreRGLf53SrFkzofgvXPi//bpZs2alPmfhVf43bNigNtR/w4YNanFERERERLWNQqGAj68vVNnZWmtTbGiIbeHhVXoDIDIyEt27d0d6erpGTxNbuXIl8vPzhdfvu1lAFYfFvw55/fp1hcYBwPz584Xif8eOHdixY0eJcUREREREtY1SqYQqOxviDwdAT2pe6e3lKdOgOvsrlEplmYt/lUoFsVhcwZmVjlQqrZJ2iXP+dYq5eel+2ZQ2rsD7FvPjYn9EREREVNvpSc2hZ25V+V9luMEgl8vh7++PgIAAWFhYoHfv3oiKikKnTp1gaGgIa2trzJs3T62TMDs7G9OmTUPDhg1hZGSEDz/8EP/5z38AAElJScLI3wYNGkAkEsHPz6/Ytg8fPgypVIqIiAgAb4b9e3t7C99HRUVh5cqVEIlEEIlESEpK0vj6qHRY/OuQli1bVmhcYadOnSoytL/wlAAiIiIiIqq+wsPDIRaLER0djaCgIPTr1w8dO3ZEXFwcwsLCsGnTJixatEiI//LLL7Fv3z6Eh4fj8uXLaN68OXr37o2///4bdnZ22LdvHwAgISEBKSkpWLlyZZE2d+zYgeHDhyMiIgIjR44ssn/lypXw8PDAhAkTkJKSgpSUFNjZ2VXem1DLcdi/Dnnx4kWFxr1t/vz5HN5PRERERFQDOTo64vvvvwcAbNu2DXZ2dlizZg1EIhFatmyJR48eYe7cuZg/fz5evXqFsLAwbN26FX379gXwZr2vEydOYNOmTZgzZw7MzMwAAA0bNix2zv/atWvxzTff4F//+he8vLyKzUkqlUIsFsPExARWVlaVc+EkYPGvQ548eVLiPpFIJCys8a44IiIiIiLSPR06dBC+j4+Ph4eHh9rjwLt27YqMjAz89ddfePbsGXJyctC1a1dhv4GBATp16oT4+Pj3trV3716kpqYiOjoaHTt2rNgLoTLjsH8dcuHCBeF7Q0NDtX2FF/QoHEdERERERLrP1NRUa221a9cOlpaW2Lx5s9rK/lS1WPzrkMILdLz9Q1b4tSar/RMRERERkW5xdnbG+fPn1WqE6Oho1K1bF40aNUKzZs2E9QEK5OTk4D//+Q9cXFwA/Ldz8e1HjANvHi1+6tQpHDx4EFOnTn1nLmKxuNhzUMVj8a9DmjZtWqFxRERERESkez7//HM8ePAAU6dOxa1bt3Dw4EEsWLAAM2fOhJ6eHkxNTTFlyhTMmTMHx44dw82bNzFhwgRkZmZi3LhxAIAmTZpAJBLh119/xZMnT5CRkaHWRosWLXDq1Cns27cPAQEBJeZib2+PixcvIikpCU+fPkVeXl5lXnqtxjn/OmTAgAE4d+4cgDfP7iys8OsBAwZoNS8iIiIiIl2Xp0yrMe3Y2triyJEjmDNnDtq2bQszMzOMGzcO3377rRCzZMkS5OXlYfTo0Xjx4gXc3d1x/PhxNGjQQDjHwoULMW/ePIwZMwY+Pj7YunWrWjtOTk74/fffIZfLoa+vj+XLlxfJZfbs2fD19YWLiwtevXqFxMRE2Nvbl/saqSgW/zrk7btt5Y0jIiIiIqJ3k0qlEBsaQnX2V621KTY0hFQqLXV8ZGRkkW1eXl64dOlSiccYGRlh1apVWLVqVYkxgYGBCAwMfGdbzs7OUCgUwuu3bxC0aNEC58+fLzl5qjAs/nXI33//XaFxRERERET0bjKZDNvCw6FUKrXWplQqhUwm01p7pBtY/OuQ9PR0AIC+vj527tyJ4OBgKBQKyGQyzJ8/H8OHD0dubq4QR0RERERE5SeTyViMU7XH4l+H3L17F8CbFTdHjRolzPN/8uQJRo0aJayiWRBHREREREREtQNX+9chhoaGwvfvWvCvcBwRERERERHpPhb/OqR169YVGve23NxcXL16FSdPnsTVq1f5PE4iIiIiIqIagsP+dUhpH4lRlkdnnD59GmFhYXj8+LGwzcrKClOmTIGnp6fG5yMiIiIiIiLtYc+/Dvn9998rNK7A6dOnERQUhKZNm2Lt2rU4cuQI1q5di6ZNmyIoKAinT58uS7pERERERESkJSz+dcijR48qNA54M9Q/LCwMHh4eCAkJgYuLC4yNjeHi4oKQkBB4eHhg/fr1nAJARERERERUjbH41yGFF/U7cOAAvL294e7uDm9vbxw4cKDYuPe5du0aHj9+jJEjR0JPT/3joqenhxEjRiAlJQXXrl0rd/5ERERERERUOTjnX4fk5OQI3w8ZMkR4HRMTg8OHDxcb9z5paWkAAAcHh2L3F2wviCMiIiIiqm0UCgWUSqXW2pNKpZDJZKWOl8vlcHNzQ2hoaJnbvHXrFvz8/HD16lW0bNkSV69eLXabrsnMzMTo0aNx4sQJvHjxAunp6XBzc0NAQAACAgKqOj2NsPjXIRKJRPj+7QK/8OvCce9jbm4OAEhMTISLi0uR/YmJiWpxRERERES1iUKhgI+vL1TZ2VprU2xoiG3h4RrdACivBQsWwNTUFAkJCUI9Udw2XRMeHo4zZ87g3LlzsLCwgFQqreqUyozFvw7p0qULbty4Uaq40nJ1dYWVlRUiIiIQEhKiNvQ/Ly8PO3bsgLW1NVxdXcuUMxERERFRTaZUKqHKzoZxtxHQlzas9PZylal4dWYHlEqlVov/e/fuoX///mjSpMk7t2lKpVJBLBZXRIoVqiCve/fuwdnZucyPS69OOOdfhzRr1qxC4wBAX18fU6ZMwfnz5xEYGIgbN24gMzMTN27cQGBgIM6fP4/JkydDX1+/rGkTEREREdV4+tKG0DdvVPlfZbzB8Pr1a/j7+0MqlcLCwgKBgYHIz88HAIhEIrU1wgCgfv362Lp1q7A/NjYWwcHBEIlECAoKKnYbADx48ABDhw5F/fr1YWZmhkGDBiEpKUk4r5+fH7y9vfHdd9/BxsYGTk5O7809PT0dPj4+aNCgAUxMTNC3b1/cuXMHAPD8+XMYGxvj6NGjasf88ssvqFu3LjIzM8ucl1wux/Lly3H69GmIRCLI5fJi80tOTsagQYMgkUhQr149DB06FAqFAsCbm0P6+vqIiYkB8KYD1czMDB988IFw/M8//ww7O7v3vg/lxeJfh1y/fr1C4wp4enoiKCgI9+/fh7+/P/r37w9/f38kJiYiKCgInp6eZUmXiIiIiIi0JDw8HHXq1MGlS5ewcuVK/Pjjj9i4cWOpjk1JSUGrVq0wa9YspKSkYPbs2cVuy8nJQe/evVG3bl2cOXMG0dHRkEgk6NOnj9qi4ydPnkRCQgJOnDiBX3/99b3t+/n5ISYmBocOHcL58+eRn5+Pfv36IScnB/Xq1cOAAQOwY8cOtWMiIiLg7e0NExOTMue1f/9+TJgwAR4eHkhJScH+/fuL5JaXl4dBgwbh77//RlRUFE6cOIH79+9j2LBhAN6sz+Dm5obIyEgAbxZUF4lEuHLlCjIyMgAAUVFR8PLyKtW/RXlw2L8OEYlEAIBGjRrhr7/+KrK/YHtBnCY8PT3RtWtXXLt2DWlpaTA3N4erqyt7/ImIiIiIagA7OzusWLECIpEITk5OuHbtGlasWIEJEya891grKyvUqVMHEokEVlZWAN6sI/b2tp9//hl5eXnYuHGjUHNs2bIF9evXR2RkJHr16gUAMDU1xcaNG0s13P/OnTs4dOgQoqOjhenLERERsLOzw4EDBzBkyBCMHDkSo0ePRmZmJkxMTPD8+XMcPnwYv/zyCwBg9+7dZc7LxMQEYrFYuMa3nTx5EteuXUNiYqLQe79t2za0atUK//nPf9CxY0fI5XJERkZi9uzZiIyMxD/+8Q/cunULZ8+eRZ8+fRAZGYkvv/zyve9FebHnX4e0bdsWAIot/AtvL4jTlL6+Ptzc3NCjRw+4ubmx8CciIiIiqiE++OADtU5ADw8P3LlzB7m5uRXWRlxcHO7evYu6detCIpFAIpHAzMwMWVlZuHfvnhDn6upa6nn+8fHxqFOnDjp37ixsMzc3h5OTE+Lj4wEA/fr1g4GBAQ4dOgQA2LdvH+rVq4eePXtWWl6F87Ozs1Mbtu/i4oL69esL+Xl5eeHs2bPIzc1FVFQU5HK5cEPg0aNHuHv3bolTCioSe/51SHGr8ZcnjoiIiIiIdJ9IJBLm/xfQ5PHgBTIyMtChQwdEREQU2WdpaSl8b2pqqnmS7yAWi/Hpp59ix44d+Oyzz7Bjxw4MGzYMderUqdK8Cnh6euLFixe4fPkyTp8+jcWLF8PKygpLlixB27ZtYWNjA0dHx0ppuzAW/zpk3759pY4bNWpUJWdDNUlubi6ndBARERHpsIsXL6q9vnDhAhwdHaGvrw9LS0ukpKQI++7cuSMslKeJ9u3bY/fu3WjYsCHq1atX7pwBwNnZGa9fv8bFixeFYf9paWlISEhQ69QcOXIk/vGPf+DGjRv4/fffsWjRokrNq3B+Dx48wIMHD4Te/5s3b+LZs2dCfvXr10ebNm2wZs0aGBgYoGXLlmjYsCGGDRuGX3/9VSvz/QEO+9cp//rXvyo0jmqH06dPY9SoUZgxYwYWLVqEGTNmYNSoUTh9+nSx8bm5ubh69SpOnjyJq1evVuhQMSIiIiKqHMnJyZg5cyYSEhKwc+dOrF69GtOnTwcAfPTRR1izZg2uXLmCmJgYTJ48GQYGBhq3MXLkSFhYWGDQoEE4c+YMEhMTERkZiWnTppU4Nfl9HB0dMWjQIEyYMAFnz55FXFwcRo0aBVtbWwwaNEiI8/T0hJWVFUaOHAkHBwe1aQKVkVeBnj17wtXVFSNHjsTly5dx6dIl+Pj4wMvLC+7u7kKcXC5HRESEUOibmZnB2dkZu3fv1lrxz55/HfLkyZMKjSPdd/r0aQQFBcHDwwOBgYFwcHBAYmIiIiIiEBQUVORpDqdPn0ZYWBgeP34sbLOyssKUKVP41AciIiKq1XKVqdW6HR8fH7x69QqdOnWCvr4+pk+fjokTJwIAli9fjjFjxqBbt26wsbHBypUrERsbq3EbJiYmOH36NObOnYvBgwfjxYsXsLW1RY8ePcrV475lyxZMnz4dAwYMgEqlgqenJ44cOaJ2g0IkEmH48OH4/vvvMX/+fK3kVdDuwYMHMXXqVHh6ekJPTw99+vTB6tWr1eK8vLwQGhqqNrdfLpcjLi5OK/P9AUCU//bkDiqT58+fQyqVQqlUVvhQktLq3r17qWNPnTpViZmU7Pbt25g0aRI+kYtgWf/dTx148iwf+yLz8dNPP6FFixZayrD2yM3NxahRo9C0aVOEhIRAT++/A4Hy8vIQGBiIxMREbN++Hfr6+mo3CgruqBbcKDh//jwf+0iVoib8XiMiotojKysLiYmJcHBwgJGREQBAoVDAx9cXquxsreUhNjTEtvBwyGQyrbVJVae4z10BTepQ9vwT1VLXrl3D48ePERgYqFb4A4Cenh5GjBgBf39/XLt2Da6urggLC4OHh4fajQIXFxeEhIQgMDAQ69evR9euXblWABEREdUqMpkM28LDoVQqtdamVCpl4U8aY/FPpKPet4hfWloaAMDBwaHY4wu2p6WlaXSjwM3NrXIu6P9wcUIiIiKqbmQyGYvxMjpz5gz69u1b4v6MjAwtZqPbWPzXcpoUUgsWLFBbBM7T0xMLFy4sNnbp0qU4duyY8LpPnz6YO3duxSZfQT799FOhEAbePDd07969Wmt/9+7dWL9+vfB68uTJGDZsWLGxGRkZWLJkCR49egQbGxvMmzcPEomkSFxp5uabm5sDABITE4t9/GNiYqIQp8mNgrJQqVQ4dOgQHj58CFtbW3z88cfFPmP19OnTWLt2LVJT/zvXrWHDhvjiiy845YCoEN4kIyKimsLd3R1Xr16t6jRqBRb/b1m7di2WLVuGx48fo23btli9ejU6depU1WlVCk0Wbytu3u3p06fRvXv3IvNsi4s9duwYjh07hp9++qmCsq8YxeWalpZW7HVpq/3169dj/fr1RdqfMmUKbt26JbxOTEzEwIED0bJlS4SFhQnbS7uIn6urK6ysrBAREVHsnP8dO3bA2toarq6uuHbtmtDm+24UaGr9+vXYu3ev2lMD1q9fj08//RSTJ09Wu64FCxYUOT41NRULFizAwoULeQOACFyYk4iIahZjY2M0b968qtOoFbjgXyG7d++Gj48P1q9fj86dOyM0NBT//Oc/kZCQgIYNG77z2Jq24N/ChQtLvXhbac5bUKiWNofqsOCfJtdVGd5uv3AP+9vtFxT+IpEI//jHPzB06FDs2bMHJ06cQH5+vnADoDyL+I0YMUL4HOzYsUPtc6DpebOyspCcnFzsdTdu3FhYqGT9+vXYvXs3GjRogHHjxsHDwwPnz5/Hpk2bkJ6ejmHDhmHy5MnIzc1F3759kZOTAwDo1auX8B78+9//BgAYGBjg6NGjVd67effuXdy8eRP37t0rMaZZs2ZwcXHhf3SlwAX/NMOFOYmIKte7Fl4jqiwVteAfi/9COnfujI4dO2LNmjUA3hQ1dnZ2mDp1KubNm/fOY2ta8W9lZVWqQi44OFgY6l9QiBUoKNyAN1MATExMhKH+Y8aMgY+PjxC7bds2bNmyRXhd1cV/4aH+rVu3VnsUx9SpU3H9+nUAlTcFoPBQ/7lz56JPnz7CvmPHjmHp0qUA3kwB6N+/PwYOHAiRSIQjR46o/cBnZWWhX79+yM/Px7/+9S/cvXsXM2bMwNq1a4vtob9x4wb8/f0xY8YMmJiYICcnBzExMbh06ZLafCqJRIIePXqgdevWaNSoEVq2bFmqGwVOTk5QKpVITk7Gd999V+y1f/PNN2jcuDFMTU3h6+uLevXqYc+ePahT578DkV6/fo2hQ4fi+fPnOHLkCGJjY/H1118DAI4ePVrkPSiYJ7Z48WJ4eHho/O9RWqW5qREQEIC4uLj3nqtt27YIDQ2t4Ax1D4v/0tP0Jh0REWmOxT9VBa72X8FUKhViY2Px1VdfCdv09PTQs2dPnD9/vkh8dnY2sgs9zuP58+daybMkd+/e1Sj+8ePHkMvlWLlyZZF9+vr6SElJwZYtW9Tm+L969QorVqwo9nyF44A3Q+dLigWAZEU+nirzkZlV/H4TI5S4ryR3795FUlISMjMzS+x1bdasGUxMTNR62Js2baqWa9OmTYXiv6xz2N+n8Bz/+Ph4xMfHlxh38uRJAICtra3a8P4CNjY2ePjwIWbOnInWrVsDAA4fPozjx48XiX39+jUAYEVoKPCO+34ZGRk4ePAgDh48CJFIhC+++AIGBgZwd3fHlStXcO7cOSHW2NgY/fv3x5MnTxAcEoLc/2ujJG/fFGjcuHGR56AWbI+Li8OyZcuEfw8bG5ti3wNra2ukpKRg1apVePnyZak+A3p6esjLy9Mo9sGDB9i2bVuxsT4+PrCzs8PHH3+Mjz766L09/xKJBL/99lup2re3t6+VowQ0/b1WU2jyu0qTz2lycjIeP34MR0fHd/5uP3r0KAYMGFCh11TTaPJvUFt//qhyVIfPXmlHqEkkklL//tEkV01/B2ZkZFRIrpV9XUQ1AXv+/8+jR49ga2uLc+fOqfUcfvnll4iKisLFixfV4oOCgopd7K6qev5L29tY0+jr6SFix45SrZ5aWe9BZfQmatKbKRKJUNofUyMjI2RlaXjXpJqrU6eOcNOiIpmamuLly5cVHlvaHn1NPq+1dZSApj/TNaXnX5Pr0uSzJxaLoVKp3hvXuHFjhIeHl+qcuoo/f1RVqsNnr7Q5VMb/fZq0r0kO2vw/nT3/VBXY81/FvvrqK8ycOVN4/fz5c9jZ2VVZPv7+/pgwYYJGx3z22WfIzMwssj09PR1nzpzByJEjERERIWz/+OOPi8QeOnSo2HO/L/abb75BTk4Onj59WuzxFhYWMDAwQKNGjUr92BR/f/9S30ku3PusyXVVhve137x5c9y5cweNGjVC+/bti8TGxsbi4cOHcHR0xLBhw7Bq1SoYGxujU6dOEIn+O7UiPz8fly5dwqtXrzBv3jyYm5tDpVKpLQpWmJWVFcRiMdLT0/HixYtSva/5+fkQiUSl+re9cOECTp48ibZt26JJkyZF4v7880/ExcVBLpcjKSkJd+/ehZGREf7xj38Uua4TJ04gKysLzZs3x7Bhwyqt578012Vvb1/s/rdp8nkt7Tl1TVl+r9UEmvzba9rzv337dnTr1g0NGjQoElfwu33IkCEVej01EX/+qKpUh8+ev79/pfT8a9J+Ter5J9IlLP7/j4WFBfT19aFQKNS2KxQKWFlZFYk3NDSEoaGhttJ7L02HJFlZWSE5ObnEeaHW1tYYM2YMHjx4IAzpNzY2LjLnv8Dbc/7Nzc2LzPkv0KdPH/Ts2VOzCyyF5s2bl/p9WL9+vTCk//79+0Xm/Bcoy+r1pTF58mTh/XN2di4y57+g+C885//hw4fYsGFDsXP+AeDHH3+ERCKBgYEBgoKCkJaWVmRufmpqqjBvv0DBVAFt8/T0RGRkJJKTk/HDDz8UO+dfX18fc+bMgUqlwsCBA5GVlYXU1FSMHj1auK7t27cLox1WrFhR7KMPqyNNPq+1la6+P5X1b5+bm4sTJ04gNzcX06dPL/F3+7uepVxb8OePqkp1+OxVdQ5V3X5lUSgUUCqVWmtPKpWWuoMMAORyOdzc3DiSqZbjsP9COnfujE6dOgmFYF5eHho3bgx/f/8aseAfUPoV7Eu7yrsm59Q0tqpVda5vt1+/fn08e/as2PYLr/bfo0cPDBkyBP/85z9x8uRJtdX+CxT3qC9ra2tMnjy5Wq30XXi1/zFjxgir/W/ZskVttX+g6KMO3/b2e0C6o6p/VmsSTX63ExGR5oobfq1QKODj6wtVofXAKpvY0BDbwsNLfQPg77//hoGBAerWrVvJmVFl4Gr/lWD37t3w9fXFTz/9hE6dOiE0NBR79uzBrVu33vuDVV2Kf+DdfygX/gNZkwKxtOfUNLaqVXWumrRfUvFbUtGbm5uLa9euIS0tDebm5nB1da2WK3yvX78ee/fuRW5urrBNX18fn376qdpIE0Dz94B0R1X/rNYkNeXmHxFRTVRcEXb79m1MmjQJjt0mw7i+baXn8OrZQ9w5s77SHodN1Q+L/0qyZs0aLFu2DI8fP4abmxtWrVqFzp07v/e46lT8A8X/oVzcH8iaFIgLFixQW9Xf09Oz2EUPAWDp0qXCFADgzVD/uXPnanoZWlH4sX9A5T3erySFH/sHvBnqP2zYsGJjMzIysGTJEjx69Ag2NjaYN29ejRnm/i4qlQqHDh3Cw4cPYWtri48//hhisbjYWF19D+j9Svt7jWrOzT8ioprmXcV/m4EhkJjbV3oOGWlJ+ONfgRoV/4WH/dvb22P8+PG4ffs29u/fD3Nzc6xevRoeHh4YP348Tp48iaZNm2Lz5s1wd3cH8OYJWP7+/jh9+jTS09PRrFkzfP311xg+fLhaGwXTSbdv3w4DAwNMmTIFwcHBaus1keZY/Fcz1a34JyIiIiKiiqUrxf+LFy+wePFifPTRR1ixYgUiIiLQpUsXjB07Fm3btsXcuXORkJCAGzduQCQS4eHDh9i5cyd69uyJevXq4fDhw5gxYwbOnTuHTp06CW3ExsZi3LhxmDJlCmJiYjBx4kSEhobq5AK+2sTV/omIiIiIiEhj/fr1w6RJkwAA8+fPR1hYGDp27Cg8EWbu3Lnw8PAQFj+3tbXF7NmzheOnTp2K48ePY8+ePULxDwB2dnZYsWIFRCIRnJyccO3aNaxYsYLFfzWh9/4QIiIiIiIi0hVt2rQRvi9Y28zV1bXIttTUVABvppOFhITA1dUVZmZmkEgkOH78OJKTk9XO+8EHH6gN8ffw8MCdO3fU1naiqsOefyIiIiIiolrEwMBA+L6gWC9uW15eHgBg2bJlWLlyJUJDQ+Hq6gpTU1MEBARApVJpMWsqLxb/REREREREVKLo6GgMGjQIo0aNAvDmpsDt27fh4uKiFnfx4kW11xcuXICjoyMXna0mOOyfiIiIiIiISuTo6IgTJ07g3LlziI+Px6RJk6BQKIrEJScnY+bMmUhISMDOnTuxevVqTJ8+vQoypuKw55+IiIiIiKicXj17qFPtFPbtt9/i/v376N27N0xMTDBx4kR4e3tDqVSqxfn4+ODVq1fo1KkT9PX1MX36dEycOFHr+VLxWPwTERERERGVkVQqhdjQEHfOrNdam2JDQ0il0lLHR0ZGCt8nJSUV2f/209/t7e3VtpmZmeHAgQPvbcfAwAChoaEICwsrdW6kPSz+iYiIiIiIykgmk2FbeHiRXvDKJJVKhRX5iUqLxT8REREREVE5yGQyFuNU7bH4JyIiIiIionIpPLWAqicW/xWkYE7M8+fPqzgTIiIiIiKqDCqVCnl5ecjNzUVubm5Vp0O1RG5uLvLy8pCRkQGVSqW2r6D+fHvdhuKw+K8gL168AADY2dlVcSZERERERFQZmjRpgvXr1+PVq1dVnQrVMk+fPkX//v3x559/Frv/xYsX710EUpRfmlsE9F55eXl49OgR6tatC5FIVNXpkA57/vw57Ozs8ODBA9SrV6+q0yEiKjf+XiOimkKlUkGhUMDe3h5GRkYlxuXm5uKPP/5AmzZtoK+vr8UMSRdlZWUhKSkJMpkMYrFYbV9+fj5evHgBGxsb6OnpvfM87PmvIHp6emjUqFFVp0G1SL169fhHMhHpFP5eI6LqLisrC0+ePIG+vn6pivrSxhG9i76+PvT09CCRSIq96VTaxz6++9YAEREREREREdV4LP6JiIiIiIiIdByH/RPVMIaGhliwYAEMDQ2rOhUiogrB32tEVNMpFAoolUrhdV5eHrKzs3Hnzp33zsMuC6lUCplMVuHnJd3GBf+IiIiIiIhKISsrC4mJiXBwcBDmXisUCvj6+iI7O1treRgaGiI8PJw3AMopKSkJDg4OuHLlCtzc3Ko6nRIV97krC/b8ExERERERlZFSqUR2djbkXf1Rv55tpbf37PlDREavgVKprDbFv0qlKrIKfW2Tk5MDAwODqk7jnTjnn4iIiIiIqJzq17OFhblDpX+V5QbDr7/+ivr16yM3NxcAcPXqVYhEIsybN0+IGT9+PEaNGoW0tDQMHz4ctra2MDExgaurK3bu3Kl2PrlcDn9/fwQEBMDCwgK9e/cGAFy/fh19+/aFRCKBTCbD6NGj8fTpUwBvetlFIlGRL7lcDgDYunUr6tevj19//RVOTk4wMTHBp59+iszMTISHh8Pe3h4NGjTAtGnThOsAgO3bt8Pd3R1169aFlZUVRowYgdTUVGF/eno6Ro4cCUtLSxgbG8PR0RFbtmwBADg4OAAA2rVrp5YLAGzcuBHOzs4wMjJCy5YtsW7dOmFfwbXs3r0bXl5eMDIyQkREhMb/LtrG4p+IiIiIiEiHdevWDS9evMCVK1cAAFFRUbCwsEBkZKQQExUVBblcjqysLHTo0AGHDx/G9evXMXHiRIwePRqXLl1SO2d4eDjEYjGio6Oxfv16PHv2DB999BHatWuHmJgYHDt2DAqFAkOHDgUA2NnZISUlRfi6cuUKzM3N4enpKZwzMzMTq1atwq5du3Ds2DFERkbif/7nf3DkyBEcOXIE27dvx08//YS9e/cKx+Tk5CAkJARxcXE4cOAAkpKS4OfnJ+wPDAzEzZs3cfToUcTHxyMsLAwWFhYAIFzTb7/9hpSUFOzfvx8AEBERgfnz5+O7775DfHw8Fi9ejMDAQISHh6u9B/PmzcP06dMRHx8v3ACpzjjsn4iIiKoFkUiEX375Bd7e3lWdChER5HI53NzcEBoaWtWplJtUKoWbmxsiIyPh7u6OyMhIzJgxAwsXLkRGRgaUSiXu3r0LLy8v2NraYvbs2cKxU6dOxfHjx7Fnzx506tRJ2O7o6Ijvv/9eeL1o0SK0a9cOixcvFrZt3rwZdnZ2uH37Nlq0aAErKysAb+awe3t7w8PDA0FBQUJ8Tk4OwsLC0KxZMwDAp59+iu3bt0OhUEAikcDFxQXdu3fHqVOnMGzYMADA2LFjheObNm2KVatWoWPHjsjIyIBEIkFycjLatWsHd3d3AIC9vb0Qb2lpCQAwNzcXcgOABQsWYPny5Rg8eDCANyMEbt68iZ9++gm+vr5CXEBAgBBTE7D4J6pmdOk/GiIiIqKaav/+/dV+DrcmvLy8EBkZiVmzZuHMmTP43//9X+zZswdnz57F33//DRsbGzg6OiI3NxeLFy/Gnj178PDhQ6hUKmRnZ8PExETtfB06dFB7HRcXh1OnTkEikRRp+969e2jRooXweuzYsXjx4gVOnDih9jQEExMTofAHAJlMBnt7e7VzymQytWH9sbGxCAoKQlxcHNLT05GXlwcASE5OhouLC6ZMmYJPPvkEly9fRq9eveDt7Y0uXbqU+D69fPkS9+7dw7hx4zBhwgRh++vXryGVStViC24o1BQs/omIiIiIiN5iZmZW1SlUKLlcjs2bNyMuLg4GBgZo2bIl5HI5IiMjkZ6eDi8vLwDAsmXLsHLlSoSGhsLV1RWmpqYICAiASqVSO5+pqana64yMDAwcOBBLly4t0ra1tbXw/aJFi3D8+HFcunQJdevWVYt7+2aLSCQqdltBgf/y5Uv07t0bvXv3RkREBCwtLZGcnIzevXsL+fbt2xd//vknjhw5ghMnTqBHjx744osv8MMPPxT7PmVkZAAANmzYgM6dO6vt09fXf+d7UN1xzj9RNeLn54eoqCisXLlSWAQlKSkJN27cwIABA1CvXj3UrVsX3bp1w71794RjvL29sXDhQlhaWqJevXqYPHlykV/QRETaZG9vX2QEk5ubmzC8886dO/D09ISRkRFcXFxw4sQJtdiCxZR27dqFLl26wMjICK1bt0ZUVJSWroCIaju5XI6AgAAAQHZ2NubOnQu5XI4///wTt2/fxpMnTwC8madeExTM+1+xYoVQ6BcU/5GRkcJid9HR0Rg0aBBGjRqFtm3bomnTprh9+/Z7z9++fXvcuHED9vb2aN68udpXQZG8b98+BAcHY8+ePWo9/GV169YtpKWlYcmSJejWrRtatmypNiqggKWlJXx9ffHzzz8jNDQU/+///T8AEJ5QUHgBQZlMBhsbG9y/f7/IdRQsEFhTseefqBpZuXIlbt++jdatWyM4OBjAm19Gnp6ekMvl+P3331GvXj1ER0fj9evXwnEnT56EkZERIiMjkZSUhDFjxsDc3BzfffddVV0KEVGJ8vLyMHjwYMhkMly8eBFKpVL4A/ttc+bMQWhoKFxcXPDjjz9i4MCBSExMhLm5uXaTJqJazcfHB+fPn8fatWtha2sLa2trteHqNUGDBg3Qpk0bREREYM2aNQAAT09PDB06FDk5OcINAUdHR+zduxfnzp1DgwYN8OOPP0KhUMDFxeWd5//iiy+wYcMGDB8+HF9++SXMzMxw9+5d7Nq1Cxs3bkR8fDx8fHwwd+5ctGrVCo8fPwbwpgAv6yiLxo0bQywWY/Xq1Zg8eTKuX7+OkJAQtZj58+ejQ4cOaNWqFbKzs/Hrr7/C2dkZANCwYUMYGxvj2LFjaNSoEYyMjCCVSrFw4UJMmzYNUqkUffr0QXZ2NmJiYpCeno6ZM2eWKdfqgMU/UTUilUohFothYmIiLDry9ddfQyqVYteuXcKwp8JzpoA3vzQ3b94MExMTtGrVCsHBwZgzZw5CQkJq3H9MRKT7fvvtN9y6dQvHjx+HjY0NAGDx4sXo27dvkVh/f3988sknAICwsDAcO3YMmzZtwpdffqnVnImo9rp9+zb27NmDEydO4MMPP0RiYiIkEgmMjIzU4p49f6iVfMrTjpeXF65evSr08puZmcHFxQUKhQJOTk4AgG+//Rb3799H7969YWJigokTJ8Lb2xtKpfKd57axsUF0dDTmzp2LXr16ITs7G02aNEGfPn2gp6eHmJgYZGZmYtGiRVi0aJFaToWfOqAJS0tLbN26FV9//TVWrVqF9u3b44cffsDHH38sxIjFYnz11VdISkqCsbExunXrhl27dgEA6tSpg1WrViE4OBjz589Ht27dEBkZifHjx8PExATLli3DnDlzYGpqCldX1xJvVNcUovz8/PyqToKI/uvtBf/69esHS0vLIo8WKeDn54fk5GT8/vvvwra4uDi4ubkhKSkJTZo00UbaRERq7O3tERAQoPaHkpubG7y9vdGgQQOsXLkS9+/fF/YplUrUr19fWO0/KSkJDg4OiIqKUnsM1P/8z/+gfv36wjOaiYgqS8HfZF26dMGIESPw6tUr5ObmIjExEQ4ODkLxf//+fUyePAU5OdqbcmloaIjw8HDIZDKttUlVJysrq8jnrizY809UzRkbG1d1CkREGtPT08Pb/Qs5OTlVlA0RUdm9728xS0tLzJkzG40aNRIWhHv27JlabzoAPHnyBC9evEDTpk0BAH/++ScMDAyEEVAA8OLFC/z1119o2bIlRCJRiW1KpVIW/qQxFv9E1YxYLFZbdKRNmzYIDw9HTk5OiY+biYuLw6tXr4T/nC5cuACJRAI7Ozut5ExE9DZLS0ukpKQIr58/f47ExEQAgLOzMx48eICUlBRhBegLFy4Ue54LFy4IPf+vX79GbGws/P39Kzl7IqL/cnV1RV5eHqKiovDhhx8WG9OgQQM4OjqiTp035dXTp09hYGCgNlVTIpEgPT1d2Jafn4+cnBy1mL/++guGhoZqNw2IKgonAxNVM/b29rh48SKSkpLw9OlT+Pv74/nz5/jss88QExODO3fuYPv27UhISBCOUalUGDduHG7evIkjR45gwYIF8Pf353x/IqoyH330EbZv344zZ87g2rVr8PX1FXrEevbsiRYtWsDX1xdxcXE4c+YMvvnmm2LPs3btWvzyyy+4desWvvjiC6Snp2Ps2LHavBQiquXs7e3h6+uLsWPH4rfffsPr16/x8uVL/P333+U+t0qlwoMHD5CVlYW0tDSkpqayR58qDSsDompm9uzZ0NfXh4uLCywtLfHixQv8/vvvyMjIgJeXFzp06IANGzaojQLo0aMHHB0d4enpiWHDhuHjjz8WHqdFRFQVvvrqK3h5eWHAgAHo378/vL29hcc66enp4ZdffsGrV6/QqVMnjB8/vsSnkyxZsgRLlixB27ZtcfbsWRw6dAgWFhbavBQiIoSFheHTTz9FcHAwHj58iIcPHwrPmi8Pc3Nz5OXlIT4+HsnJyZDJZPwdR5WGC/4R1XB+fn549uwZDhw4UNWpEBFVmIIF/65cuQI3N7eqToeICEDFLbwGAAkJCTA2Nkbjxo0rKDvSVRX1uWPPPxEREREREZGOY/FPREREREREpOM47J+IiIiIiKgUKnLYP1Fpcdg/EREREREREZVKnapOgIiIiIiIqCZTKBRQKpVaa08qlVboIwHt7e0REBCAgICAEmNu3boFPz8/XL16FS1btsTVq1crrH3SDhb/REREREREZaRQKODr44tsVbbW2jQUGyJ8W3iF3gB4nwULFsDU1BQJCQmQSCRaa5cqDot/IiIiIiKiMlIqlchWZcO7/eewqGtb6e09ffEQBy6vg1Kp1Grxf+/ePfTv3x9NmjTRWptUsVj8ExERUbUll8vh5uaG0NDQqk6FiOidLOrawrq+Q1WnUSy5XI7WrVsDALZv3w4DAwNMmTIFwcHBEIlEAIDMzEyMHTsW//znP9GgQQN8++23mDhxIgAIMbGxsQgODsaCBQsQFBRUJddCZccF/4iIiOi97O3tq30BXhNyJCKqKuHh4ahTpw4uXbqElStX4scff8TGjRuF/cuXL4e7uzuuXLmCzz//HFOmTEFCQgIAICUlBa1atcKsWbOQkpKC2bNnV9VlUDmw+CciIqrFVCpVVadARERaYGdnhxUrVsDJyQkjR47E1KlTsWLFCmF/v3798Pnnn6N58+aYO3cuLCwscOrUKQCAlZUV6tSpA4lEAisrK875r6FY/BMREekQuVwOf39/+Pv7QyqVwsLCAoGBgcjPzwfwpnc8JCQEPj4+qFevnjCkc9++fWjVqhUMDQ1hb2+P5cuXq53zzz//xIwZMyASiYThn+87DgCys7Mxd+5c2NnZwdDQEM2bN8emTZuE/VFRUejUqRMMDQ1hbW2NefPm4fXr12W67rdzfPnyJerVq4e9e/eqxR44cACmpqZ48eIFkpKSIBKJsGvXLnTp0gVGRkZo3bo1oqKi1I65fv06+vbtC4lEAplMhtGjR+Pp06ca50lEVFU++OADtd/fHh4euHPnDnJzcwEAbdq0EfaJRCJYWVkhNTVV63lS5WHxT0REpGPeN7Tzhx9+QNu2bXHlyhUEBgYiNjYWQ4cOxWeffYZr164hKCgIgYGB2Lp1KwBg//79aNSoEYKDg5GSkoKUlBQAeO9xAODj44OdO3di1apViI+Px08//ST0GD18+BD9+vVDx44dERcXh7CwMGzatAmLFi3S+JqLy9HU1BSfffYZtmzZoha7ZcsWfPrpp6hbt66wbc6cOZg1axauXLkCDw8PDBw4EGlpaQCAZ8+e4aOPPkK7du0QExODY8eOQaFQYOjQoRrnSURUXRkYGKi9FolEyMvLq6JsqDJwwT8iIiIdUzC0UyQSwcnJCdeuXcOKFSswYcIEAMBHH32EWbNmCfEjR45Ejx49EBgYCABo0aIFbt68iWXLlsHPzw9mZmbQ19dH3bp1YWVlJRz3448/vvO427dvY8+ePThx4gR69uwJAGjatKlw/Lp162BnZ4c1a9ZAJBKhZcuWePToEebOnYv58+dDT6/0fRQl5Th+/Hh06dIFKSkpsLa2RmpqKo4cOYLffvtN7Xh/f3988sknAICwsDAcO3YMmzZtwpdffok1a9agXbt2WLx4sRC/efNm2NnZ4fbt22jRokWp8yQiqioXL15Ue33hwgU4OjpCX1+/ijIibWPPPxERkY5539BOd3d3tfj4+Hh07dpVbVvXrl3VjinO+467evUq9PX14eXlVeLxHh4earl27doVGRkZ+Ouvv0p3se/RqVMntGrVCuHh4QCAn3/+GU2aNIGnp6danIeHh/B9nTp14O7ujvj4eABAXFwcTp06BYlEIny1bNkSwJtHXxER1QTJycmYOXMmEhISsHPnTqxevRrTp0+v6rRIi9jzT0REVMuYmppqpR1jY2OttPM+48ePx9q1azFv3jxs2bIFY8aMUbvh8D4ZGRkYOHAgli5dWmSftbV1RaZKRDXY0xcPq3U7Pj4+ePXqFTp16gR9fX1Mnz5dWPeFagcW/0RERDpG06Gdzs7OiI6OVtsWHR2NFi1aCMeIxeIiowDed5yrqyvy8vIQFRUlDPt/+/h9+/YhPz9fKMajo6NRt25dNGrUSLOLLiFHABg1ahS+/PJLrFq1Cjdv3oSvr2+RmAsXLgijAV6/fo3Y2Fj4+/sDANq3b499+/bB3t4ederwTyciUieVSmEoNsSBy+u01qah2BBSqVSjYwwMDBAaGoqwsLAi+5KSkopsu3r16jtfU83D/8GIiIh0TMHQzkmTJuHy5ctYvXp1kVX4C5s1axY6duyIkJAQDBs2DOfPn8eaNWuwbt1//5C1t7fH6dOn8dlnn8HQ0BAWFhbvPc7e3h6+vr4YO3YsVq1ahbZt2+LPP/9Eamoqhg4dis8//xyhoaGYOnUq/P39kZCQgAULFmDmzJkazfd/V44A0KBBAwwePBhz5sxBr169ir2xsHbtWjg6OsLZ2RkrVqxAeno6xo4dCwD44osvsGHDBgwfPhxffvklzMzMcPfuXezatQsbN27kfFmiWk4mkyF8WziUSqXW2pRKpZDJZFprj3QDi38iIiIdo+nQzvbt22PPnj2YP38+QkJCYG1tjeDgYPj5+QkxwcHBmDRpEpo1a4bs7Gzk5+eX6riwsDB8/fXX+Pzzz5GWlobGjRvj66+/BgDY2triyJEjmDNnDtq2bQszMzOMGzcO3377bZmuu7gcC4wbNw47duwQCvq3LVmyBEuWLMHVq1fRvHlzHDp0SLh5YGNjg+joaMydOxe9evVCdnY2mjRpgj59+pTpJgUR6R6ZTMZinKo9UX7h/xmJiIioRpPL5XBzc0NoaGhVp1KtbN++HTNmzMCjR48gFouF7UlJSXBwcMCVK1fg5uZWdQkSUY2QlZWFxMREODg4wMjIqKrToVqioj537PknIiIinZWZmYmUlBQsWbIEkyZNUiv8iYiIahOOVSMiIqJq78yZM2qP2nv7qyTff/89WrZsCSsrK3z11VdazJiIiKh64bB/IiIiqvZevXqFhw9LfrxV8+bNtZgNEdVWHPZPVYHD/omIiKjWMDY2ZoFPRERUDhz2T0RERERERKTjWPwTERERERER6TgO+yciIiIiIioHhUIBpVKptfakUilkMlmp47XxGNigoCAcOHAAV69erbQ2qHxY/BMREREREZWRQqGAr48vslXZWmvTUGyI8G3hGt0AIGLxT0REREREVEZKpRLZqmz4Ok2GlYltpbf3OPMhwhPWQ6lUsvgnjbD4JyIiIiIiKicrE1s0lthXdRrvtX37dqxcuRIJCQkwNTXFRx99hNDQUDRs2BAAEBkZie7du+O3337D3LlzcfPmTbi5uWHLli1wcnISzrNkyRKsWLECmZmZGDp0KCwtLavqkqiUuOAfERERERFRLZGTk4OQkBDExcXhwIEDSEpKgp+fX5G4b775BsuXL0dMTAzq1KmDsWPHCvv27NmDoKAgLF68GDExMbC2tsa6deu0eBVUFuz5JyIiIiIiqiUKF/FNmzbFqlWr0LFjR2RkZEAikQj7vvvuO3h5eQEA5s2bh/79+yMrKwtGRkYIDQ3FuHHjMG7cOADAokWL8NtvvyErK0u7F0MaYc8/ERERERFRLREbG4uBAweicePGqFu3rlDgJycnq8W1adNG+N7a2hoAkJqaCgCIj49H586d1eI9PDwqM22qACz+iYiIiIiIaoGXL1+id+/eqFevHiIiIvCf//wHv/zyCwBApVKpxRoYGAjfi0QiAEBeXp72kqUKx+KfiIiIiIioFrh16xbS0tKwZMkSdOvWDS1bthR68zXh7OyMixcvqm27cOFCRaVJlYTFPxERERERUS3QuHFjiMVirF69Gvfv38ehQ4cQEhKi8XmmT5+OzZs3Y8uWLbh9+zYWLFiAGzduVELGVJG44B8REREREVE5Pc58WO3bsbS0xNatW/H1119j1apVaN++PX744Qd8/PHHGp1n2LBhuHfvHr788ktkZWXhk08+wZQpU3D8+PEy50aVT5Sfn59f1UkQERERERFVd1lZWUhMTISDgwOMjIwAAAqFAr4+vshWZWstD0OxIcK3hUMmk2mtTao6xX3uyoI9/0RERERERGUkk8kQvi0cSqVSa21KpVIW/qQxFv9ERERERETlIJPJWIxTtccF/4iIiIiIiIh0HIt/IiIiIiIiIh3H4p+IiIiIiIhIx7H4JyIiIiIiItJxLP6JiIiIiIiIdByLfyIiIiIiIiIdx+KfiIiIiIiISMfVqeoEiIiIiIiIajKFQgGlUqm19qRSKWQyWanj5XI53NzcEBoaWmk5aaONktjb2yMgIAABAQGlio+MjET37t2Rnp6O+vXrV2pu1QmLfyIiIiIiojJSKBTw9fFFtipba20aig0Rvi1coxsARCz+iYiIiIiIykipVCJblY3J9r6wMbaq9PYevXqM9UnhUCqVLP5JI5zzT0REREREVE42xlawN7Gr9K/y3mBIT0+Hj48PGjRoABMTE/Tt2xd37twR9qelpWH48OGwtbWFiYkJXF1dsXPnTrVzvHz5Ej4+PpBIJLC2tsby5cuLtGNvb49FixYJcU2aNMGhQ4fw5MkTDBo0CBKJBG3atEFMTIzacfv27UOrVq1gaGgIe3v7IudOTU3FwIEDYWxsDAcHB0RERKjtT0pKgkgkwtWrV4Vtz549g0gkQmRkZInvy9mzZ9GtWzcYGxvDzs4O06ZNw8uXL9/3dtYoLP6JiIiIiIhqCT8/P8TExODQoUM4f/488vPz0a9fP+Tk5AAAsrKy0KFDBxw+fBjXr1/HxIkTMXr0aFy6dEk4x5w5cxAVFYWDBw/i3//+NyIjI3H58uUiba1YsQJdu3bFlStX0L9/f4wePRo+Pj4YNWoULl++jGbNmsHHxwf5+fkAgNjYWAwdOhSfffYZrl27hqCgIAQGBmLr1q1q+T948ACnTp3C3r17sW7dOqSmppbrPbl37x769OmDTz75BH/88Qd2796Ns2fPwt/fv1znrW447J+IiIiIiKgWuHPnDg4dOoTo6Gh06dIFABAREQE7OzscOHAAQ4YMga2tLWbPni0cM3XqVBw/fhx79uxBp06dkJGRgU2bNuHnn39Gjx49AADh4eFo1KhRkfb69euHSZMmAQDmz5+PsLAwdOzYEUOGDAEAzJ07Fx4eHlAoFLCyssKPP/6IHj16IDAwEADQokUL3Lx5E8uWLYOfnx9u376No0eP4tKlS+jYsSMAYNOmTXB2di7X+/K///u/GDlypLBgoKOjI1atWgUvLy+EhYXByMioXOevLtjzT0REREREVAvEx8ejTp066Ny5s7DN3NwcTk5OiI+PBwDk5uYiJCQErq6uMDMzg0QiwfHjx5GcnAzgTS+5SqVSO4eZmRmcnJyKtNemTRvh+4L1CVxdXYtsK+i5j4+PR9euXdXO0bVrV9y5cwe5ublC/h06dBD2t2zZstwr9sfFxWHr1q2QSCTCV+/evZGXl4fExMRynbs6Yc8/ERERERERAQCWLVuGlStXIjQ0FK6urjA1NUVAQABUKpXG5zIwMBC+F4lEJW7Ly8srZ9b/paf3pn+7YCoBAGFKQ0kyMjIwadIkTJs2rci+xo0bV1huVY09/0RERERERLWAs7MzXr9+jYsXLwrb0tLSkJCQABcXFwBAdHQ0Bg0ahFGjRqFt27Zo2rQpbt++LcQ3a9YMBgYGaudIT09XiylPftHR0WrboqOj0aJFC+jr66Nly5Z4/fo1YmNjhf0JCQl49uyZ8NrS0hIAkJKSImwrvPhfcdq3b4+bN2+iefPmRb7EYnG5r6u6YPFPRERERERUCzg6OmLQoEGYMGECzp49i7i4OIwaNQq2trYYNGiQEHPixAmcO3cO8fHxmDRpEhQKhXAOiUSCcePGYc6cOfj9999x/fp1+Pn5CT3u5TFr1iycPHkSISEhuH37NsLDw7FmzRphDQInJyf06dMHkyZNwsWLFxEbG4vx48fD2NhYOIexsTE++OADLFmyBPHx8YiKisK33377znbnzp2Lc+fOwd/fH1evXsWdO3dw8OBBLvhHRERERERE6h69elwj2tmyZQumT5+OAQMGQKVSwdPTE0eOHBGG43/77be4f/8+evfuDRMTE0ycOBHe3t5QKpXCOZYtW4aMjAwMHDgQdevWxaxZs9T2l1X79u2xZ88ezJ8/HyEhIbC2tkZwcDD8/PzU8h8/fjy8vLwgk8mwaNEiYYHAAps3b8a4cePQoUMHODk54fvvv0evXr1KbLdNmzaIiorCN998g27duiE/Px/NmjXDsGHDyn1N1Ykov/BkCCIiIiIiIipWVlYWEhMT4eDgIKwAr1Ao4Ovji2xVttbyMBQbInxbuLBgHum24j53ZcGefyIiIiIiojKSyWQI3xZeIT3fpSWVSln4k8ZY/BMREREREZWDTCZjMU7VHhf8IyIiIiIiItJxLP6JiIiIiIiIdByLfyIiIiIiIiIdx+KfiIiIiIiISMex+CciIiIiIiLScSz+iYiIiIiIiHQci38iIiIiIiIiHVenqhMgIiIiIiKqyRQKBZRKpdbak0qlkMlkWmuPdAOLfyIiIiIiojJSKBTw9fFFtipba20aig0Rvi2cNwBIIyz+iYiIiIiIykipVCJblY0pzf8HNsaWld7eo1dPEHb3FyiVShb/pBEW/0REREREROVkY2wJB4l1VadRor1792LhwoW4e/cuTExM0K5dOxw8eBBffPEFnj17hnbt2mHNmjXIzs7GiBEjsGrVKojFYmzbtg0zZszAo0ePYGhoKJzP29sbdevWxfbt26vwqkgTXPCPiIiIiIhIh6WkpGD48OEYO3Ys4uPjERkZicGDByM/Px8AcPLkSWH7zp07sX//fixcuBAAMGTIEOTm5uLQoUPC+VJTU3H48GGMHTu2Sq6HyobFPxERERERkQ5LSUnB69evMXjwYNjb28PV1RWff/45JBIJAEAsFmPz5s1o1aoV+vfvj+DgYKxatQp5eXkwNjbGiBEjsGXLFuF8P//8Mxo3bgy5XF5FV0RlweKfiIiIiIhIh7Vt2xY9evSAq6srhgwZgg0bNiA9PV1tv4mJifDaw8MDGRkZePDgAQBgwoQJ+Pe//42HDx8CALZu3Qo/Pz+IRCLtXgiVC4t/IiIiIiIiHaavr48TJ07g6NGjcHFxwerVq+Hk5ITExMRSHd+uXTu0bdsW27ZtQ2xsLG7cuAE/P7/KTZoqHBf8IyIiIiIi0nEikQhdu3ZF165dMX/+fDRp0gS//PILACAuLg6vXr2CsbExAODChQuQSCSws7MTjh8/fjxCQ0Px8OFD9OzZU20f1Qzs+SciIiIiItJhFy9exOLFixETE4Pk5GTs378fT548gbOzMwBApVJh3LhxuHnzJo4cOYIFCxbA398fenr/LRdHjBiBv/76Cxs2bOBCfzUUe/6JiIiIiIjK6dGrJ9W2nXr16uH06dMIDQ3F8+fP0aRJEyxfvhx9+/bF7t270aNHDzg6OsLT0xPZ2dkYPnw4goKC1M4hlUrxySef4PDhw/D29q6YiyGtYvFPRERERERURlKpFIZiQ4Td/UVrbRqKDSGVSksd7+zsjGPHjr0zZuHChcLj/Ury8OFDjBw5EoaGhqVum6oPFv9ERERERERlJJPJEL4tHEqlUmttSqVSyGQyrbWXnp6OyMhIREZGYt26dVprlyoWi38iIiIiIqJykMlkWi3Gta1du3ZIT0/H0qVL4eTkVNXpUBmx+CciIiIiIqqltm7d+t6YpKSkSs+DKh9X+yciIiIiIiLScSz+iYiIiIiIiHQci38iIiIiIiIiHcfin4iIiIiIiEjHsfgnIiIiIiIi0nEs/omIiIiIiIh0HB/1R0REREREVA4KhQJKpVJr7UmlUshkMq21VxI/Pz88e/YMBw4cqOpUqBRY/BMREREREZWRQqGAr48vslXZWmvTUGyI8G3h1eIGANUcLP6JiIiIiIjKSKlUIluVjc+desLGxKzS23uU+TfWJfwGpVJZZcV/bm4uRCJRlbRNZcfin4iIiIiIqJxsTMzgILGs6jSKJZfL0bp1awDA9u3bYWBggClTpiA4OBgikQjZ2dn45ptvsHPnTjx79gytW7fG0qVLIZfLAQBbt25FQEAAtm3bhnnz5uH27du4e/duFV4RlQUX/CMiIiIiItJx4eHhqFOnDi5duoSVK1fixx9/xMaNGwEA/v7+OH/+PHbt2oU//vgDQ4YMQZ8+fXDnzh3h+MzMTCxduhQbN27EjRs30LBhw6q6FCoj9vwTERERERHpODs7O6xYsQIikQhOTk64du0aVqxYgd69e2PLli1ITk6GjY0NAGD27Nk4duwYtmzZgsWLFwMAcnJysG7dOrRt27YqL4PKgcU/ERERERGRjvvggw/U5ul7eHhg+fLluHbtGnJzc9GiRQu1+OzsbJibmwuvxWIx2rRpo7V8qeKx+CciIiIiIqqlMjIyoK+vj9jYWOjr66vtk0gkwvfGxsZc5K+GY/FPRERERESk4y5evKj2+sKFC3B0dES7du2Qm5uL1NRUdOvWrYqyI21g8U9ERERERFROjzL/rtbtJCcnY+bMmZg0aRIuX76M1atXY/ny5WjRogVGjhwJHx8fLF++HO3atcOTJ09w8uRJtGnTBv3796/gK6CqwuKfiIiIiIiojKRSKQzFhliX8JvW2jQUG0IqlWp0jI+PD169eoVOnTpBX18f06dPx8SJEwEAW7ZswaJFizBr1iw8fPgQFhYW+OCDDzBgwIDKSJ+qiCg/Pz+/qpMgIiIiIiKq7rKyspCYmAgHBwcYGRkJ2xUKBZRKpdbykEqlkMlkpY6Xy+Vwc3NDaGho5SVFlaakz52m2PNPRERERERUDjKZTKNinKgq6FV1AkRERERERERUudjzT0REREREpMMiIyOrOgWqBtjzT0RERERERKTjWPwTERERERFpgGumkzZV1OeNxT8REREREVEp6OvrAwBUKlUVZ0K1SWZmJgDAwMCgXOfhnH8iIiIiIqJSqFOnDkxMTPDkyRMYGBhAT499qVR58vPzkZmZidTUVNSvX1+4+VRWonyOWSEiIiIiIioVlUqFxMRE5OXlVXUqVEvUr18fVlZWEIlE5ToPi38iIiIiIiIN5OXlceg/aYWBgUG5e/wLsPgnIiIiIiIi0nGcpEJERERERESk41j8ExEREREREek4Fv9EREREREREOo7FPxEREREREZGOY/FPREREREREpONY/BMRERERERHpOBb/RERERERERDru/wOqCE4+oE9nYwAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + } + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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" + }, + "colab": { + "provenance": [], + "gpuType": "T4" + }, + "accelerator": "GPU" + }, + "nbformat": 4, + "nbformat_minor": 5 +}