Commit aa4c7666 authored by Thumuladhanujaka's avatar Thumuladhanujaka

delay 1

parent f7b3b53c
{
"cells": [],
"metadata": {},
"nbformat": 4,
"nbformat_minor": 5
}
This diff is collapsed.
Weater_Status,Wind_Speed,Average_Speed,Distance,Delay_time
Mostly_cloudy,3.22,54,84.437,-1
Mostly_cloudy,3.0107,60,120.737,4
Drizzle,8.05,25,6.873,9.32
partialy_cloudy,3.22,53,96.081,7.32
partialy_cloudy,2.9785,25,1.9,6.4
Sunny,3.22,60,109.446,-1
Mostly_cloudy,0,42,8.676,3.56
Sunny,3.1717,52,73.827,-0.3
Sunny,8.05,57,96.081,-0.05
partialy_cloudy,3.22,49,90.239,11.55
Sunny,4.6529,28,3.668,2.36
partialy_cloudy,5.6833,55,105.537,8.14
Sunny,7.6153,32,6.873,-0.23
Rainy,3.4615,51,109.446,14.52
Mostly_cloudy,9.4024,43,15.546,3.55
Drizzle,9.2414,45,73.827,5.5
Rainy,3.9767,47,90.239,15
partialy_cloudy,4.83,38,27.538,6.36
Sunny,9.2092,35,6.873,-0.56
Rainy,2.2379,52,114.851,15.58
Rainy,0.483,47,84.437,13.57
partialy_cloudy,4.9588,54,114.851,12.4
partialy_cloudy,0.483,41,37.478,6.53
Mostly_cloudy,0,46,22.522,2.69
Rainy,0,23,3.668,8.54
partialy_cloudy,3.1073,46,73.827,8.36
partialy_cloudy,1.6905,26,1.9,7.7
partialy_cloudy,0,52,109.446,8.49
partialy_cloudy,4.7978,40,37.478,7.35
Mostly_cloudy,0,33,6.873,3.48
partialy_cloudy,0,25,1.9,6.2
Mostly_cloudy,3.0268,29,6.873,0
partialy_cloudy,0,40,22.522,4.54
Mostly_cloudy,0,42,50.27,4.16
Drizzle,3.1556,52,109.446,9.55
partialy_cloudy,7.9695,37,22.522,3.57
Mostly_cloudy,3.381,30,6.873,0
Sunny,7.2933,45,8.676,3.36
partialy_cloudy,3.4293,31,6.873,0.55
Mostly_cloudy,2.9141,50,73.827,3.44
partialy_cloudy,1.7066,27,1.9,6.31
Rainy,4.0894,51,114.851,15.3
Sunny,7.6475,48,37.478,-0.2
Mostly_cloudy,9.7566,51,73.827,2.1
Mostly_cloudy,9.177,49,27.538,2.2
Rainy,9.1126,48,90.239,14.52
Drizzle,7.4543,24,1.9,8.4
Sunny,8.4203,56,101.069,2.15
partialy_cloudy,2.9302,27,6.873,8.52
Drizzle,5.0071,56,114.851,10
partialy_cloudy,14.007,50,90.239,8.25
partialy_cloudy,15.6331,40,50.27,4.4
Drizzle,16.5991,49,90.239,7.15
Sunny,16.5991,53,84.437,-0.25
partialy_cloudy,13.7333,58,114.851,4.45
partialy_cloudy,12.1555,50,84.437,6.05
Rainy,9.4507,43,73.827,14.33
Mostly_cloudy,9.3219,55,96.081,2.24
Rainy,10.3523,37,15.546,5.56
Rainy,10.9641,52,114.851,13.3
Drizzle,13.9587,36,27.538,5.3
Drizzle,13.7333,25,3.668,7.22
Rainy,12.4614,22,1.9,8.51
Rainy,12.397,50,109.446,9.52
partialy_cloudy,12.0106,55,105.537,7.2
partialy_cloudy,14.0231,40,37.478,5.15
Mostly_cloudy,12.1877,40,15.546,3.48
Sunny,11.7691,53,90.239,2.12
partialy_cloudy,12.3487,50,84.437,6.55
Rainy,9.4185,50,96.081,12.15
Mostly_cloudy,4.7495,52,90.239,0.5
Drizzle,9.66,26,1.9,7
Mostly_cloudy,6.5044,62,120.737,-1
partialy_cloudy,6.2307,49,96.081,6
Rainy,0.3703,45,73.827,11.55
Mostly_cloudy,0,61,120.737,3.2
Mostly_cloudy,2.0769,45,37.478,3.3
Rainy,0.3703,35,27.538,10.5
Rainy,0,26,6.873,9.43
Mostly_cloudy,3.0268,46,37.478,3.16
Rainy,0.3703,44,73.827,11.4
Drizzle,8.05,55,120.737,8.48
Rainy,4.9749,36,27.538,14.3
partialy_cloudy,4.7173,50,90.239,4.25
partialy_cloudy,4.8944,35,8.676,7.59
Mostly_cloudy,7.1162,41,22.522,0.8
Mostly_cloudy,9.3702,51,90.239,-0.1
Rainy,8.6618,30,8.676,9.34
Drizzle,8.7745,26,3.668,6.14
partialy_cloudy,4.8461,50,90.239,2.26
Sunny,11.0607,53,90.239,-0.11
Mostly_cloudy,9.5473,29,3.668,2.06
Rainy,7.8246,54,120.737,14.34
Drizzle,0.2576,51,96.081,7.35
Mostly_cloudy,1.9642,53,96.081,2.3
partialy_cloudy,0,41,37.478,4.15
Sunny,0,47,22.522,-0.2
partialy_cloudy,0.4186,53,105.537,9.5
Mostly_cloudy,0,55,96.081,3.29
from flask import *
import json, time
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
import pickle
from sklearn.ensemble import GradientBoostingRegressor
from sklearn.model_selection import cross_val_score
from flask_cors import CORS
data = pd.read_csv("Trains.csv")
def input_to_one_hot(data):
enc_input = np.zeros(8)
enc_input[0] = data['Wind_Speed']
enc_input[1] = data['Average_Speed']
enc_input[2] = data['Distance']
enc_input[3] = data['Weater_Status_Drizzle']
enc_input[4] = data['Weater_Status_Mostly_cloudy']
enc_input[5] = data['Weater_Status_Rainy']
enc_input[6] = data['Weater_Status_Sunny']
enc_input[7] = data['Weater_Status_partialy_cloudy']
return enc_input
num_cols = [col for col in data.columns if data[col].dtypes != 'O' and col not in "Id"]
print('Number of Numerical Variables: ', len(num_cols))
num_cols
X = data[['Weater_Status', 'Wind_Speed', 'Average_Speed', 'Distance']]
X.dropna(inplace=True)
Y = data.loc[:, data.columns != 'gps'].dropna().Delay_time
X = pd.get_dummies(data=X)
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = .20, random_state = 42)
from sklearn.ensemble import GradientBoostingRegressor
from sklearn.metrics import r2_score
gbr =GradientBoostingRegressor()
gbr.fit(X_train, Y_train)
predicted = gbr.predict(X_test)
residual = Y_test - predicted
from sklearn.metrics import mean_squared_error
rmse = np.sqrt(mean_squared_error(Y_test, predicted))
scores = cross_val_score(gbr, X, Y, cv=12)
# save model to file
pickle.dump(gbr, open("gbr2.pickle.dat", "wb"))
loaded_gbr = pickle.load(open("gbr2.pickle.dat", "rb"))
app = Flask(__name__)
CORS(app, resources={r"/delay/*": {"origins": "*"}})
@app.route('/delay/', methods=['GET'])
def request_page():
user_input = {'Wind_Speed':float(request.args.get('wind')),
'Average_Speed':int(request.args.get('avg_speed')),
'Distance':float(request.args.get('distance')),
'Weater_Status_Drizzle':int(request.args.get('drizzle')),
'Weater_Status_Mostly_cloudy':int(request.args.get('m_cloudy')),
'Weater_Status_Rainy':int(request.args.get('rainy')),
'Weater_Status_Sunny':int(request.args.get('sunny')),
'Weater_Status_partialy_cloudy':int(request.args.get('p_cloudy')),
}
a = input_to_one_hot(user_input)
delay_pred = loaded_gbr.predict([a])
print(delay_pred[0])
data = str(delay_pred[0])
json_dump = json.dumps({"data":data})
return json_dump
if __name__ == '__main__':
app.run(host="127.0.0.1", port=7778,debug = True)
#using this type
# http://127.0.0.1:7778/delay/?wind=15.65&avg_speed=55&distance=225.25&drizzle=0&m_cloudy=0&rainy=1&sunny=0&p_cloudy=0
\ No newline at end of file
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment