From 4a29100bb561f1041af7d7890dd5e8befc3550d4 Mon Sep 17 00:00:00 2001 From: Aditya Pulipaka Date: Tue, 7 Oct 2025 15:00:35 -0500 Subject: [PATCH] Commit 0 --- Project 1 Report.pdf | Bin 0 -> 158913 bytes Project 1.ipynb | 1085 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1085 insertions(+) create mode 100644 Project 1 Report.pdf create mode 100644 Project 1.ipynb diff --git a/Project 1 Report.pdf b/Project 1 Report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..dea195ee2b40a8e08aebeb99042046ae76e9c203 GIT binary patch literal 158913 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
+@-ZgPD;}*v+DE^h!@Gi5sA>CPL$XS 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 literal 0 HcmV?d00001 diff --git a/Project 1.ipynb b/Project 1.ipynb new file mode 100644 index 0000000..295c740 --- /dev/null +++ b/Project 1.ipynb @@ -0,0 +1,1085 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 12, + "id": "b7ee7a83", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np" + ] + }, + { + "cell_type": "markdown", + "id": "399df849", + "metadata": {}, + "source": [ + "# Data Cleaning" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "edda6af5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 131165 entries, 0 to 131164\n", + "Data columns (total 12 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Animal ID 131165 non-null object\n", + " 1 Date of Birth 131165 non-null object\n", + " 2 Name 93658 non-null object\n", + " 3 DateTime 131165 non-null object\n", + " 4 MonthYear 131165 non-null object\n", + " 5 Outcome Type 131125 non-null object\n", + " 6 Outcome Subtype 65810 non-null object\n", + " 7 Animal Type 131165 non-null object\n", + " 8 Sex upon Outcome 131165 non-null object\n", + " 9 Age upon Outcome 131165 non-null object\n", + " 10 Breed 131165 non-null object\n", + " 11 Color 131165 non-null object\n", + "dtypes: object(12)\n", + "memory usage: 12.0+ MB\n", + "None\n", + "\n", + "\n", + "\n", + "Unique animal ID's: 121258\n", + "\n", + "\n", + "non-unique id's:\n", + " Animal ID Date of Birth Name DateTime MonthYear \\\n", + "694 A724077 7/11/15 *Sandy 2016-05-09T00:00:00-05:00 May-16 \n", + "1455 A750513 11/28/16 NaN 2017-06-19T00:00:00-05:00 Jun-17 \n", + "1544 A755088 9/29/16 Machete 2017-08-19T00:00:00-05:00 Aug-17 \n", + "1762 A758320 9/14/07 Sophie 2018-01-31T00:00:00-05:00 Jan-18 \n", + "1825 A767543 3/3/16 NaN 2018-04-18T00:00:00-05:00 Apr-18 \n", + "\n", + " Outcome Type Outcome Subtype Animal Type Sex upon Outcome \\\n", + "694 Adoption NaN Dog Spayed Female \n", + "1455 Transfer Snr Cat Neutered Male \n", + "1544 Adoption NaN Dog Spayed Female \n", + "1762 Transfer Partner Cat Spayed Female \n", + "1825 Transfer Snr Cat Spayed Female \n", + "\n", + " Age upon Outcome Breed Color \n", + "694 9 months Queensland Heeler Mix Red \n", + "1455 6 months Domestic Medium Hair Mix Orange Tabby/White \n", + "1544 10 months Australian Kelpie Mix Black/White \n", + "1762 10 years Domestic Shorthair Mix Blue Tabby \n", + "1825 2 years Domestic Shorthair Mix Black \n", + "\n", + "\n", + "ID A724077:\n", + " Animal ID Date of Birth Name DateTime MonthYear \\\n", + "649 A724077 7/11/15 *Sandy 2016-04-24T00:00:00-05:00 Apr-16 \n", + "694 A724077 7/11/15 *Sandy 2016-05-09T00:00:00-05:00 May-16 \n", + "35974 A724077 7/11/15 *Sandy 2016-06-12T16:20:00 Jun-16 \n", + "\n", + " Outcome Type Outcome Subtype Animal Type Sex upon Outcome \\\n", + "649 Adoption NaN Dog Spayed Female \n", + "694 Adoption NaN Dog Spayed Female \n", + "35974 Adoption NaN Dog Spayed Female \n", + "\n", + " Age upon Outcome Breed Color \n", + "649 9 months Queensland Heeler Mix Red \n", + "694 9 months Queensland Heeler Mix Red \n", + "35974 11 months Queensland Heeler Mix Red \n", + " 0 1 2 3 4 5 6 7\n", + "0 2014 -06 -10 00 00 00 -05 00\n", + "1 2014 -07 -11 00 00 00 -05 00\n", + "2 2014 -07 -12 00 00 00 -05 00\n", + "3 2014 -07 -14 00 00 00 -05 00\n", + "4 2014 -08 -20 00 00 00 -05 00\n", + " Date of Birth Name DateTime MonthYear Outcome Type \\\n", + "2052 7/23/13 *Dudley 2013-10-01T09:31:00 Oct-13 Adoption \n", + "2053 9/24/13 NaN 2013-10-01T10:39:00 Oct-13 Transfer \n", + "2054 9/24/13 NaN 2013-10-01T10:44:00 Oct-13 Transfer \n", + "2055 9/22/10 NaN 2013-10-01T11:12:00 Oct-13 Transfer \n", + "2056 9/25/11 NaN 2013-10-01T11:13:00 Oct-13 Transfer \n", + "... ... ... ... ... ... \n", + "129096 1/31/12 NaN 2014-02-04T10:14:00 Feb-14 Transfer \n", + "129097 2/4/09 Toby 2014-02-08T10:14:00 Feb-14 Transfer \n", + "129098 7/6/13 NaN 2014-02-07T10:14:00 Feb-14 Transfer \n", + "129099 2/16/14 NaN 2014-03-27T08:00:00 Mar-14 Transfer \n", + "129100 5/10/11 Gatsby 2014-05-14T08:00:00 May-14 Transfer \n", + "\n", + " Outcome Subtype Animal Type Sex upon Outcome Age upon Outcome \\\n", + "2052 Foster Dog Neutered Male 2 months \n", + "2053 Partner Cat Unknown 1 week \n", + "2054 Partner Cat Unknown 1 week \n", + "2055 Partner Dog Neutered Male 3 years \n", + "2056 Partner Dog Spayed Female 2 years \n", + "... ... ... ... ... \n", + "129096 SCRP Cat Intact Male 2 years \n", + "129097 Partner Dog Intact Male 5 years \n", + "129098 SCRP Cat Spayed Female 7 months \n", + "129099 Partner Dog Intact Male 1 month \n", + "129100 Partner Dog Intact Male 3 years \n", + "\n", + " Breed Color Year Month Hour Zone \n", + "2052 Labrador Retriever Mix Black 2013 10 9 100 \n", + "2053 Domestic Shorthair Mix Orange/White 2013 10 10 100 \n", + "2054 Domestic Shorthair Mix Orange/White 2013 10 10 100 \n", + "2055 Toy Poodle Mix White 2013 10 11 100 \n", + "2056 Boxer Mix Red/White 2013 10 11 100 \n", + "... ... ... ... ... ... ... \n", + "129096 Domestic Shorthair Mix Brown Tabby 2014 2 10 100 \n", + "129097 Pekingese Red/White 2014 2 10 100 \n", + "129098 Domestic Medium Hair Mix Brown Tabby 2014 2 10 100 \n", + "129099 Pomeranian Mix White/Brown 2014 3 8 100 \n", + "129100 Pekingese/Lhasa Apso Buff 2014 5 8 100 \n", + "\n", + "[125886 rows x 15 columns]\n", + "0\n", + " 0 1\n", + "0 2 weeks\n", + "1 2 months\n", + "2 4 weeks\n", + "3 2 weeks\n", + "4 5 months\n", + "0 7\n", + "1 30\n", + "2 7\n", + "3 7\n", + "4 30\n", + " ... \n", + "129096 365\n", + "129097 365\n", + "129098 30\n", + "129099 30\n", + "129100 365\n", + "Name: 1, Length: 129101, dtype: int64\n", + "\n", + "RangeIndex: 129101 entries, 0 to 129100\n", + "Data columns (total 13 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Outcome Type 129061 non-null object \n", + " 1 Animal Type 129101 non-null object \n", + " 2 Sex upon Outcome 129101 non-null object \n", + " 3 AgeInDays 129101 non-null int64 \n", + " 4 Breed 129101 non-null object \n", + " 5 Color 129101 non-null object \n", + " 6 Year 129101 non-null int16 \n", + " 7 Month 129101 non-null float64\n", + " 8 Hour 129101 non-null int8 \n", + " 9 HourCosine 129101 non-null float64\n", + " 10 BirthMonth 129101 non-null int8 \n", + " 11 BirthYear 129101 non-null int8 \n", + " 12 HasName 129101 non-null bool \n", + "dtypes: bool(1), float64(2), int16(1), int64(1), int8(3), object(5)\n", + "memory usage: 8.6+ MB\n", + "None\n", + " Outcome Type Animal Type Sex upon Outcome AgeInDays \\\n", + "89032 NaN Dog Spayed Female 365 \n", + "89034 NaN Dog Spayed Female 300 \n", + "89143 NaN Dog Neutered Male 2190 \n", + "89375 NaN Dog Spayed Female 180 \n", + "89379 NaN Dog Neutered Male 120 \n", + "89491 NaN Dog Neutered Male 365 \n", + "89503 NaN Cat Spayed Female 730 \n", + "89619 NaN Dog Neutered Male 60 \n", + "89636 NaN Dog Spayed Female 1825 \n", + "89661 NaN Dog Neutered Male 1460 \n", + "89804 NaN Dog Intact Male 365 \n", + "89821 NaN Dog Unknown 30 \n", + "89936 NaN Dog Intact Male 365 \n", + "92129 NaN Cat Intact Male 30 \n", + "92298 NaN Dog Intact Male 730 \n", + "93308 NaN Cat Spayed Female 730 \n", + "94607 NaN Dog Intact Male 730 \n", + "108019 NaN Cat Spayed Female 4745 \n", + "108706 NaN Bird Unknown 365 \n", + "108884 NaN Dog Unknown 365 \n", + "111465 NaN Dog Intact Male 730 \n", + "111621 NaN Cat Neutered Male 1095 \n", + "111732 NaN Dog Neutered Male 730 \n", + "116268 NaN Cat Spayed Female 90 \n", + "116396 NaN Cat Spayed Female 90 \n", + "116522 NaN Dog Spayed Female 730 \n", + "119515 NaN Dog Unknown 1825 \n", + "120797 NaN Dog Intact Male 330 \n", + "120829 NaN Dog Intact Female 730 \n", + "122114 NaN Dog Neutered Male 300 \n", + "122224 NaN Dog Spayed Female 365 \n", + "122267 NaN Cat Spayed Female 90 \n", + "123937 NaN Dog Spayed Female 730 \n", + "123938 NaN Dog Spayed Female 730 \n", + "124535 NaN Cat Neutered Male 60 \n", + "127205 NaN Dog Intact Male 300 \n", + "128002 NaN Dog Spayed Female 365 \n", + "128308 NaN Dog Neutered Male 3285 \n", + "128476 NaN Dog Intact Female 270 \n", + "128542 NaN Dog Spayed Female 1825 \n", + "\n", + " Breed Color Year Month \\\n", + "89032 American Bulldog Mix White/Black 2021 8.660254e-01 \n", + "89034 German Shepherd Tan/Black 2021 8.660254e-01 \n", + "89143 Pit Bull Mix Blue 2021 8.660254e-01 \n", + "89375 Labrador Retriever/Border Collie Black/White 2021 8.660254e-01 \n", + "89379 American Bulldog Mix Black/White 2021 8.660254e-01 \n", + "89491 Blue Lacy Mix Blue/White 2021 5.000000e-01 \n", + "89503 Domestic Shorthair Black 2021 5.000000e-01 \n", + "89619 Pit Bull Blue/White 2021 5.000000e-01 \n", + "89636 American Pit Bull Terrier Mix White/Brown 2021 5.000000e-01 \n", + "89661 Labrador Retriever Mix Yellow/White 2021 5.000000e-01 \n", + "89804 Chihuahua Shorthair Mix Tan 2021 6.123234e-17 \n", + "89821 Pug Mix Black/White 2021 6.123234e-17 \n", + "89936 Pit Bull Black 2021 6.123234e-17 \n", + "92129 Domestic Medium Hair Black Smoke 2021 -1.000000e+00 \n", + "92298 Pug Mix Black/White 2021 -1.000000e+00 \n", + "93308 Domestic Shorthair Tortie 2021 -8.660254e-01 \n", + "94607 German Shepherd Black/Tan 2021 -5.000000e-01 \n", + "108019 Domestic Shorthair Tortie 2023 8.660254e-01 \n", + "108706 Waxwing Tan/Black 2023 5.000000e-01 \n", + "108884 Pekingese Black/White 2023 5.000000e-01 \n", + "111465 Doberman Pinsch Mix Black/Brown 2023 -1.000000e+00 \n", + "111621 Domestic Shorthair Cream Tabby 2023 -1.000000e+00 \n", + "111732 Mastiff Mix Tan 2023 -1.000000e+00 \n", + "116268 Domestic Shorthair Black/White 2023 1.000000e+00 \n", + "116396 Siamese Mix Lynx Point 2023 1.000000e+00 \n", + "116522 Cairn Terrier/Chihuahua Shorthair White 2023 1.000000e+00 \n", + "119515 American Bulldog Mix Brown 2024 -5.000000e-01 \n", + "120797 Pit Bull Blue/White 2024 -1.000000e+00 \n", + "120829 Siberian Husky White 2024 -1.000000e+00 \n", + "122114 Wire Hair Fox Terrier Mix Brown 2024 -8.660254e-01 \n", + "122224 Siberian Husky Brown/White 2024 -8.660254e-01 \n", + "122267 Domestic Shorthair Torbie/White 2024 -8.660254e-01 \n", + "123937 Belgian Malinois Brown/Black 2024 -1.836970e-16 \n", + "123938 German Shepherd Brown/Black 2024 -1.836970e-16 \n", + "124535 Domestic Medium Hair Black 2024 5.000000e-01 \n", + "127205 West Highland/Yorkshire Terrier White/Cream 2025 5.000000e-01 \n", + "128002 Pit Bull Mix Black/White 2025 6.123234e-17 \n", + "128308 German Shepherd Brown/Black 2025 6.123234e-17 \n", + "128476 Siberian Husky Mix Black/Cream 2025 -5.000000e-01 \n", + "128542 Pit Bull Mix Fawn/White 2025 -5.000000e-01 \n", + "\n", + " Hour HourCosine BirthMonth BirthYear HasName \n", + "89032 17 -2.588190e-01 6 19 True \n", + "89034 17 -2.588190e-01 2 20 False \n", + "89143 18 -1.836970e-16 4 14 True \n", + "89375 14 -8.660254e-01 7 20 True \n", + "89379 16 -5.000000e-01 9 20 True \n", + "89491 18 -1.836970e-16 1 20 True \n", + "89503 15 -7.071068e-01 1 19 False \n", + "89619 12 -1.000000e+00 12 20 True \n", + "89636 10 -8.660254e-01 10 15 True \n", + "89661 12 -1.000000e+00 10 16 True \n", + "89804 13 -9.659258e-01 3 20 True \n", + "89821 14 -8.660254e-01 1 21 False \n", + "89936 13 -9.659258e-01 12 19 True \n", + "92129 16 -5.000000e-01 4 21 False \n", + "92298 11 -9.659258e-01 6 19 True \n", + "93308 18 -1.836970e-16 6 19 True \n", + "94607 18 -1.836970e-16 8 19 False \n", + "108019 12 -1.000000e+00 5 9 True \n", + "108706 9 -7.071068e-01 2 22 False \n", + "108884 15 -7.071068e-01 2 22 True \n", + "111465 19 2.588190e-01 6 21 True \n", + "111621 10 -8.660254e-01 7 19 True \n", + "111732 18 -1.836970e-16 6 21 True \n", + "116268 14 -8.660254e-01 9 23 True \n", + "116396 16 -5.000000e-01 9 23 False \n", + "116522 17 -2.588190e-01 12 21 False \n", + "119515 10 -8.660254e-01 4 19 False \n", + "120797 10 -8.660254e-01 7 23 True \n", + "120829 16 -5.000000e-01 5 22 True \n", + "122114 12 -1.000000e+00 9 23 True \n", + "122224 17 -2.588190e-01 6 23 True \n", + "122267 18 -1.836970e-16 4 24 True \n", + "123937 10 -8.660254e-01 9 22 True \n", + "123938 10 -8.660254e-01 9 22 True \n", + "124535 18 -1.836970e-16 8 24 False \n", + "127205 11 -9.659258e-01 4 24 False \n", + "128002 16 -5.000000e-01 12 23 True \n", + "128308 16 -5.000000e-01 2 16 True \n", + "128476 16 -5.000000e-01 6 24 True \n", + "128542 18 -1.836970e-16 12 19 True \n", + "\n", + "Index: 129061 entries, 0 to 129100\n", + "Data columns (total 13 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Outcome Type 129061 non-null object \n", + " 1 Animal Type 129061 non-null object \n", + " 2 Sex upon Outcome 129061 non-null object \n", + " 3 AgeInDays 129061 non-null int64 \n", + " 4 Breed 129061 non-null object \n", + " 5 Color 129061 non-null object \n", + " 6 Year 129061 non-null int16 \n", + " 7 Month 129061 non-null float64\n", + " 8 Hour 129061 non-null int8 \n", + " 9 HourCosine 129061 non-null float64\n", + " 10 BirthMonth 129061 non-null int8 \n", + " 11 BirthYear 129061 non-null int8 \n", + " 12 HasName 129061 non-null bool \n", + "dtypes: bool(1), float64(2), int16(1), int64(1), int8(3), object(5)\n", + "memory usage: 9.6+ MB\n", + "None\n", + " Outcome Type Animal Type Sex upon Outcome AgeInDays Breed \\\n", + "0 Transfer Bird Unknown 14 Duck \n", + "1 Adoption Dog Spayed Female 60 Black Mouth Cur Mix \n", + "2 Transfer Bird Unknown 28 Catbird Mix \n", + "3 Transfer Bird Unknown 14 Grackle Mix \n", + "4 Transfer Bird Intact Male 150 Silkie Mix \n", + "\n", + " Color Year Month Hour HourCosine BirthMonth BirthYear \\\n", + "0 Yellow/Black 2014 -1.000000 0 1.0 5 14 \n", + "1 Brown/Black 2014 -0.866025 0 1.0 4 14 \n", + "2 Brown 2014 -0.866025 0 1.0 6 14 \n", + "3 Black/White 2014 -0.866025 0 1.0 6 14 \n", + "4 Black 2014 -0.500000 0 1.0 3 14 \n", + "\n", + " HasName \n", + "0 False \n", + "1 True \n", + "2 False \n", + "3 False \n", + "4 False \n" + ] + } + ], + "source": [ + "data = pd.read_csv('project1.csv')\n", + "print(f\"{data.info()}\\n\\n\")\n", + "# We can see that there are 12 columns, with 131165 entries each. Shape is (131165, 12)\n", + "\n", + "# It only makes sense to do univariate analysis after cleaning up the data, since we can't really do that on strings and such.\n", + "# Therefore, I will be doing cleanup before visualization.\n", + "\n", + "# Datatypes of Animal ID, Date of Birth, DateTime, MonthYear, and Age upon outcome would need to be converted to numeric formats.\n", + "# However, let's see if Animal ID is unique for every animal...\n", + "\n", + "print(f\"\\nUnique animal ID's: {len(data['Animal ID'].unique())}\")\n", + "# Not all id's are unique? Which ones are same?\n", + "\n", + "print(\"\\n\\nnon-unique id's:\")\n", + "newdf = data[data['Animal ID'].duplicated()]\n", + "print(newdf.head())\n", + "\n", + "# Let's choose one\n", + "print(\"\\n\\nID A724077:\")\n", + "print(data[data['Animal ID'] == \"A724077\"].head())\n", + "# looks like the same dog gets adopted multiple times? We can maybe have each animal get a count of how many times they've been adopted.\n", + "# However, our model will not be trained using the outcome, so this varible is not significant. We don't know whether the animal was transferred or adopted\n", + "# we should therefore drop the Animal ID column.\n", + "data.drop(['Animal ID'], axis=1, inplace=True)\n", + "\n", + "# remove duplicates\n", + "data.drop_duplicates(inplace=True, ignore_index=True)\n", + "\n", + "# MonthYear and DateTime are redundant - let's just make outcome month, year, date, time columns\n", + "# The following was informed by AI but not directly generated (see [4] and [5])\n", + "splitDateTime = pd.DataFrame(data['DateTime'].str.findall(r'(\\-*\\d+)').tolist(), index=data.index)\n", + "print(splitDateTime.head())\n", + "splitDateTime[6] = splitDateTime[6].transform(lambda x: x.fillna(100)) # arbitrary time zone to avoid conflict with any other time zone\n", + "\n", + "# seems like most times are 00:00:00...\n", + "data['Year'] = splitDateTime[0].astype('int16').abs()\n", + "data['Month'] = splitDateTime[1].astype('int8').abs()\n", + "data['Hour'] = splitDateTime[3].astype('int8').abs()\n", + "data['Zone'] = splitDateTime[6].astype('int8')\n", + "\n", + "print(data[(data['Hour'] != 0)])\n", + "\n", + "# there are indeed nonzero times. Let's keep the hour.\n", + "# let's check if the time zone is different for any of them...\n", + "print(len(data[(data['Zone'] != 100) & (data['Zone'] != -5)]))\n", + "# since the time zones are either UTC-5 or not present, we can drop the time zone column.\n", + "data.drop(['Zone'], axis=1, inplace=True)\n", + "# we can now also drop DateTime and MonthYear, since this data is reprsented in the year, month, date, hour, minute, and second columns.\n", + "data.drop(['DateTime', 'MonthYear'], axis=1, inplace=True)\n", + "\n", + "# Saw online that representing hour data as a sinusoid is more effective, representing cyclical nature of the day.\n", + "data['HourCosine'] = data['Hour'].transform(lambda x: np.cos(np.pi * x / 12))\n", + "\n", + "data['Month'] = data['Month'].transform(lambda x: np.cos(np.pi * x / 6))\n", + "\n", + "# Now, since our outcome subtype cannot be used for inference due to its nature as part of the outcome, \n", + "# and since we are only predicting the outcome type, we can drop Outcome Subtype.\n", + "data.drop(['Outcome Subtype'], axis=1, inplace=True)\n", + "\n", + "# Let's handle the DOB now.\n", + "splitDOB = pd.DataFrame(data['Date of Birth'].str.findall(r'(\\d+)').tolist(), index=data.index)\n", + "data['BirthMonth'] = splitDOB[0].astype('int8')\n", + "data['BirthYear'] = splitDOB[2].astype('int8')\n", + "data.drop(['Date of Birth'], axis=1, inplace=True)\n", + "\n", + "# let's try to convert Age to an age in days.\n", + "# The function below was informed by AI, but not directly generated; See [1], [2], [3].\n", + "def convertAge(series: pd.Series):\n", + " outDF = pd.DataFrame(series.str.split(expand=True))\n", + " print(outDF.head())\n", + " custom_map = {\n", + " 'w': 7,\n", + " 'd': 1,\n", + " 'y': 365,\n", + " 'm': 30\n", + " }\n", + " print(outDF[1].str[0].map(custom_map))\n", + " outSeries = outDF[0].astype(int) * outDF[1].str[0].map(custom_map)\n", + " return outSeries\n", + "\n", + "data['Age upon Outcome'] = data['Age upon Outcome'].transform(convertAge)\n", + "data.rename(columns={'Age upon Outcome': 'AgeInDays'}, inplace=True)\n", + "\n", + "# Let's change the name column to a boolean representing whether or not a name is present.\n", + "data['HasName'] = data['Name'].notna()\n", + "data.drop(['Name'], axis=1, inplace=True)\n", + "\n", + "print(data.info())\n", + "\n", + "# It seems we still have null outcome types... Let's see what those are.\n", + "print(data[data['Outcome Type'].isna()])\n", + "# It only makes sense to keep data that will help us predict the outcome, and without the outcome the data is useless\n", + "# we will therefore drop the rows without outcome type.\n", + "data = data[data['Outcome Type'].notna()]\n", + "\n", + "print(data.info())\n", + "print(data.head())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0d381aa2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['Transfer' 'Adoption']\n", + "['Bird' 'Dog' 'Cat' 'Livestock']\n", + "['Unknown' 'Spayed Female' 'Intact Male' 'Intact Female' 'Neutered Male']\n", + "2526\n", + "599\n", + "\n", + "Index: 129061 entries, 0 to 129100\n", + "Data columns (total 16 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 AgeInDays 129061 non-null int64 \n", + " 1 Year 129061 non-null int16 \n", + " 2 Month 129061 non-null float64\n", + " 3 Hour 129061 non-null int8 \n", + " 4 HourCosine 129061 non-null float64\n", + " 5 BirthMonth 129061 non-null int8 \n", + " 6 BirthYear 129061 non-null int8 \n", + " 7 HasName 129061 non-null bool \n", + " 8 Type_Cat 129061 non-null bool \n", + " 9 Type_Dog 129061 non-null bool \n", + " 10 Type_Livestock 129061 non-null bool \n", + " 11 Sex_Intact Male 129061 non-null bool \n", + " 12 Sex_Neutered Male 129061 non-null bool \n", + " 13 Sex_Spayed Female 129061 non-null bool \n", + " 14 Sex_Unknown 129061 non-null bool \n", + " 15 Outcome_Adoption 129061 non-null bool \n", + "dtypes: bool(9), float64(2), int16(1), int64(1), int8(3)\n", + "memory usage: 5.7 MB\n" + ] + } + ], + "source": [ + "# Let's now take a look at categorizing the outcome type, animal type, sex, breed, and color data.\n", + "print(data['Outcome Type'].unique())\n", + "print(data['Animal Type'].unique())\n", + "print(data['Sex upon Outcome'].unique())\n", + "breeds = data['Breed'].unique()\n", + "print(len(breeds))\n", + "# breeds are too sparse to deal with, and they are dropped in section two of the project. Let's drop them now.\n", + "data.drop(['Breed'], axis=1, inplace=True)\n", + "\n", + "colors = data['Color'].unique()\n", + "print(len(colors))\n", + "# colors are also looking very sparse, let's drop them for now and come back to them if needed.\n", + "data.drop(['Color'], axis=1, inplace=True)\n", + "data.rename(columns={'Outcome Type': 'Outcome', 'Animal Type': 'Type', 'Sex upon Outcome': 'Sex'}, inplace=True)\n", + "data = pd.get_dummies(data, columns=['Type', 'Sex'], drop_first=True)\n", + "data = pd.get_dummies(data, columns=['Outcome'], drop_first=False)\n", + "data.drop(['Outcome_Transfer'], axis=1, inplace=True)\n", + "# we can drop the first column since a false in all the other possibilities would signify a true in the first.\n", + "\n", + "data.info()" + ] + }, + { + "cell_type": "markdown", + "id": "47862576", + "metadata": {}, + "source": [ + "# Univariate Analysis" + ] + }, + { + "cell_type": "markdown", + "id": "c7ae7aef", + "metadata": {}, + "source": [ + "\n", + "#### We can see certain trends from this readout, such as that there seem to be a greater amount of very young animals than older animals, since the median is 270 while the mean is 583 days.\n", + "\n", + "\n", + "#### Additionally, we see that the adoption or transfer data spans 2013 through 2025, centering around 2018. However, when it comes to birth year, we see the year 99, which signifies 1999. This discrepancy might interfere with the linear classification algorithm, and since we already have age data and adoption date data, we should be good to drop this too.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "ca5e9c28", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " AgeInDays Year Month Hour \\\n", + "count 129061.000000 129061.000000 1.290610e+05 129061.000000 \n", + "mean 583.200851 2018.596803 -3.878811e-02 14.328744 \n", + "std 880.694863 3.318159 7.180569e-01 3.695877 \n", + "min 1.000000 2013.000000 -1.000000e+00 0.000000 \n", + "25% 60.000000 2016.000000 -8.660254e-01 12.000000 \n", + "50% 270.000000 2018.000000 -1.836970e-16 15.000000 \n", + "75% 730.000000 2021.000000 5.000000e-01 17.000000 \n", + "max 10950.000000 2025.000000 1.000000e+00 23.000000 \n", + "\n", + " HourCosine BirthMonth BirthYear \n", + "count 129061.000000 129061.000000 129061.000000 \n", + "mean -0.503063 6.244295 16.987231 \n", + "std 0.454937 3.203606 4.505264 \n", + "min -1.000000 1.000000 0.000000 \n", + "25% -0.866025 4.000000 14.000000 \n", + "50% -0.500000 6.000000 17.000000 \n", + "75% -0.258819 9.000000 20.000000 \n", + "max 1.000000 12.000000 99.000000 \n" + ] + } + ], + "source": [ + "print(data.describe())\n", + "\n", + "data.drop(['BirthYear'], axis=1, inplace=True)" + ] + }, + { + "cell_type": "markdown", + "id": "73c09b78", + "metadata": {}, + "source": [ + "#### We can see from the following histogram that an overwhelming number of animals at the shelter are under a year in age (2000 days / 7 bins ~= 300 days.)\n", + "#### This is probably a significant contributor to the animals that actually get adopted, considering that buyers might be more likely to buy younger or older animals." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "daecf558", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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2r17t4KCgtSrVy/17du3pfoCAABoVc4oNFVWVurWW2/V22+/rY4dO8oYI6/Xq+uuu055eXm6+OKLW7pPAACAgDqju+emTp2q6upq7dy5U0eOHJHH41Fpaamqq6uVnZ3d0j0CAAAE3BmtNOXn52vDhg3q2bOnta9Xr1565plnuBAcAACcl85opamxsVGhoaFN9oeGhqqxsfF7NwUAANDanFFo+slPfqL7779fn3/+ubXvwIEDeuCBBzR06NAWaw4AAKC1OKPQtGjRItXU1Kh79+76t3/7N1122WXq0aOHampq9Pvf/76lewQAAAi4M7qmKTExUe+//74KCwv10UcfyRijXr16adiwYS3dHwAAQKtwWitNb775pnr16qXq6mpJ0vDhwzV16lRlZ2frmmuu0ZVXXql33nnnrDQKAAAQSKcVmhYuXKgJEyYoKiqqyZjT6dSkSZM0f/78FmsOAACgtTit0PSPf/xDI0aMOOl4enq6iouLv3dTAAAArc1phaaDBw+e8FED3woJCdGhQ4e+d1MAAACtzWmFpksuuUQ7duw46fiHH36ozp07f++mAAAAWpvTCk0//elP9R//8R/66quvmozV1tbqscceU2ZmZos1BwAA0Fqc1iMHfvWrX+mVV17R5ZdfrilTpig5OVlBQUHavXu3nnnmGTU0NGjmzJlnq1cAAICAOa2Vpvj4eG3atEkpKSmaMWOGbrzxRt1www169NFHlZKSonfffVfx8fG2P2/x4sXq06ePoqKiFBUVpbS0NL322mvWuDFGs2bNUkJCgsLDwzVkyBDt3LnT7zN8Pp+mTp2q2NhYRUREaPTo0dq/f79fjcfjkdvtltPplNPplNvtVlVVlV/Nvn37NGrUKEVERCg2NlbZ2dmqq6s7nekBAADnsdN+Ini3bt20fv16ffHFF9q6dau2bNmiL774QuvXr1f37t1P67O6dOmiJ554Qu+9957ee+89/eQnP9HPfvYzKxg99dRTmj9/vhYtWqTt27fL5XJp+PDhqqmpsT4jJydHa9asUV5enoqKinT06FFlZmaqoaHBqsnKylJJSYny8/OVn5+vkpISud1ua7yhoUEjR47UsWPHVFRUpLy8PK1evVrTpk073ekBAADnqSBjjAl0E9/VqVMnzZ07V3fddZcSEhKUk5Ojhx9+WNI3q0rx8fF68sknNWnSJHm9Xl18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lZmZqeTkZElSenq6evXqJbfbrblz5+rIkSOaPn26JkyYwOoRAACQFODQ9N577+m6666zXj/44IOSpDvvvFPLly/XQw89pNraWk2ePFkej0f9+/dXQUGBIiMjrfcsWLBAISEhGjNmjGprazV06FAtX75cwcHBVs3KlSuVnZ1t3WU3evRov2dDBQcHa926dZo8ebIGDRqk8PBwZWVl6emnnz7bUwAAANqIgIamIUOGyBhz0vGgoCDNmjVLs2bNOmlN+/bt9fvf/16///3vT1rTqVMnrVixotleunbtqldfffWUPQMAgAtTq72mCQAAoDUhNAEAANhAaAIAALCB0AQAAGADoQkAAMAGQhMAAIANhCYAAAAbCE0AAAA2EJoAAABsIDQBAADYQGgCAACwgdAEAABgA6EJAADAhpBAN4C2x+v12qpzOBwKDw8/y90AAHBuEJpgW0OdT2oXrO7du9uqj7k4TmWffUpwAgCcFwhNsK2hoV5qbNCIx/+s8Ehns7X1tUf16qM3y+fzEZoAAOcFQhNOW2h4hMI6RAa6DQAAzikuBAcAALCB0AQAAGADoQkAAMAGQhMAAIANhCYAAAAbCE0AAAA2EJoAAABsIDQBAADYQGgCAACwgdAEAABgAz+jglajtrZWPp/PVq3D4eA37QAA5xShCa1CbW2tErt11+FDlbbqYy6OU9lnnxKcAADnDKEJrYLP59PhQ5XKzF2t0PCLmq2trz2qVx+9WZWVlXI6naf8bFalAAAtgdCEViU0/CKFdYhstqahzie1C1b37t1tfSarUgCAlkBoQpvT0FAvNTZoxON/Vnhk8ytN365K+Xw+QhMA4HshNKHNCg2POOWqFAAALYVHDgAAANhAaAIAALCBr+dwQfB6vbbquNMOAHAyhCac1872nXan80DOxsZGtWtnb3GX8AYArQ+hCee1s3mn3ek+kDMoOESm4WtbtTwmAQBaH0ITLghn406703kg55dHDur1/+8OHpMAAG0YoQn4nuw8kLOu9uj/1Qb+MQn8xh8AnBlCE3AB4Tf+AODMEZqAVups3PF3Jr/xx9eEAPANQhPQypyL39az85UiAMAfoek4zz77rObOnavy8nJdeeWVWrhwoX70ox8Fui1cQFrbb+vZXfE6nUcqSFwvBaDtITR9x8svv6ycnBw9++yzGjRokJ577jldf/312rVrl7p2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92VlZbr//vtVUFCg9u3bn7SOeTy1xsZG9evXT7m5uZKkvn37aufOnVq8eLHuuOMOq465bN7LL7+sFStWaNWqVbryyitVUlKinJwcJSQk6M4777TqmMfTd67m7EKYV76ea8ViY2MVHBzcJKVXVlY2SfQXmqlTp2rt2rV666231KVLF2u/y+WSpGbnzOVyqa6uTh6Pp9magwcPNjnuoUOHzou5Ly4uVmVlpVJTUxUSEqKQkBBt3LhRv/vd7xQSEmKdI/N4ap07d1avXr389vXs2VP79u2TxJ9Ju/793/9djzzyiG699Vb17t1bbrdbDzzwgObMmSOJeTwT53LOXC5Xk+N4PB7V19efV/NKaGrFwsLClJqaqsLCQr/9hYWFGjhwYIC6CixjjKZMmaJXXnlFb775pnr06OE33qNHD7lcLr85q6ur08aNG605S01NVWhoqF9NeXm5SktLrZq0tDR5vV5t27bNqtm6dau8Xu95MfdDhw7Vjh07VFJSYm39+vXT2LFjVVJSoksvvZR5tGnQoEFNHnvx8ccfWz/0zZ9Je7788ku1a+f/T1JwcLD1yAHm8fSdyzlLS0tTaWmpysvLrZqCggI5HA6lpqae1fM8p87xhec4Td8+cmDp0qVm165dJicnx0RERJhPP/000K0FxL333mucTqd5++23TXl5ubV9+eWXVs0TTzxhnE6neeWVV8yOHTvMbbfddsJbbLt06WI2bNhg3n//ffOTn/zkhLfY9unTx2zevNls3rzZ9O7du83elmzHd++eM4Z5tGvbtm0mJCTEzJ4923zyySdm5cqVpkOHDmbFihVWDXN5anfeeae55JJLrEcOvPLKKyY2NtY89NBDVg3z2FRNTY354IMPzAcffGAkmfnz55sPPvjAeizNuZqzbx85MHToUPP++++bDRs2mC5duvDIAZx7zzzzjOnWrZsJCwszV199tXV7/YVI0gm3ZcuWWTWNjY3mscceMy6XyzgcDvPjH//Y7Nixw+9zamtrzZQpU0ynTp1MeHi4yczMNPv27fOrOXz4sBk7dqyJjIw0kZGRZuzYscbj8ZyDswyM40MT82jf3/72N5OSkmIcDoe54oorzPPPP+83zlyeWnV1tbn//vtN165dTfv27c2ll15qZs6caXw+n1XDPDb11ltvnfDvxDvvvNMYc27n7LPPPjMjR4404eHhplOnTmbKlCnmq6++Opunf84FGWNMYNa4AAAA2g6uaQIAALCB0AQAAGADoQkAAMAGQhMAAIANhCYAAAAbCE0AAAA2EJoAAABsIDQBAADYQGgCAACwgdAEoNXbtGmTgoODNWLEiLPy+UOGDFFOTs5pvScoKMjaIiIilJSUpHHjxqm4uPis9Agg8AhNAFq9P/7xj5o6daqKioq0b9++QLdjWbZsmcrLy7Vz504988wzOnr0qPr3768XX3wx0K0BOAsITQBatWPHjunPf/6z7r33XmVmZmr58uV+42vXrlVSUpLCw8N13XXX6YUXXlBQUJCqqqqsmk2bNunHP/6xwsPDlZiYqOzsbB07duykx+zevbtyc3N11113KTIyUl27dtXzzz/fpK5jx45yuVzq3r270tPT9Ze//EVjx47VlClT5PF4JEmHDx/Wbbfdpi5duqhDhw7q3bu3/vSnP1mf8eKLLyomJkY+n8/vs2+++WbdcccdkqR//OMfuu666xQZGamoqCilpqbqvffeO92pBPA9EZoAtGovv/yykpOTlZycrNtvv13Lli3Tt78z/umnn+rnP/+5brjhBpWUlGjSpEmaOXOm3/t37NihjIwM3XTTTfrwww/18ssvq6ioSFOmTGn2uPPmzVO/fv30wQcfaPLkybr33nv10UcfnbLfBx54QDU1NSosLJQkffXVV0pNTdWrr76q0tJSTZw4UW63W1u3bpUk/eIXv1BDQ4PWrl1rfcYXX3yhV199Vb/85S8lSWPHjlWXLl20fft2FRcX65FHHlFoaKj9SQTQMgwAtGIDBw40CxcuNMYYU19fb2JjY01hYaExxpiHH37YpKSk+NXPnDnTSDIej8cYY4zb7TYTJ070q3nnnXdMu3btTG1trTHGmMGDB5v777/fGu/WrZu5/fbbrdeNjY0mLi7OLF682NonyaxZs6ZJv7W1tUaSefLJJ096Tj/96U/NtGnTrNf33nuvuf76663XCxcuNJdeeqlpbGw0xhgTGRlpli9fftLPA3BusNIEoNXas2ePtm3bpltvvVWSFBISoltuuUV//OMfrfFrrrnG7z0//OEP/V4XFxdr+fLluuiii6wtIyNDjY2N2rt370mP3adPH+u/g4KC5HK5VFlZecqezf+tggUFBUmSGhoaNHv2bPXp00cxMTG66KKLVFBQ4Hdt1oQJE1RQUKADBw5I+uZaqXHjxlmf8eCDD+ruu+/WsGHD9MQTT+h///d/T9kHgJYXEugGAOBkli5dqq+//lqXXHKJtc8Yo9DQUHk8HhljrGDx3fHvamxs1KRJk5Sdnd3k87t27XrSYx//9VdQUJAaGxtP2fPu3bslST169JD0zdd8CxYs0MKFC9W7d29FREQoJydHdXV11nv69u2rq666Si+++KIyMjK0Y8cO/e1vf7PGZ82apaysLK1bt06vvfaaHnvsMeXl5enGG288ZT8AWg6hCUCr9PXXX+vFF1/UvHnzlJ6e7jd28803a+XKlbriiiu0fv16v7HjL5C++uqrtXPnTl122WVnvWdJWrhwoaKiojRs2DBJ0jvvvKOf/exnuv322yV9E+I++eQT9ezZ0+99d999txYsWKADBw5o2LBhSkxM9Bu//PLLdfnll+uBBx7QbbfdpmXLlhGagHOMr+cAtEqvvvqqPB6Pxo8fr5SUFL/t5z//uZYuXapJkybpo48+0sMPP6yPP/5Yf/7zn627675dgXr44Ye1efNm3XfffSopKdEnn3yitWvXaurUqd+7x6qqKlVUVOizzz5TYWGhfv7zn2vVqlVavHixOnbsKEm67LLLVFhYqE2bNmn37t2aNGmSKioqmnzW2LFjdeDAAS1ZskR33XWXtb+2tlZTpkzR22+/rc8++0zvvvuutm/f3iR0ATj7CE0AWqWlS5dq2LBhcjqdTcZuvvlmlZSUyOPx6C9/+YteeeUV9enTR4sXL7bunnM4HJK+uTZp48aN+uSTT/SjH/1Iffv21a9//Wt17tz5e/f4y1/+Up07d9YVV1yhe++9VxdddJG2bdumrKwsq+bXv/61rr76amVkZGjIkCFyuVy64YYbmnxWVFSUbr75Zl100UV+48HBwTp8+LDuuOMOXX755RozZoyuv/56/eY3v/ne/QM4PUHm+AsAAKANmz17tv7whz+orKws0K2ctuHDh6tnz5763e9+F+hWAJwA1zQBaNOeffZZXXPNNYqJidG7776ruXPnnvIZTK3NkSNHVFBQoDfffFOLFi0KdDsAToLQBKBN++STT/Tb3/5WR44cUdeuXTVt2jTNmDEj0G2dlquvvloej0dPPvmkkpOTA90OgJPg6zkAAAAbuBAcAADABkITAACADYQmAAAAGwhNAAAANhCaAAAAbCA0AQAA2EBoAgAAsIHQBAAAYMP/D74n6wmvjcvsAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Let's explore the distribution of animal age more closely.\n", + "import seaborn as sns\n", + "sns.histplot(data=data['AgeInDays'], bins= 40)" + ] + }, + { + "cell_type": "markdown", + "id": "8b08973f", + "metadata": {}, + "source": [ + "#### We can see in the following histogram that there's considerably more data recorded after noon, so maybe that's interesting for prediction.\n", + "#### It's possible that this data will show a higher probability of adoption if the transaction occurs later in the day." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "5521b827", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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dU0TAABAf9OpmaY777yz3dNwe/bs6XRDAAAAwahToenL65m+1NLSorKyMpWXl7f5Il8AAIC+oFOhafXq1ZfdXlhYqKampmtqCAAAIBh16TVN//RP/8T3zgEAgD6pS0PTgQMHNHDgwK7cJQAAQFDo1Om5WbNm+a0bhqGqqiq9//77euyxx7qkMQAAgGDSqdDkcDj81q+77jolJSXpySefVHp6epc0BgAAEEw6FZpefPHFru4DAAAgqHUqNH2ptLRUFRUVstlsGjt2rMaPH99VfQEAAASVTl0IXlNTo7vuuku33XabcnNztWjRIqWkpGjq1Kmqra21vJ/33ntP06dPl8vlks1m09atW/3GDcNQYWGhXC6XwsPDNWXKFB09etSvxufzafHixYqJiVFERIRmzJihM2fO+NXU19fL7XbL4XDI4XDI7XaroaHBr+b06dOaPn26IiIiFBMTo9zcXDU3N3fo9wIAAPquToWmxYsXq7GxUUePHtW5c+dUX1+v8vJyNTY2Kjc31/J+Lly4oFtuuUVr16697PjTTz+tVatWae3atTpy5IicTqfuuecenT9/3qzJy8vT66+/rs2bN2vfvn1qampSVlaWWltbzZrs7GyVlZWpuLhYxcXFKisrk9vtNsdbW1t177336sKFC9q3b582b96sLVu2aMmSJZ347QAAgL6oU6fniouLtXv3bo0ZM8bcNnbsWP3iF7/o0IXgmZmZyszMvOyYYRh69tln9eijj5p367300kuKi4vTK6+8ogceeEAej0cvvPCCNm7cqLvvvluStGnTJiUkJGj37t3KyMhQRUWFiouLdfDgQU2cOFGStH79eqWlpen48eNKSkrSrl27dOzYMVVWVsrlckmSVq5cqfnz5+upp57SkCFDOvNrAgAAfUinZpouXryo0NDQNttDQ0N18eLFa25Kkk6ePKnq6mq/EGa323XHHXdo//79kr64pqqlpcWvxuVyKTk52aw5cOCAHA6HGZgkKTU1VQ6Hw68mOTnZDEySlJGRIZ/Pp9LS0iv26PP51NjY6LcAAIC+qVOh6a677tK//uu/6tNPPzW3ffLJJ/q3f/s3TZ06tUsaq66uliTFxcX5bY+LizPHqqurFRYWpqioqHZrYmNj2+w/NjbWr+bS54mKilJYWJhZcznLly83r5NyOBxKSEjo4FECAIDeolOhae3atTp//rxGjBihG2+8UV//+tc1cuRInT9/XmvWrOnSBm02m9+6YRhttl3q0prL1Xem5lJLly6Vx+Mxl8rKynb7AgAAvVenrmlKSEjQBx98oJKSEv3hD3+QYRgaO3aseV1RV3A6nZK+mAWKj483t9fU1JizQk6nU83Nzaqvr/ebbaqpqdGkSZPMmrNnz7bZf21trd9+Dh065DdeX1+vlpaWNjNQX2W322W32zt5hAAAoDfp0EzTnj17NHbsWPPanXvuuUeLFy9Wbm6ubrvtNt1000363e9+1yWNjRw5Uk6nUyUlJea25uZm7d271wxEKSkpCg0N9aupqqpSeXm5WZOWliaPx6PDhw+bNYcOHZLH4/GrKS8vV1VVlVmza9cu2e12paSkdMnxAACA3q1DM03PPvuscnJyLns3mcPh0AMPPKBVq1bpW9/6lqX9NTU16eOPPzbXT548qbKyMkVHR2v48OHKy8vTsmXLNGrUKI0aNUrLli3ToEGDlJ2dbT7nggULtGTJEg0dOlTR0dEqKCjQuHHjzFmvMWPGaNq0acrJydG6deskSQsXLlRWVpaSkpIkSenp6Ro7dqzcbrdWrFihc+fOqaCg4IrHCgAA+p8OzTT9/ve/17Rp0644np6e3u7dZpd6//33NX78ePOTxPPz8zV+/Hg9/vjjkqQf/ehHysvL04MPPqgJEybok08+0a5duxQZGWnuY/Xq1Zo5c6bmzJmjyZMna9CgQXrrrbcUEhJi1hQVFWncuHFKT09Xenq6br75Zm3cuNEcDwkJ0fbt2zVw4EBNnjxZc+bM0cyZM/XMM89YPhYAANC3dWim6ezZs5f9qAFzZwMGdOgTwadMmSLDMK44brPZVFhYqMLCwivWDBw4UGvWrGn3AvTo6Ght2rSp3V6GDx+ubdu2XbVnAADQP3Vopulv/uZv9NFHH11x/MMPP/S7aBsAAKCv6FBo+va3v63HH39cn3/+eZsxr9erJ554QllZWV3WHAAAQLDo0Om5//f//p9ee+01jR49WosWLVJSUpJsNpsqKir0i1/8Qq2trXr00Ue7q1cAAICA6VBoiouL0/79+/Uv//IvWrp0qXk9ks1mU0ZGhp577rl2P9cIAACgt+rwh1smJiZqx44dqq+v18cffyzDMDRq1Kg2X2UCAADQl3TqE8GlL76b7bbbbuvKXgAAAIJWp757DgAAoL8hNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgAaEJAADAAkITAACABYQmAAAACwhNAAAAFhCaAAAALBgQ6AYAIFC8Xq98Pp+lWo/H083dAAh2hCYA/ZLX61VC4gjV1dZ06HEXL17spo4ABDtCE4B+yefzqa62RlnLtig0fPBV6z87d1Y7f/o9QhPQjxGaAPRroeGDFTYo8qp1zd6mHugGQDDjQnAAAAALCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgQdCHphEjRshms7VZHnroIUnS/Pnz24ylpqb67cPn82nx4sWKiYlRRESEZsyYoTNnzvjV1NfXy+12y+FwyOFwyO12q6GhoacOEwAABLmgD01HjhxRVVWVuZSUlEiS/vEf/9GsmTZtml/Njh07/PaRl5en119/XZs3b9a+ffvU1NSkrKwstba2mjXZ2dkqKytTcXGxiouLVVZWJrfb3TMHCQAAgl7Qf7jlsGHD/NZ//vOf68Ybb9Qdd9xhbrPb7XI6nZd9vMfj0QsvvKCNGzfq7rvvliRt2rRJCQkJ2r17tzIyMlRRUaHi4mIdPHhQEydOlCStX79eaWlpOn78uJKSkrrp6AAAQG8R9DNNX9Xc3KxNmzbp+9//vmw2m7n93XffVWxsrEaPHq2cnBzV1Pzfd0mVlpaqpaVF6enp5jaXy6Xk5GTt379fknTgwAE5HA4zMElSamqqHA6HWXM5Pp9PjY2NfgsAAOibelVo2rp1qxoaGjR//nxzW2ZmpoqKirRnzx6tXLlSR44c0V133WV+c3l1dbXCwsIUFRXlt6+4uDhVV1ebNbGxsW2eLzY21qy5nOXLl5vXQDkcDiUkJHTBUQIAgGAU9KfnvuqFF15QZmamXC6XuW3u3Lnmz8nJyZowYYISExO1fft2zZo164r7MgzDb7bqqz9fqeZSS5cuVX5+vrne2NhIcAIAoI/qNaHpz3/+s3bv3q3XXnut3br4+HglJibqxIkTkiSn06nm5mbV19f7zTbV1NRo0qRJZs3Zs2fb7Ku2tlZxcXFXfC673S673d6ZwwEAAL1Mrzk99+KLLyo2Nlb33ntvu3V1dXWqrKxUfHy8JCklJUWhoaHmXXeSVFVVpfLycjM0paWlyePx6PDhw2bNoUOH5PF4zBoAANC/9YqZposXL+rFF1/UvHnzNGDA/7Xc1NSkwsJCzZ49W/Hx8Tp16pQeeeQRxcTE6L777pMkORwOLViwQEuWLNHQoUMVHR2tgoICjRs3zrybbsyYMZo2bZpycnK0bt06SdLChQuVlZXFnXMAAEBSLwlNu3fv1unTp/X973/fb3tISIg++ugjvfzyy2poaFB8fLzuvPNOvfrqq4qMjDTrVq9erQEDBmjOnDnyer2aOnWqNmzYoJCQELOmqKhIubm55l12M2bM0Nq1a3vmAAEAQNDrFaEpPT1dhmG02R4eHq6dO3de9fEDBw7UmjVrtGbNmivWREdHa9OmTdfUJwAA6Lt6zTVNAAAAgURoAgAAsIDQBAAAYAGhCQAAwAJCEwAAgAWEJgAAAAsITQAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgAaEJAADAAkITAACABYQmAAAACwhNAAAAFhCaAAAALCA0AQAAWEBoAgAAsIDQBAAAYAGhCQAAwAJCEwAAgAWEJgAAAAsITQAAABYQmgAAACwYEOgGAADoT7xer3w+n6Vau92u8PDwbu4IVgX1TFNhYaFsNpvf4nQ6zXHDMFRYWCiXy6Xw8HBNmTJFR48e9duHz+fT4sWLFRMTo4iICM2YMUNnzpzxq6mvr5fb7ZbD4ZDD4ZDb7VZDQ0NPHCIAoB/xer1KSByhqKgoS0tC4gh5vd5At43/FfQzTTfddJN2795troeEhJg/P/3001q1apU2bNig0aNH62c/+5nuueceHT9+XJGRkZKkvLw8vfXWW9q8ebOGDh2qJUuWKCsrS6Wlpea+srOzdebMGRUXF0uSFi5cKLfbrbfeeqsHjxQA0Nf5fD7V1dYoa9kWhYYPbre2xdukbY/Mls/nY7YpSAR9aBowYIDf7NKXDMPQs88+q0cffVSzZs2SJL300kuKi4vTK6+8ogceeEAej0cvvPCCNm7cqLvvvluStGnTJiUkJGj37t3KyMhQRUWFiouLdfDgQU2cOFGStH79eqWlpen48eNKSkq6Ym8+n89virWxsbErDx0A0EeFhg9W2KDIQLeBDgrq03OSdOLECblcLo0cOVL333+//vSnP0mSTp48qerqaqWnp5u1drtdd9xxh/bv3y9JKi0tVUtLi1+Ny+VScnKyWXPgwAE5HA4zMElSamqqHA6HWXMly5cvN0/pORwOJSQkdNlxAwCA4BLUoWnixIl6+eWXtXPnTq1fv17V1dWaNGmS6urqVF1dLUmKi4vze0xcXJw5Vl1drbCwMEVFRbVbExsb2+a5Y2NjzZorWbp0qTwej7lUVlZ2+lgBAEBwC+rTc5mZmebP48aNU1pamm688Ua99NJLSk1NlSTZbDa/xxiG0WbbpS6tuVy9lf3Y7XbZ7farHgcAAOj9gnqm6VIREREaN26cTpw4YV7ndOlsUE1NjTn75HQ61dzcrPr6+nZrzp492+a5amtr28xiAQCA/qtXhSafz6eKigrFx8dr5MiRcjqdKikpMcebm5u1d+9eTZo0SZKUkpKi0NBQv5qqqiqVl5ebNWlpafJ4PDp8+LBZc+jQIXk8HrMGAAAgqE/PFRQUaPr06Ro+fLhqamr0s5/9TI2NjZo3b55sNpvy8vK0bNkyjRo1SqNGjdKyZcs0aNAgZWdnS5IcDocWLFigJUuWaOjQoYqOjlZBQYHGjRtn3k03ZswYTZs2TTk5OVq3bp2kLz5yICsrq9075wAAQP8S1KHpzJkz+s53vqO//OUvGjZsmFJTU3Xw4EElJiZKkn70ox/J6/XqwQcfVH19vSZOnKhdu3aZn9EkSatXr9aAAQM0Z84ceb1eTZ06VRs2bPD7vKeioiLl5uaad9nNmDFDa9eu7dmDBQAAQS2oQ9PmzZvbHbfZbCosLFRhYeEVawYOHKg1a9ZozZo1V6yJjo7Wpk2bOtsmAADoB3rVNU0AAACBQmgCAACwgNAEAABgAaEJAADAgqC+EBxA7+H1ev2+wPpq7HY739wOoFchNAG4Zl6vVwmJI1RXW2P5MUOHxaryz6cITgB6DUITgGvm8/lUV1ujrGVbFBo++Kr1Ld4mbXtktnw+H6EJQK9BaALQZULDBytsUOTVCwGgF+JCcAAAAAsITQAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsIDQBAABYwBf2Agh6Xq9XPp/PUq3dbld4eHg3dwSgPyI0AQhqXq9XCYkjVFdbY6l+6LBYVf75FMEJQJcjNAEIaj6fT3W1NcpatkWh4YPbrW3xNmnbI7Pl8/kITQC6HKGpl+D0BPq70PDBChsUGeg2APRjhKZegNMTAAAEHqGpF+D0BAAAgUdo6kU4PQEAQODwOU0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgQVCHpuXLl+u2225TZGSkYmNjNXPmTB0/ftyvZv78+bLZbH5LamqqX43P59PixYsVExOjiIgIzZgxQ2fOnPGrqa+vl9vtlsPhkMPhkNvtVkNDQ3cfIgAA6CWCOjTt3btXDz30kA4ePKiSkhL99a9/VXp6ui5cuOBXN23aNFVVVZnLjh07/Mbz8vL0+uuva/Pmzdq3b5+ampqUlZWl1tZWsyY7O1tlZWUqLi5WcXGxysrK5Ha7e+Q4AQBA8Avqz2kqLi72W3/xxRcVGxur0tJS3X777eZ2u90up9N52X14PB698MIL2rhxo+6++25J0qZNm5SQkKDdu3crIyNDFRUVKi4u1sGDBzVx4kRJ0vr165WWlqbjx48rKSmpm44QAAD0FkE903Qpj8cjSYqOjvbb/u677yo2NlajR49WTk6Oamr+7+tGSktL1dLSovT0dHOby+VScnKy9u/fL0k6cOCAHA6HGZgkKTU1VQ6Hw6y5HJ/Pp8bGRr8FAAD0Tb0mNBmGofz8fH3zm99UcnKyuT0zM1NFRUXas2ePVq5cqSNHjuiuu+4yv9y2urpaYWFhioqK8ttfXFycqqurzZrY2Ng2zxkbG2vWXM7y5cvNa6AcDocSEhK64lABAEAQCurTc1+1aNEiffjhh9q3b5/f9rlz55o/Jycna8KECUpMTNT27ds1a9asK+7PMAzZbDZz/as/X6nmUkuXLlV+fr653tjYSHACAKCP6hUzTYsXL9abb76pd955RzfccEO7tfHx8UpMTNSJEyckSU6nU83Nzaqvr/erq6mpUVxcnFlz9uzZNvuqra01ay7HbrdryJAhfgsAAOibgjo0GYahRYsW6bXXXtOePXs0cuTIqz6mrq5OlZWVio+PlySlpKQoNDRUJSUlZk1VVZXKy8s1adIkSVJaWpo8Ho8OHz5s1hw6dEgej8esAQAA/VtQn5576KGH9Morr+iNN95QZGSkeX2Rw+FQeHi4mpqaVFhYqNmzZys+Pl6nTp3SI488opiYGN13331m7YIFC7RkyRINHTpU0dHRKigo0Lhx48y76caMGaNp06YpJydH69atkyQtXLhQWVlZ3DkHAAAkBXloev755yVJU6ZM8dv+4osvav78+QoJCdFHH32kl19+WQ0NDYqPj9edd96pV199VZGRkWb96tWrNWDAAM2ZM0der1dTp07Vhg0bFBISYtYUFRUpNzfXvMtuxowZWrt2bfcfJAAA6BWCOjQZhtHueHh4uHbu3HnV/QwcOFBr1qzRmjVrrlgTHR2tTZs2dbhHoLfxer3m3aVXY7fbFR4e3s0dAUDvENShCUDX8nq9SkgcobramqsXSxo6LFaVfz5FcAIAEZqAfsXn86mutkZZy7YoNHxwu7Ut3iZte2S2fD4foQkARGgC+qXQ8MEKGxR59UIAgCmoP3IAAAAgWBCaAAAALCA0AQAAWEBoAgAAsIDQBAAAYAGhCQAAwAJCEwAAgAWEJgAAAAsITQAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMCCAYFuAMC18Xq98vl8lmo9Hk83dwMAfRehCejFvF6vEhJHqK62pkOPu3jxYjd1BAB9F6EJ6MV8Pp/qamuUtWyLQsMHX7X+s3NntfOn3yM0AUAnEJqAPiA0fLDCBkVeta7Z29QD3QBA38SF4AAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAW8IngAAAEsY580bbdbld4eHg3dtO/EZqAHuL1euXz+SzV8ocPQGuzT7ouRCNGjLD8mKHDYlX551OW/n7wN6njCE1AD/B6vUpIHKG62hpL9R35wwegb2ptbZEutmrak79ReKTjqvUt3iZte2S2fD7fVf92dPffpL4ayAhNl3juuee0YsUKVVVV6aabbtKzzz6rb33rW4FuC72cz+dTXW2NspZtUWj44HZrO/KHD0DfFxoeYekLuTuiO/8m9eX/SSQ0fcWrr76qvLw8Pffcc5o8ebLWrVunzMxMHTt2TMOHDw90e+gDQsMHd/kfPwDorO74m9SX/yeR0PQVq1at0oIFC/SDH/xAkvTss89q586dev7557V8+fIAd9cxvfHCwY5M5168eFHXXWft5s+OHF9HeujovgGgP+lIILP6b1ag/+YSmv5Xc3OzSktL9eMf/9hve3p6uvbv33/Zx/h8Pr9/YL980RsbG7u0ty/391l9jVo+v9Bu7eeN5yTbdR26cDAqeqgOHtivgQMHXkub1+Tzzz9Xatok1Z+rs/aA60Kki62WSq0eX4d76MC+O/Iatni/GD9z5sxV/1vqyH4l6fOGv0iSvPW1Mv7afjjszj66a999/XfXkf1257753fVMzx35vXVnH935u+vov1lRQ2NUcbS8y4PTlz0bhtF+oQHDMAzjk08+MSQZ//Vf/+W3/amnnjJGjx592cc88cQThiQWFhYWFhaWPrBUVla2mxWYabqEzWbzWzcMo822Ly1dulT5+fnm+sWLF3Xu3DkNHTr0io/pjMbGRiUkJKiyslJDhgzpsv2iY3gdggOvQ3DgdQgOvA5dwzAMnT9/Xi6Xq906QtP/iomJUUhIiKqrq/2219TUKC4u7rKPsdvtstvtftuuv/767mpRQ4YM4U0RBHgdggOvQ3DgdQgOvA7XzuFwXLWGr1H5X2FhYUpJSVFJSYnf9pKSEk2aNClAXQEAgGDBTNNX5Ofny+12a8KECUpLS9OvfvUrnT59Wj/84Q8D3RoAAAgwQtNXzJ07V3V1dXryySdVVVWl5ORk7dixQ4mJiQHty26364knnmhzKhA9i9chOPA6BAdeh+DA69CzbIZxtfvrAAAAwDVNAAAAFhCaAAAALCA0AQAAWEBoAgAAsIDQ1As899xzGjlypAYOHKiUlBT97ne/C3RL/UphYaFsNpvf4nQ6A91Wn/fee+9p+vTpcrlcstls2rp1q9+4YRgqLCyUy+VSeHi4pkyZoqNHjwam2T7saq/D/Pnz27w/UlNTA9NsH7V8+XLddtttioyMVGxsrGbOnKnjx4/71fB+6BmEpiD36quvKi8vT48++qj++7//W9/61reUmZmp06dPB7q1fuWmm25SVVWVuXz00UeBbqnPu3Dhgm655RatXbv2suNPP/20Vq1apbVr1+rIkSNyOp265557dP78+R7utG+72usgSdOmTfN7f+zYsaMHO+z79u7dq4ceekgHDx5USUmJ/vrXvyo9PV0XLvzfl+HyfughXfBdt+hGf/d3f2f88Ic/9Nv2t3/7t8aPf/zjAHXU/zzxxBPGLbfcEug2+jVJxuuvv26uX7x40XA6ncbPf/5zc9vnn39uOBwO45e//GUAOuwfLn0dDMMw5s2bZ/z93/99QPrpr2pqagxJxt69ew3D4P3Qk5hpCmLNzc0qLS1Venq63/b09HTt378/QF31TydOnJDL5dLIkSN1//33609/+lOgW+rXTp48qerqar/3ht1u1x133MF7IwDeffddxcbGavTo0crJyVFNTU2gW+rTPB6PJCk6OloS74eeRGgKYn/5y1/U2tra5guD4+Li2nyxMLrPxIkT9fLLL2vnzp1av369qqurNWnSJNXV1QW6tX7ry//+eW8EXmZmpoqKirRnzx6tXLlSR44c0V133SWfzxfo1vokwzCUn5+vb37zm0pOTpbE+6En8TUqvYDNZvNbNwyjzTZ0n8zMTPPncePGKS0tTTfeeKNeeukl5efnB7Az8N4IvLlz55o/Jycna8KECUpMTNT27ds1a9asAHbWNy1atEgffvih9u3b12aM90P3Y6YpiMXExCgkJKTN/ynU1NS0+T8K9JyIiAiNGzdOJ06cCHQr/daXdy/y3gg+8fHxSkxM5P3RDRYvXqw333xT77zzjm644QZzO++HnkNoCmJhYWFKSUlRSUmJ3/aSkhJNmjQpQF3B5/OpoqJC8fHxgW6l3xo5cqScTqffe6O5uVl79+7lvRFgdXV1qqys5P3RhQzD0KJFi/Taa69pz549GjlypN8474eew+m5IJefny+3260JEyYoLS1Nv/rVr3T69Gn98Ic/DHRr/UZBQYGmT5+u4cOHq6amRj/72c/U2NioefPmBbq1Pq2pqUkff/yxuX7y5EmVlZUpOjpaw4cPV15enpYtW6ZRo0Zp1KhRWrZsmQYNGqTs7OwAdt33tPc6REdHq7CwULNnz1Z8fLxOnTqlRx55RDExMbrvvvsC2HXf8tBDD+mVV17RG2+8ocjISHNGyeFwKDw8XDabjfdDTwnovXuw5Be/+IWRmJhohIWFGbfeeqt5myl6xty5c434+HgjNDTUcLlcxqxZs4yjR48Guq0+75133jEktVnmzZtnGMYXt1k/8cQThtPpNOx2u3H77bcbH330UWCb7oPaex0+++wzIz093Rg2bJgRGhpqDB8+3Jg3b55x+vTpQLfdp1zu9y/JePHFF80a3g89w2YYhtHzUQ0AAKB34ZomAAAACwhNAAAAFhCaAAAALCA0AQAAWEBoAgAAsIDQBAAAYAGhCQAAwAJCEwAAgAWEJgAAAAsITQD6jfnz52vmzJlttr/77ruy2WxqaGjo8Z4A9B6EJgDoAS0tLYFuAcA1IjQBwCW2bNmim266SXa7XSNGjNDKlSv9xm02m7Zu3eq37frrr9eGDRskSadOnZLNZtNvfvMbTZkyRQMHDtSmTZt6qHsA3YXQBABfUVpaqjlz5uj+++/XRx99pMLCQj322GNmIOqIhx9+WLm5uaqoqFBGRkbXNwugRw0IdAMA0JO2bdumwYMH+21rbW01f161apWmTp2qxx57TJI0evRoHTt2TCtWrND8+fM79Fx5eXmaNWvWNfcMIDgw0wSgX7nzzjtVVlbmt/zHf/yHOV5RUaHJkyf7PWby5Mk6ceKEX7iyYsKECV3SM4DgwEwTgH4lIiJCX//61/22nTlzxvzZMAzZbDa/ccMw/NZtNlubbZe70DsiIuJa2wUQRJhpAoCvGDt2rPbt2+e3bf/+/Ro9erRCQkIkScOGDVNVVZU5fuLECX322Wc92ieAnsdMEwB8xZIlS3Tbbbfppz/9qebOnasDBw5o7dq1eu6558yau+66S2vXrlVqaqouXryohx9+WKGhoQHsGkBPYKYJAL7i1ltv1W9+8xtt3rxZycnJevzxx/Xkk0/6XQS+cuVKJSQk6Pbbb1d2drYKCgo0aNCgwDUNoEfYjEtPzAMAAKANZpoAAAAsIDQBAABYQGgCAACwgNAEAABgAaEJAADAAkITAACABYQmAAAACwhNAAAAFhCaAAAALCA0AQAAWEBoAgAAsOD/A3dHHfVeH+G8AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Finally, let's also explore the hour of the day.\n", + "sns.histplot(data=data['Hour'], bins= 40)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "3f9a5c00", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
AgeInDaysYearMonthHourCosineBirthMonthHasNameType_CatType_DogType_LivestockSex_Intact MaleSex_Neutered MaleSex_Spayed FemaleSex_UnknownOutcome_Adoption
0142014-1.0000001.05FalseFalseFalseFalseFalseFalseFalseTrueFalse
1602014-0.8660251.04TrueFalseTrueFalseFalseFalseTrueFalseTrue
2282014-0.8660251.06FalseFalseFalseFalseFalseFalseFalseTrueFalse
3142014-0.8660251.06FalseFalseFalseFalseFalseFalseFalseTrueFalse
41502014-0.5000001.03FalseFalseFalseFalseTrueFalseFalseFalseFalse
\n", + "
" + ], + "text/plain": [ + " AgeInDays Year Month HourCosine BirthMonth HasName Type_Cat \\\n", + "0 14 2014 -1.000000 1.0 5 False False \n", + "1 60 2014 -0.866025 1.0 4 True False \n", + "2 28 2014 -0.866025 1.0 6 False False \n", + "3 14 2014 -0.866025 1.0 6 False False \n", + "4 150 2014 -0.500000 1.0 3 False False \n", + "\n", + " Type_Dog Type_Livestock Sex_Intact Male Sex_Neutered Male \\\n", + "0 False False False False \n", + "1 True False False False \n", + "2 False False False False \n", + "3 False False False False \n", + "4 False False True False \n", + "\n", + " Sex_Spayed Female Sex_Unknown Outcome_Adoption \n", + "0 False True False \n", + "1 True False True \n", + "2 False True False \n", + "3 False True False \n", + "4 False False False " + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Now for PART 2\n", + "from sklearn.model_selection import train_test_split\n", + "data.drop(['Hour'], axis=1, inplace=True)\n", + "data.head()\n", + "# Let's first get rid of the normal hour count, since we have the cosine version and have visualized the distribution of hours." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "17384e1b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " AgeInDays Year Month HourCosine BirthMonth HasName Type_Cat \\\n", + "0 14 2014 -1.000000 1.0 5 False False \n", + "1 60 2014 -0.866025 1.0 4 True False \n", + "2 28 2014 -0.866025 1.0 6 False False \n", + "3 14 2014 -0.866025 1.0 6 False False \n", + "4 150 2014 -0.500000 1.0 3 False False \n", + "\n", + " Type_Dog Type_Livestock Sex_Intact Male Sex_Neutered Male \\\n", + "0 False False False False \n", + "1 True False False False \n", + "2 False False False False \n", + "3 False False False False \n", + "4 False False True False \n", + "\n", + " Sex_Spayed Female Sex_Unknown \n", + "0 False True \n", + "1 True False \n", + "2 False True \n", + "3 False True \n", + "4 False False \n" + ] + } + ], + "source": [ + "# Some of the following was informed by AI, but not directly generated. See [6]\n", + "x = data[data.loc[:, 'AgeInDays':'Sex_Unknown'].columns.tolist()]\n", + "y = data['Outcome_Adoption']\n", + "print(x.head())\n", + "x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, stratify=y, random_state=1)\n", + "# stratify=y ensures the same general proportion of transfer to adoption in testing and training data.\n", + "# random_state=1 ensures the results are reproducible, randomizing the input data in a controlled manner." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b4104bd2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Performance on TRAINING\n", + "*****************\n", + " precision recall f1-score support\n", + "\n", + " False 0.35 1.00 0.52 31916\n", + " True 0.00 0.00 0.00 58426\n", + "\n", + " accuracy 0.35 90342\n", + " macro avg 0.18 0.50 0.26 90342\n", + "weighted avg 0.12 0.35 0.18 90342\n", + "\n", + "Performance on TEST\n", + "*****************\n", + " precision recall f1-score support\n", + "\n", + " False 0.35 1.00 0.52 13678\n", + " True 0.00 0.00 0.00 25041\n", + "\n", + " accuracy 0.35 38719\n", + " macro avg 0.18 0.50 0.26 38719\n", + "weighted avg 0.12 0.35 0.18 38719\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/opt/miniconda3/lib/python3.13/site-packages/sklearn/metrics/_classification.py:1731: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, f\"{metric.capitalize()} is\", result.shape[0])\n", + "/opt/miniconda3/lib/python3.13/site-packages/sklearn/metrics/_classification.py:1731: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, f\"{metric.capitalize()} is\", result.shape[0])\n", + "/opt/miniconda3/lib/python3.13/site-packages/sklearn/metrics/_classification.py:1731: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, f\"{metric.capitalize()} is\", result.shape[0])\n", + "/opt/miniconda3/lib/python3.13/site-packages/sklearn/metrics/_classification.py:1731: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, f\"{metric.capitalize()} is\", result.shape[0])\n", + "/opt/miniconda3/lib/python3.13/site-packages/sklearn/metrics/_classification.py:1731: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, f\"{metric.capitalize()} is\", result.shape[0])\n", + "/opt/miniconda3/lib/python3.13/site-packages/sklearn/metrics/_classification.py:1731: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, f\"{metric.capitalize()} is\", result.shape[0])\n" + ] + } + ], + "source": [ + "# We will first perform linear classification via Stochastic Gradient Descent.\n", + "\n", + "from sklearn.linear_model import SGDClassifier\n", + "from sklearn.metrics import classification_report\n", + "\n", + "clf = SGDClassifier(loss=\"perceptron\", alpha=0.05, random_state=1)\n", + "\n", + "clf.fit(x_train, y_train)\n", + "\n", + "def report(classifier):\n", + " # Accuracy, Precision, Recall, and F1 scores\n", + " print(f\"Performance on TRAINING\\n*****************\\n{classification_report(y_train,classifier.predict(x_train))}\")\n", + " print(f\"Performance on TEST\\n*****************\\n{classification_report(y_test,classifier.predict(x_test))}\")\n", + "\n", + "report(clf)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "b82c29be", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Performance on TRAINING\n", + "*****************\n", + " precision recall f1-score support\n", + "\n", + " False 0.91 0.83 0.87 31916\n", + " True 0.91 0.96 0.93 58426\n", + "\n", + " accuracy 0.91 90342\n", + " macro avg 0.91 0.89 0.90 90342\n", + "weighted avg 0.91 0.91 0.91 90342\n", + "\n", + "Performance on TEST\n", + "*****************\n", + " precision recall f1-score support\n", + "\n", + " False 0.81 0.71 0.76 13678\n", + " True 0.85 0.91 0.88 25041\n", + "\n", + " accuracy 0.84 38719\n", + " macro avg 0.83 0.81 0.82 38719\n", + "weighted avg 0.84 0.84 0.84 38719\n", + "\n" + ] + } + ], + "source": [ + "# now, we will perform k-nearest neighbors classification without cross-validation. \n", + "from sklearn.neighbors import KNeighborsClassifier\n", + "\n", + "knn = KNeighborsClassifier(n_neighbors=3) # choosing arbitrary number of neighbors, \n", + "\n", + "# fit the model to the training set\n", + "knn.fit(x_train, y_train)\n", + "\n", + "report(knn)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8ed14aaf", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Performance on TRAINING\n", + "*****************\n", + " precision recall f1-score support\n", + "\n", + " False 0.81 1.00 0.89 31916\n", + " True 1.00 0.87 0.93 58426\n", + "\n", + " accuracy 0.91 90342\n", + " macro avg 0.90 0.93 0.91 90342\n", + "weighted avg 0.93 0.91 0.92 90342\n", + "\n", + "Performance on TEST\n", + "*****************\n", + " precision recall f1-score support\n", + "\n", + " False 0.67 0.82 0.74 13678\n", + " True 0.89 0.78 0.83 25041\n", + "\n", + " accuracy 0.80 38719\n", + " macro avg 0.78 0.80 0.79 38719\n", + "weighted avg 0.81 0.80 0.80 38719\n", + "\n" + ] + } + ], + "source": [ + "# Finally, we will perform k-nearest neighbors classification with cross-validation. \n", + "from sklearn.model_selection import GridSearchCV\n", + "\n", + "knn_search = KNeighborsClassifier()\n", + "param_grid = {\"n_neighbors\": np.arange(1, 100)}\n", + "knn_gscv = GridSearchCV(knn_search, param_grid, cv=5, scoring=\"precision\") # most important metric from business perspective.\n", + "\n", + "# fit the model to the training set\n", + "knn_gscv.fit(x_train, y_train)\n", + "best_knn = knn_gscv.best_estimator_\n", + "\n", + "report(best_knn)\n", + "k_param = knn_gscv.best_params_" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "22d2e4ae", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'n_neighbors': np.int64(2)}\n" + ] + } + ], + "source": [ + "print(k_param)" + ] + }, + { + "cell_type": "markdown", + "id": "24412ca1", + "metadata": {}, + "source": [ + "from a business perspective, the most important metric is the tp/tp+fp, or precision metric, since it is more costly for a shelter to maintain an animal that will get transferred rather than transferring it as soon as possible. False positives would cause the retention of animals that have low chance of getting adopted, rather than transferring them to other shelters, where they may have higher chances of adoption." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "base", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}