import streamlit as st import pickle import numpy as np import pandas as pd # Custom CSS for background and white button css = """ """ # Inject custom CSS st.markdown(css, unsafe_allow_html=True) # Model loading model_path = 'model.pkl' with open(model_path, 'rb') as file: model = pickle.load(file) # Options sourceOptions = ['Banglore', 'Chennai', 'Delhi', 'Kolkata', 'Mumbai'] destinationOptions = ['Banglore', 'Cochin', 'Delhi', 'Hyderabad', 'Kolkata', 'New Delhi'] airlineOptions = {0: 'Air Asia', 1: 'Air India', 2: 'GoAir', 3: 'IndiGo', 4: 'Jet Airways', 5: 'Jet Airways Business', 6: 'Multiple carriers', 7: 'Multiple carriers Premium economy', 8: 'SpiceJet', 9: 'Trujet', 10: 'Vistara', 11: 'Vistara Premium economy'} totalStopsOptions = {0: 'non stop', 1: '1 stop', 2: '2 stop', 3: '3 stop', 4: '4 stop'} def prepare_input_data( source, destination, airline, totalStops, dateOfJourney, depTime, arrivalTime, inFlightMealNotIncluded, noCheckInBaggageIncluded ): day_of_journey = dateOfJourney.day month_of_journey = dateOfJourney.month dep_hour = depTime.hour dep_min = depTime.minute arrival_hour = arrivalTime.hour arrival_min = arrivalTime.minute duration_minutes = (arrival_hour * 60 + arrival_min) - (dep_hour * 60 + dep_min) if duration_minutes < 0: duration_minutes += 24 * 60 source_encoded = [1 if source == s else 0 for s in sourceOptions] destination_encoded = [1 if destination == d else 0 for d in destinationOptions] airline_encoded = [key for key, value in airlineOptions.items() if value == airline][0] total_stops_encoded = [key for key, value in totalStopsOptions.items() if value == totalStops][0] in_flight_meal = 1 if inFlightMealNotIncluded == "Yes" else 0 no_check_in_baggage = 1 if noCheckInBaggageIncluded == "Yes" else 0 input_features = ( [day_of_journey, month_of_journey, dep_hour, dep_min, arrival_hour, arrival_min, duration_minutes] + source_encoded + destination_encoded + [total_stops_encoded, airline_encoded, in_flight_meal, no_check_in_baggage] ) return np.array([input_features]) # Create a form with st.form(key="my_form"): st.markdown("