Spaces:
Runtime error
Runtime error
import streamlit as st | |
import pandas as pd | |
import numpy as np | |
import pickle | |
import json | |
def runPredictor(): | |
#MODEL | |
with open('best_model_dt.pkl', 'rb') as file_1: | |
best_model_dt = pickle.load(file_1) | |
# Buat Form | |
with st.form(key='Form Parameters'): | |
airline = st.selectbox('Airlines', ('SpiceJet', 'AirAsia', 'Vistara', 'GO_FIRST', 'Indigo', 'Air_India'), index=0) | |
source_city = st.selectbox('Departure City', ('Delhi', 'Mumbai', 'Bangalore', 'Kolkata', 'Hyderabad', 'Chennai'), index=0) | |
destination_city = st.selectbox('Destination City', ('Mumbai', 'Bangalore', 'Kolkata', 'Hyderabad', 'Chennai', 'Delhi'), index=0) | |
st.markdown('---') | |
departure_time = st.selectbox('Departure Time', ('Evening', 'Early_Morning', 'Morning', 'Afternoon', 'Night', 'Late_Night'), index=0) | |
arrival_time = st.selectbox('Arrival Time', ('Night', 'Morning', 'Early_Morning', 'Afternoon', 'Evening', 'Late_Night'), index=0) | |
st.markdown('---') | |
stops = st.selectbox('Transit', ('Direct', 'One', 'Two or more'), index=0) | |
flight_class = st.selectbox('Class', ('Economy', 'Business'), index=0) | |
st.markdown('---') | |
duration = st.number_input('Flight Duration', min_value=0, max_value=50, step=1) | |
days_left = st.number_input('Days Until Flight', min_value=1, max_value=90, step=1) | |
st.markdown('---') | |
submitted = st.form_submit_button('Predict') | |
if stops == 'Direct': stops = 'zero' | |
elif stops == 'One': stops = 'one' | |
else: stops = 'two_or_more' | |
data_inf = { | |
'airline': airline, | |
'source_city': source_city, | |
'destination_city': destination_city, | |
'departure_time': departure_time, | |
'arrival_time': arrival_time, | |
'stops': stops, | |
'class': flight_class, | |
'duration': duration, | |
'days_left': int(days_left) | |
} | |
df = pd.DataFrame([data_inf]) | |
st.dataframe(df) | |
if submitted: | |
y_predict_new_price = best_model_dt.predict(df) | |
st.write(f'# Ticket Price Prediction : {str(int(y_predict_new_price))} INR') | |
if __name__ == '__main__': | |
runPredictor() |