From c9bbc3c14d3c6c2085c0cc08684a510e83cd72a3 Mon Sep 17 00:00:00 2001 From: Kedasha Date: Tue, 14 May 2024 22:17:19 -0500 Subject: [PATCH 1/4] demo state --- Flight_Data_Analysis.ipynb | 292 ++----------------------------------- 1 file changed, 9 insertions(+), 283 deletions(-) diff --git a/Flight_Data_Analysis.ipynb b/Flight_Data_Analysis.ipynb index 138b8ea..529ebd2 100644 --- a/Flight_Data_Analysis.ipynb +++ b/Flight_Data_Analysis.ipynb @@ -32,207 +32,9 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
YearMonthDayofMonthDayOfWeekCarrierOriginAirportIDOriginAirportNameOriginCityOriginStateDestAirportIDDestAirportNameDestCityDestStateCRSDepTimeDepDelayDepDel15CRSArrTimeArrDelayArrDel15Cancelled
020139161DL15304Tampa InternationalTampaFL12478John F. Kennedy InternationalNew YorkNY153940.018241300
120139231WN14122Pittsburgh InternationalPittsburghPA13232Chicago Midway InternationalChicagoIL71030.07402210
22013976AS14747Seattle/Tacoma InternationalSeattleWA11278Ronald Reagan Washington NationalWashingtonDC810-30.01614-700
320137221OO13930Chicago O'Hare InternationalChicagoIL11042Cleveland-Hopkins InternationalClevelandOH804351.010273310
420135164DL13931Norfolk InternationalNorfolkVA10397Hartsfield-Jackson Atlanta InternationalAtlantaGA545-10.0728-900
\n", - "
" - ], - "text/plain": [ - " Year Month DayofMonth DayOfWeek Carrier OriginAirportID \\\n", - "0 2013 9 16 1 DL 15304 \n", - "1 2013 9 23 1 WN 14122 \n", - "2 2013 9 7 6 AS 14747 \n", - "3 2013 7 22 1 OO 13930 \n", - "4 2013 5 16 4 DL 13931 \n", - "\n", - " OriginAirportName OriginCity OriginState DestAirportID \\\n", - "0 Tampa International Tampa FL 12478 \n", - "1 Pittsburgh International Pittsburgh PA 13232 \n", - "2 Seattle/Tacoma International Seattle WA 11278 \n", - "3 Chicago O'Hare International Chicago IL 11042 \n", - "4 Norfolk International Norfolk VA 10397 \n", - "\n", - " DestAirportName DestCity DestState CRSDepTime \\\n", - "0 John F. Kennedy International New York NY 1539 \n", - "1 Chicago Midway International Chicago IL 710 \n", - "2 Ronald Reagan Washington National Washington DC 810 \n", - "3 Cleveland-Hopkins International Cleveland OH 804 \n", - "4 Hartsfield-Jackson Atlanta International Atlanta GA 545 \n", - "\n", - " DepDelay DepDel15 CRSArrTime ArrDelay ArrDel15 Cancelled \n", - "0 4 0.0 1824 13 0 0 \n", - "1 3 0.0 740 22 1 0 \n", - "2 -3 0.0 1614 -7 0 0 \n", - "3 35 1.0 1027 33 1 0 \n", - "4 -1 0.0 728 -9 0 0 " - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# identify and replace missing values\n", "df.isnull().sum()\n", @@ -282,59 +84,16 @@ "source": [ "## Create a model with GitHub Copilot\n", "\n", - "You can create a model with GitHub Copilot. For example, you can ask Copilot to create a model that predicts whether a flight will be delayed or not.\n", - "\n", - "Demo Prompt: \n", - "```markdown\n", - "\n", - "1. CMD + i (in a new cell)\n", - "\n", - "2. create a model to predict the likelihood of a flight being delayed based on the day of the week and the arrival airport. Use Logistic regression and calculate the accuracy of the model.\n", - "\n", - "3. resolve terminal errors with copilot in the terminal\n", - "\n", - "```" + "You can create a model with GitHub Copilot. For example, you can ask Copilot to create a model that predicts whether a flight will be delayed or not." ] }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Accuracy: 0.80\n" - ] - } - ], + "outputs": [], "source": [ - "from sklearn.model_selection import train_test_split\n", - "from sklearn.linear_model import LogisticRegression\n", - "\n", - "# Split the dataset into features (X) and target variable (y)\n", - "X = df[['DayOfWeek', 'DestAirportID']]\n", - "y = df['ArrDel15']\n", - "\n", - "# Split the dataset into training and testing sets\n", - "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n", - "\n", - "# Create a logistic regression model\n", - "model = LogisticRegression()\n", - "\n", - "# Fit the model on the training data\n", - "model.fit(X_train, y_train)\n", - "\n", - "# Predict the probabilities of flight delays for the test data\n", - "y_pred_proba = model.predict_proba(X_test)\n", - "\n", - "# You can also predict the actual class labels\n", - "y_pred = model.predict(X_test)\n", - "\n", - "# Calculate the accuracy of the model\n", - "accuracy = model.score(X_test, y_test)\n", - "print(f'Accuracy: {accuracy:.2f}')\n" + "# build model here\n" ] }, { @@ -343,16 +102,7 @@ "source": [ "## Code with your Voice with GitHub Copilot\n", "\n", - "With Copilot Chat you can start a Voice chat and get help with your dataset.\n", - "\n", - "Demo Prompt:\n", - "```markdown\n", - "\n", - "1. open Copilot Chat\n", - "2. click the mic to start a voice chat\n", - "3. Ask: Make a prediction of the odds of a flight being delayed to Los Angeles on a Wednesday\n", - "\n", - "```" + "With Copilot Chat you can start a Voice chat and get help with your dataset." ] }, { @@ -361,19 +111,7 @@ "metadata": {}, "outputs": [], "source": [ - "# add code here from voice\n", - "\n", - "# Create a dataframe with the input values\n", - "data = {'DayOfWeek': [3], 'DestAirportID': [12892]}\n", - "\n", - "# Make a prediction\n", - "input_values = pd.DataFrame(data)\n", - "\n", - "# Make a prediction\n", - "prediction = model.predict_proba(input_values)\n", - "\n", - "# Show the prediction\n", - "prediction[0]" + "# add code here from voice\n" ] }, { @@ -382,19 +120,7 @@ "source": [ "# Slash Commands & Smart Actions with GitHub Copilot\n", "\n", - "Slash commands and smart actions make it a fast way to interact with GitHub Copilot. You can use it to write documentation, test, and more.\n", - "\n", - "Demo Prompt:\n", - "```markdown\n", - "\n", - "1. open server.py file\n", - "2. open Copilot Chat or press CMD + i\n", - "3. type /test\n", - "4. add tests to a new file and save\n", - "5. commit your changes with smart actions sparkles\n", - "6. push your changes to the repo\n", - "\n", - "```" + "Slash commands and smart actions make it a fast way to interact with GitHub Copilot. You can use it to write documentation, test, and more.\n" ] } ], From be971d3d97912f3898d9a890155f2992a19968e9 Mon Sep 17 00:00:00 2001 From: Harald Kirschner Date: Sat, 18 May 2024 09:59:04 -0700 Subject: [PATCH 2/4] Baseline --- Flight_Data_Analysis.ipynb | 447 ++++++++++++++++++++++++++++++++----- 1 file changed, 395 insertions(+), 52 deletions(-) diff --git a/Flight_Data_Analysis.ipynb b/Flight_Data_Analysis.ipynb index 529ebd2..95fe7fe 100644 --- a/Flight_Data_Analysis.ipynb +++ b/Flight_Data_Analysis.ipynb @@ -4,28 +4,405 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Predicting Flight Delays with GitHub Copilot\n", + "# Predicting Flight Delays\n", + "\n", "The flight dataset is a dataset that contains information about flights and how they are delayed.\n", "In this notebook, we will use the dataset to predict whether a flight will be delayed or not." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
YearMonthDayofMonthDayOfWeekCarrierOriginAirportIDOriginAirportNameOriginCityOriginStateDestAirportIDDestAirportNameDestCityDestStateCRSDepTimeDepDelayDepDel15CRSArrTimeArrDelayArrDel15Cancelled
020139161DL15304Tampa InternationalTampaFL12478John F. Kennedy InternationalNew YorkNY153940.018241300
120139231WN14122Pittsburgh InternationalPittsburghPA13232Chicago Midway InternationalChicagoIL71030.07402210
22013976AS14747Seattle/Tacoma InternationalSeattleWA11278Ronald Reagan Washington NationalWashingtonDC810-30.01614-700
320137221OO13930Chicago O'Hare InternationalChicagoIL11042Cleveland-Hopkins InternationalClevelandOH804351.010273310
420135164DL13931Norfolk InternationalNorfolkVA10397Hartsfield-Jackson Atlanta InternationalAtlantaGA545-10.0728-900
...............................................................
27193520139205VX13204Orlando InternationalOrlandoFL12892Los Angeles InternationalLos AngelesCA173010.019451810
27193620134195FL10397Hartsfield-Jackson Atlanta InternationalAtlantaGA11697Fort Lauderdale-Hollywood InternationalFort LauderdaleFL1020241.012186110
271937201310266WN12191William P HobbyHoustonTX10821Baltimore/Washington International Thurgood Ma...BaltimoreMD1540301.019351510
2719382013572HA13830Kahului AirportKahuluiHI12173Honolulu InternationalHonoluluHI609-50.0641-600
27193920136112UA14771San Francisco InternationalSan FranciscoCA14100Philadelphia InternationalPhiladelphiaPA1338601.022004010
\n", + "

