File size: 4,573 Bytes
4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 6048926 4804fa2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
import streamlit as st
import pickle
import pandas as pd
model = pickle.load(open('flight_rf.pkl', 'rb'))
def main():
st.title("Flight Price Prediction App")
dep_time = st.text_input("Departure Time", "2023-01-01T12:00")
arrival_time = st.text_input("Arrival Time", "2023-01-01T14:00")
Total_stops = st.selectbox("Number of Stops", [0, 1, 2, 3, 4])
airline = st.selectbox("Select Airline", ["Jet Airways", "IndiGo", "Air India", "Multiple carriers", "SpiceJet", "Vistara", "GoAir", "Multiple carriers Premium economy", "Jet Airways Business", "Vistara Premium economy", "Trujet"])
Source = st.selectbox("Select Source", ["Delhi", "Kolkata", "Mumbai", "Chennai"])
Destination = st.selectbox("Select Destination", ["Cochin", "Delhi", "Hyderabad", "Kolkata", "Banglore"])
if st.button("Predict"):
Journey_day = pd.to_datetime(dep_time, format="%Y-%m-%dT%H:%M").day
Journey_month = pd.to_datetime(dep_time, format="%Y-%m-%dT%H:%M").month
Departure_hour = pd.to_datetime(dep_time, format="%Y-%m-%dT%H:%M").hour
Departure_min = pd.to_datetime(dep_time, format="%Y-%m-%dT%H:%M").minute
Arrival_hour = pd.to_datetime(arrival_time, format="%Y-%m-%dT%H:%M").hour
Arrival_min = pd.to_datetime(arrival_time, format="%Y-%m-%dT%H:%M").minute
Jet_Airways, IndiGo, Air_India, Multiple_carriers, SpiceJet, Vistara, GoAir, Multiple_carriers_Premium_economy, Jet_Airways_Business, Vistara_Premium_economy, Trujet = [0] * 11
if airline == 'Jet Airways':
Jet_Airways = 1
elif airline == 'IndiGo':
IndiGo = 1
elif airline == 'Air India':
Air_India = 1
elif airline == 'Multiple carriers':
Multiple_carriers = 1
elif airline == 'SpiceJet':
SpiceJet = 1
elif airline == 'Vistara':
Vistara = 1
elif airline == 'GoAir':
GoAir = 1
elif airline == 'Multiple carriers Premium economy':
Multiple_carriers_Premium_economy = 1
elif airline == 'Jet Airways Business':
Jet_Airways_Business = 1
elif airline == 'Vistara Premium economy':
Vistara_Premium_economy = 1
elif airline == 'Trujet':
Trujet = 1
s_Delhi, s_Kolkata, s_Mumbai, s_Chennai = 0, 0, 0, 0
if Source == 'Delhi':
s_Delhi = 1
elif Source == 'Kolkata':
s_Kolkata = 1
elif Source == 'Mumbai':
s_Mumbai = 1
elif Source == 'Chennai':
s_Chennai = 1
d_Cochin, d_Delhi, d_Hyderabad, d_Kolkata = 0, 0, 0, 0
if Destination == 'Cochin':
d_Cochin = 1
elif Destination == 'Delhi':
d_Delhi = 1
elif Destination == 'Hyderabad':
d_Hyderabad = 1
elif Destination == 'Kolkata':
d_Kolkata = 1
dur_hour = abs(Arrival_hour - Departure_hour)
dur_min = abs(Arrival_min - Departure_min)
prediction = model.predict([[Total_stops,
Journey_day,
Journey_month,
Departure_hour,
Departure_min,
Arrival_hour,
Arrival_min,
dur_hour,
dur_min,
Air_India,
GoAir,
IndiGo,
Jet_Airways,
Jet_Airways_Business,
Multiple_carriers,
Multiple_carriers_Premium_economy,
SpiceJet,
Trujet,
Vistara,
Vistara_Premium_economy,
s_Chennai,
s_Delhi,
s_Kolkata,
s_Mumbai,
d_Cochin,
d_Delhi,
d_Hyderabad,
d_Kolkata]])
prediction = round(prediction[0], 2)
st.success('Predicted Price: Rs. {}'.format(prediction))
if __name__ == '__main__':
main()
|