Vrk commited on
Commit
4af3db9
1 Parent(s): 499b95e

code update

Browse files
Files changed (1) hide show
  1. app.py +107 -107
app.py CHANGED
@@ -1,108 +1,108 @@
1
- import streamlit as st
2
- import pandas as pd
3
- import numpy as np
4
- import joblib
5
- import pickle
6
- import datetime as dt
7
-
8
- ## loading in trained model
9
- model = joblib.load('GradientBoost_Flight_Fair_Model')
10
- # model = pickle.load(open("FlightPrice.pkl", "rb"))
11
-
12
- @st.cache()
13
- def make_predictions(journey_date, journey_time, arrival_date, arrival_time, source, destination, stops, airline):
14
- # preprocessing data before pre
15
- # dictions
16
- pred_input = []
17
-
18
- stops = int(stops)
19
- pred_input.append(stops)
20
-
21
- # departure Date
22
- journey_day = int(pd.to_datetime(journey_date, format="%Y-%m-%dT%H:%M").day)
23
- pred_input.append(journey_day)
24
-
25
- journey_month = int(pd.to_datetime(journey_date, format ="%Y-%m-%dT%H:%M").month)
26
- pred_input.append(journey_month)
27
-
28
- dep_min = int(journey_time.minute)
29
- pred_input.append(dep_min)
30
-
31
- dep_hour = int(journey_time.hour)
32
- pred_input.append(dep_hour)
33
-
34
- arrival_min = int(arrival_time.minute)
35
- pred_input.append(arrival_min)
36
-
37
- arrival_hour = int(arrival_time.hour)
38
- pred_input.append(arrival_hour)
39
-
40
- arrival_day = int(pd.to_datetime(arrival_date, format="%Y-%m-%dT%H:%M").day)
41
- pred_input.append(arrival_day)
42
-
43
- duration_min = abs(arrival_min - dep_min)
44
- pred_input.append(duration_min)
45
-
46
- duration_hour = abs(arrival_hour - dep_hour)
47
- pred_input.append(duration_hour)
48
-
49
- air_list = ['IndiGo', 'Air India', 'Jet Airways', 'SpiceJet', 'Multiple carriers', 'GoAir', 'Vistara', 'Air Asia', 'Vistara Premium economy', 'Jet Airways Business', 'Multiple carriers Premium economy', 'Trujet']
50
- for a in air_list:
51
- if a == airline:
52
- pred_input.append(1)
53
- else:
54
- pred_input.append(0)
55
-
56
- src_list = ['Banglore', 'Kolkata', 'Delhi', 'Chennai', 'Mumbai']
57
- for i in src_list:
58
- if i == source:
59
- pred_input.append(1)
60
- else:
61
- pred_input.append(0)
62
-
63
- dst_list = ['New Delhi', 'Banglore', 'Cochin', 'Kolkata', 'Delhi', 'Hyderabad']
64
- for d in dst_list:
65
- if d == destination:
66
- pred_input.append(1)
67
- else:
68
- pred_input.append(0)
69
-
70
- prediction = model.predict(np.array([pred_input]))
71
-
72
- return int(prediction)
73
-
74
-
75
- def main():
76
-
77
- st.title('Flight Fair Proce Predictor')
78
- st.subheader('Fill the following details to get the idea about flight fair price')
79
-
80
- col1, col2 = st.columns([2, 1])
81
- journey_date = col1.date_input('Journey Date')
82
- journey_time = col2.time_input('Departure time')
83
-
84
- col3, col4 = st.columns([2, 1])
85
- arrival_date = col3.date_input('Arroval Date')
86
- arrival_time = col4.time_input('Arrival time')
87
-
88
- col5, col6 = st.columns(2)
89
- source = col5.selectbox('Departure city',['Banglore', 'Kolkata', 'Delhi', 'Chennai', 'Mumbai'])
90
- destination = col6.selectbox('Destination city', ['New Delhi', 'Banglore', 'Cochin', 'Kolkata', 'Delhi', 'Hyderabad'])
91
-
92
- stops = st.selectbox('Total Stops', ['non-stop', 1, 2, 3, 4])
93
-
94
- airline = st.selectbox('Choose Airline', ['IndiGo', 'Air India', 'Jet Airways', 'SpiceJet', 'Multiple carriers', 'GoAir', 'Vistara', 'Air Asia', 'Vistara Premium economy', 'Jet Airways Business', 'Multiple carriers Premium economy', 'Trujet'])
95
-
96
- predict = st.button('Make Prediction',)
97
-
98
- if stops == 'non-stop':
99
- stops = 0
100
-
101
- # make prediction button logic
102
- if predict:
103
- with st.spinner('Wait for prediction....'):
104
- t = make_predictions(journey_date, journey_time, arrival_date, arrival_time, source, destination, stops, airline)
105
- st.success(f'Fair Price will be around Rs.{t - 1000}')
106
-
107
- if __name__=='__main__':
108
  main()
 