271940 rows × 20 columns

\n", + "
" + ], + "text/plain": [ + " Year Month DayofMonth DayOfWeek Carrier OriginAirportID \\\n", + "0 2013 9 16 1 DL 15304 \n", + "1 2013 9 23 1 WN 14122 \n", + "2 2013 9 7 6 AS 14747 \n", + "3 2013 7 22 1 OO 13930 \n", + "4 2013 5 16 4 DL 13931 \n", + "... ... ... ... ... ... ... \n", + "271935 2013 9 20 5 VX 13204 \n", + "271936 2013 4 19 5 FL 10397 \n", + "271937 2013 10 26 6 WN 12191 \n", + "271938 2013 5 7 2 HA 13830 \n", + "271939 2013 6 11 2 UA 14771 \n", + "\n", + " OriginAirportName OriginCity OriginState \\\n", + "0 Tampa International Tampa FL \n", + "1 Pittsburgh International Pittsburgh PA \n", + "2 Seattle/Tacoma International Seattle WA \n", + "3 Chicago O'Hare International Chicago IL \n", + "4 Norfolk International Norfolk VA \n", + "... ... ... ... \n", + "271935 Orlando International Orlando FL \n", + "271936 Hartsfield-Jackson Atlanta International Atlanta GA \n", + "271937 William P Hobby Houston TX \n", + "271938 Kahului Airport Kahului HI \n", + "271939 San Francisco International San Francisco CA \n", + "\n", + " DestAirportID DestAirportName \\\n", + "0 12478 John F. Kennedy International \n", + "1 13232 Chicago Midway International \n", + "2 11278 Ronald Reagan Washington National \n", + "3 11042 Cleveland-Hopkins International \n", + "4 10397 Hartsfield-Jackson Atlanta International \n", + "... ... ... \n", + "271935 12892 Los Angeles International \n", + "271936 11697 Fort Lauderdale-Hollywood International \n", + "271937 10821 Baltimore/Washington International Thurgood Ma... \n", + "271938 12173 Honolulu International \n", + "271939 14100 Philadelphia International \n", + "\n", + " DestCity DestState CRSDepTime DepDelay DepDel15 CRSArrTime \\\n", + "0 New York NY 1539 4 0.0 1824 \n", + "1 Chicago IL 710 3 0.0 740 \n", + "2 Washington DC 810 -3 0.0 1614 \n", + "3 Cleveland OH 804 35 1.0 1027 \n", + "4 Atlanta GA 545 -1 0.0 728 \n", + "... ... ... ... ... ... ... \n", + "271935 Los Angeles CA 1730 1 0.0 1945 \n", + "271936 Fort Lauderdale FL 1020 24 1.0 1218 \n", + "271937 Baltimore MD 1540 30 1.0 1935 \n", + "271938 Honolulu HI 609 -5 0.0 641 \n", + "271939 Philadelphia PA 1338 60 1.0 2200 \n", + "\n", + " ArrDelay ArrDel15 Cancelled \n", + "0 13 0 0 \n", + "1 22 1 0 \n", + "2 -7 0 0 \n", + "3 33 1 0 \n", + "4 -9 0 0 \n", + "... ... ... ... \n", + "271935 18 1 0 \n", + "271936 61 1 0 \n", + "271937 15 1 0 \n", + "271938 -6 0 0 \n", + "271939 40 1 0 \n", + "\n", + "[271940 rows x 20 columns]" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "import pandas as pd\n", "\n", "df = pd.read_csv(\"data/flights.csv\")\n", - "df.head()" + "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Cleaning data with GitHub Copilot\n", + "## Cleaning data\n", "\n", "You can clean data with GitHub Copilot and ask questions about your data. For example, you can ask Copilot to remove missing values, remove duplicates, normalize your data and more." ] @@ -36,55 +413,19 @@ "metadata": {}, "outputs": [], "source": [ - "# identify and replace missing values\n", - "df.isnull().sum()\n", + "# Normalize missing values\n", "df.fillna(0, inplace=True)\n", "\n", - "# update DepDel15 to 0 if null\n", - "df['DepDel15'].fillna(0, inplace=True)\n", - "\n", - "# Calculate the z-scores of depdelay and arrdelay & find outliers\n", - "z_scores = (df[['DepDelay', 'ArrDelay']] - df[['DepDelay', 'ArrDelay']].mean()) / df[['DepDelay', 'ArrDelay']].std()\n", - "abs_z_scores = z_scores.abs()\n", - "outliers = (abs_z_scores > 3).any(axis=1)\n", - "\n", - "# Remove the outliers\n", - "df = df[~outliers]\n", - "\n", - "# show newly cleaned data\n", - "df.head()\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Ask Questions about your dataset with GitHub Copilot\n", - "\n", - "If there are any questions you have about your dataset, you can ask Copilot to help you with that. For example, you can ask Copilot to show you the shape of your dataset, show you the columns of your dataset and even ask about columns that you are not sure about." + "# Detect and remove outliers across delay columns" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "q: what is DepDelay?\n", - "a: DepDelay is the departure delay in minutes.\n", - "\n", - "q: what is DepDel15?\n", - "a: DepDel15 is the departure delay indicator. It is 1 if the flight was delayed by 15 minutes or more, and 0 otherwise.\n", + "## Create a predictive model\n", "\n", - "q: what is CRSArrTime?\n", - "a: CRSArrTime is the scheduled arrival time." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Create a model with GitHub Copilot\n", - "\n", - "You can create a model with GitHub Copilot. For example, you can ask Copilot to create a model that predicts whether a flight will be delayed or not." + "GitHub Copilot can help you write the code to train a model. For example, you can ask Copilot to create a model that predicts whether a flight will be delayed or not." ] }, { @@ -93,16 +434,16 @@ "metadata": {}, "outputs": [], "source": [ - "# build model here\n" + "# Train a model to predict the likelihood of a flight being delayed based on the day of the week and the arrival airport. Use Logistic regression and calculate the accuracy of the model.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Code with your Voice with GitHub Copilot\n", + "## Evaluate the Model\n", "\n", - "With Copilot Chat you can start a Voice chat and get help with your dataset." + "Try Copilot's voice input to test your model." ] }, { @@ -111,16 +452,18 @@ "metadata": {}, "outputs": [], "source": [ - "# add code here from voice\n" + "# Predict flight delays with the model\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "# Slash Commands & Smart Actions with GitHub Copilot\n", + "# Make it an app\n", + "\n", + "Move model to some server code … see [server.py](server/server.py)\n", "\n", - "Slash commands and smart actions make it a fast way to interact with GitHub Copilot. You can use it to write documentation, test, and more.\n" + "```" ] } ], @@ -140,7 +483,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.8" + "version": "3.12.3" } }, "nbformat": 4, From f0b4d436a340afe437d902ee4abea890f0888f8b Mon Sep 17 00:00:00 2001 From: Kedasha Date: Mon, 20 May 2024 11:55:47 -0700 Subject: [PATCH 3/4] update df --- Flight_Data_Analysis.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Flight_Data_Analysis.ipynb b/Flight_Data_Analysis.ipynb index 95fe7fe..bfba73e 100644 --- a/Flight_Data_Analysis.ipynb +++ b/Flight_Data_Analysis.ipynb @@ -395,7 +395,7 @@ "import pandas as pd\n", "\n", "df = pd.read_csv(\"data/flights.csv\")\n", - "df" + "df.head()" ] }, { @@ -483,7 +483,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.3" + "version": "3.11.8" } }, "nbformat": 4, From cf1b55a21a6463994b8e93d3ac73694315113bf6 Mon Sep 17 00:00:00 2001 From: Kedasha Date: Mon, 20 May 2024 22:22:38 -0700 Subject: [PATCH 4/4] updates --- Flight_Data_Analysis.ipynb | 380 +------------------------------------ server/test_server.py | 33 ++++ 2 files changed, 35 insertions(+), 378 deletions(-) create mode 100644 server/test_server.py diff --git a/Flight_Data_Analysis.ipynb b/Flight_Data_Analysis.ipynb index bfba73e..87067fc 100644 --- a/Flight_Data_Analysis.ipynb +++ b/Flight_Data_Analysis.ipynb @@ -12,385 +12,9 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
YearMonthDayofMonthDayOfWeekCarrierOriginAirportIDOriginAirportNameOriginCityOriginStateDestAirportIDDestAirportNameDestCityDestStateCRSDepTimeDepDelayDepDel15CRSArrTimeArrDelayArrDel15Cancelled
020139161DL15304Tampa InternationalTampaFL12478John F. Kennedy InternationalNew YorkNY153940.018241300
120139231WN14122Pittsburgh InternationalPittsburghPA13232Chicago Midway InternationalChicagoIL71030.07402210
22013976AS14747Seattle/Tacoma InternationalSeattleWA11278Ronald Reagan Washington NationalWashingtonDC810-30.01614-700
320137221OO13930Chicago O'Hare InternationalChicagoIL11042Cleveland-Hopkins InternationalClevelandOH804351.010273310
420135164DL13931Norfolk InternationalNorfolkVA10397Hartsfield-Jackson Atlanta InternationalAtlantaGA545-10.0728-900
...............................................................
27193520139205VX13204Orlando InternationalOrlandoFL12892Los Angeles InternationalLos AngelesCA173010.019451810
27193620134195FL10397Hartsfield-Jackson Atlanta InternationalAtlantaGA11697Fort Lauderdale-Hollywood InternationalFort LauderdaleFL1020241.012186110
271937201310266WN12191William P HobbyHoustonTX10821Baltimore/Washington International Thurgood Ma...BaltimoreMD1540301.019351510
2719382013572HA13830Kahului AirportKahuluiHI12173Honolulu InternationalHonoluluHI609-50.0641-600
27193920136112UA14771San Francisco InternationalSan FranciscoCA14100Philadelphia InternationalPhiladelphiaPA1338601.022004010
\n", - "

271940 rows × 20 columns

\n", - "
" - ], - "text/plain": [ - " Year Month DayofMonth DayOfWeek Carrier OriginAirportID \\\n", - "0 2013 9 16 1 DL 15304 \n", - "1 2013 9 23 1 WN 14122 \n", - "2 2013 9 7 6 AS 14747 \n", - "3 2013 7 22 1 OO 13930 \n", - "4 2013 5 16 4 DL 13931 \n", - "... ... ... ... ... ... ... \n", - "271935 2013 9 20 5 VX 13204 \n", - "271936 2013 4 19 5 FL 10397 \n", - "271937 2013 10 26 6 WN 12191 \n", - "271938 2013 5 7 2 HA 13830 \n", - "271939 2013 6 11 2 UA 14771 \n", - "\n", - " OriginAirportName OriginCity OriginState \\\n", - "0 Tampa International Tampa FL \n", - "1 Pittsburgh International Pittsburgh PA \n", - "2 Seattle/Tacoma International Seattle WA \n", - "3 Chicago O'Hare International Chicago IL \n", - "4 Norfolk International Norfolk VA \n", - "... ... ... ... \n", - "271935 Orlando International Orlando FL \n", - "271936 Hartsfield-Jackson Atlanta International Atlanta GA \n", - "271937 William P Hobby Houston TX \n", - "271938 Kahului Airport Kahului HI \n", - "271939 San Francisco International San Francisco CA \n", - "\n", - " DestAirportID DestAirportName \\\n", - "0 12478 John F. Kennedy International \n", - "1 13232 Chicago Midway International \n", - "2 11278 Ronald Reagan Washington National \n", - "3 11042 Cleveland-Hopkins International \n", - "4 10397 Hartsfield-Jackson Atlanta International \n", - "... ... ... \n", - "271935 12892 Los Angeles International \n", - "271936 11697 Fort Lauderdale-Hollywood International \n", - "271937 10821 Baltimore/Washington International Thurgood Ma... \n", - "271938 12173 Honolulu International \n", - "271939 14100 Philadelphia International \n", - "\n", - " DestCity DestState CRSDepTime DepDelay DepDel15 CRSArrTime \\\n", - "0 New York NY 1539 4 0.0 1824 \n", - "1 Chicago IL 710 3 0.0 740 \n", - "2 Washington DC 810 -3 0.0 1614 \n", - "3 Cleveland OH 804 35 1.0 1027 \n", - "4 Atlanta GA 545 -1 0.0 728 \n", - "... ... ... ... ... ... ... \n", - "271935 Los Angeles CA 1730 1 0.0 1945 \n", - "271936 Fort Lauderdale FL 1020 24 1.0 1218 \n", - "271937 Baltimore MD 1540 30 1.0 1935 \n", - "271938 Honolulu HI 609 -5 0.0 641 \n", - "271939 Philadelphia PA 1338 60 1.0 2200 \n", - "\n", - " ArrDelay ArrDel15 Cancelled \n", - "0 13 0 0 \n", - "1 22 1 0 \n", - "2 -7 0 0 \n", - "3 33 1 0 \n", - "4 -9 0 0 \n", - "... ... ... ... \n", - "271935 18 1 0 \n", - "271936 61 1 0 \n", - "271937 15 1 0 \n", - "271938 -6 0 0 \n", - "271939 40 1 0 \n", - "\n", - "[271940 rows x 20 columns]" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "import pandas as pd\n", "\n", diff --git a/server/test_server.py b/server/test_server.py new file mode 100644 index 0000000..e388dfa --- /dev/null +++ b/server/test_server.py @@ -0,0 +1,33 @@ +import unittest +import server +import json + +class FlaskTestCase(unittest.TestCase): + + def setUp(self): + self.app = server.app.test_client() + self.app.testing = True + + def test_home_endpoint(self): + response = self.app.get('/') + data = json.loads(response.get_data(as_text=True)) + self.assertEqual(response.status_code, 200) + self.assertEqual(data, "Let's build a flight delay prediction api!") + + def test_predict_endpoint(self): + response = self.app.get('/predict?airport_id=1&day_of_week=1') + data = json.loads(response.get_data(as_text=True)) + self.assertEqual(response.status_code, 200) + self.assertIn('model_prediction', data) + self.assertIn('confidence_percent', data) + self.assertIn('delayed_percent', data) + self.assertIn('interpretation', data) + + def test_airports_endpoint(self): + response = self.app.get('/airports') + data = json.loads(response.get_data(as_text=True)) + self.assertEqual(response.status_code, 200) + self.assertIn('airports', data) + +if __name__ == '__main__': + unittest.main() \ No newline at end of file