1
+ import streamlit as st
2
+ import pandas as pd
3
+ import numpy as np
4
+ import joblib
5
+ import pickle
6
+ import datetime as dt
7
+
8
+ ## loading in trained model
9
+ model = joblib.load('GradientBoost_Flight_Fair_Model')
10
+ # model = pickle.load(open("FlightPrice.pkl", "rb"))
11
+
12
+ @st.cache()
13
+ def make_predictions(journey_date, journey_time, arrival_date, arrival_time, source, destination, stops, airline):
14
+ # preprocessing data before pre
15
+ # dictions
16
+ pred_input = []
17
+
18
+ stops = int(stops)
19
+ pred_input.append(stops)
20
+
21
+ # departure Date
22
+ journey_day = int(pd.to_datetime(journey_date, format="%Y-%m-%dT%H:%M").day)
23
+ pred_input.append(journey_day)
24
+
25
+ journey_month = int(pd.to_datetime(journey_date, format ="%Y-%m-%dT%H:%M").month)
26
+ pred_input.append(journey_month)
27
+
28
+ dep_min = int(journey_time.minute)
29
+ pred_input.append(dep_min)
30
+
31
+ dep_hour = int(journey_time.hour)
32
+ pred_input.append(dep_hour)
33
+
34
+ arrival_min = int(arrival_time.minute)
35
+ pred_input.append(arrival_min)
36
+
37
+ arrival_hour = int(arrival_time.hour)
38
+ pred_input.append(arrival_hour)
39
+
40
+ arrival_day = int(pd.to_datetime(arrival_date, format="%Y-%m-%dT%H:%M").day)
41
+ pred_input.append(arrival_day)
42
+
43
+ duration_min = abs(arrival_min - dep_min)
44
+ pred_input.append(duration_min)
45
+
46
+ duration_hour = abs(arrival_hour - dep_hour)
47
+ pred_input.append(duration_hour)
48
+
49
+ air_list = ['IndiGo', 'Air India', 'Jet Airways', 'SpiceJet', 'Multiple carriers', 'GoAir', 'Vistara', 'Air Asia', 'Vistara Premium economy', 'Jet Airways Business', 'Multiple carriers Premium economy', 'Trujet']
50
+ for a in air_list:
51
+ if a == airline:
52
+ pred_input.append(1)
53
+ else:
54
+ pred_input.append(0)
55
+
56
+ src_list = ['Banglore', 'Kolkata', 'Delhi', 'Chennai', 'Mumbai']
57
+ for i in src_list:
58
+ if i == source:
59
+ pred_input.append(1)
60
+ else:
61
+ pred_input.append(0)
62
+
63
+ dst_list = ['New Delhi', 'Banglore', 'Cochin', 'Kolkata', 'Delhi', 'Hyderabad']
64
+ for d in dst_list:
65
+ if d == destination:
66
+ pred_input.append(1)
67
+ else:
68
+ pred_input.append(0)
69
+
70
+ prediction = model.predict(np.array([pred_input]))
71
+
72
+ return int(prediction)
73
+
74
+
75
+ def main():
76
+
77
+ st.title('Flight Fair Proce Predictor')
78
+ st.subheader('Fill the following details to get the idea about flight fair price')
79
+
80
+ col1, col2 = st.columns([2, 1])
81
+ journey_date = col1.date_input('Journey Date')
82
+ journey_time = col2.time_input('Departure time')
83
+
84
+ col3, col4 = st.columns([2, 1])
85
+ arrival_date = col3.date_input('Arroval Date')
86
+ arrival_time = col4.time_input('Arrival time')
87
+
88
+ col5, col6 = st.columns(2)
89
+ source = col5.selectbox('Departure city',['Banglore', 'Kolkata', 'Delhi', 'Chennai', 'Mumbai'])
90
+ destination = col6.selectbox('Destination city', ['New Delhi', 'Banglore', 'Cochin', 'Kolkata', 'Delhi', 'Hyderabad'])
91
+
92
+ stops = st.selectbox('Total Stops', ['non-stop', 1, 2, 3, 4])
93
+
94
+ airline = st.selectbox('Choose Airline', ['IndiGo', 'Air India', 'Jet Airways', 'SpiceJet', 'Multiple carriers', 'GoAir', 'Vistara', 'Air Asia', 'Vistara Premium economy', 'Jet Airways Business', 'Multiple carriers Premium economy', 'Trujet'])
95
+
96
+ predict = st.button('Make Prediction',)
97
+
98
+ if stops == 'non-stop':
99
+ stops = 0
100
+
101
+ # make prediction button logic
102
+ if predict:
103
+ with st.spinner('Wait for prediction....'):
104
+ t = make_predictions(journey_date, journey_time, arrival_date, arrival_time, source, destination, stops, airline)
105
+ st.success(f'Fair Price will be around Rs.{t}')
106
+
107
+ if __name__=='__main__':
108
  main()