# import library yang dibutuhkan import streamlit as st import pandas as pd import numpy as np import joblib # load best model with open('catb_randcv.pkl','rb') as file_1: catb_pipe = joblib.load(file_1) # Construct Data Infer # define semua fitur/kolom features = ['Gender','Customer Type','Age','Type of Travel','Class','Flight Distance',\ 'Inflight wifi service','Departure/Arrival time convenient','Ease of Online booking',\ 'Gate location','Food and drink','Online boarding','Seat comfort','Inflight entertainment',\ 'On-board service','Leg room service','Baggage handling','Checkin service','Inflight service',\ 'Cleanliness','Departure Delay in Minutes','Arrival Delay in Minutes'] def infer(data_infer): # predict result with pre-trained model pred = catb_pipe.predict(data_infer) return pred # header deployment st.header("Predicting Passenger Flight Satisfaction") # artificial data infer gender_options = ["Male", "Female"] gender = st.selectbox("Please input your gender: ", gender_options) customer_type_options = ['Loyal Customer', 'disloyal Customer'] customer_type = st.selectbox("Which type of customer are you? ", customer_type_options) type_of_travel_options = ['Personal Travel', 'Business travel'] type_of_travel = st.selectbox("Please input your type of travel: ", type_of_travel_options) class_options = ['Eco', 'Eco Plus', 'Business'] class_ = st.selectbox("Please input your flight class: ", class_options) age = st.slider("Please input your age: ",0,100) flight_distance = st.slider("Please input your flight distance (in Miles): ",0,5000) wifi_service = st.slider("Please input your wifi experience (0\:lowest 5\:highest) ",0,5) departure_arrival_conv = st.slider("Please input your departure or arrival time convenience experience (0\:lowest 5\:highest)",0,5) online_booking_exp = st.slider("Please input your online booking experience (0\:lowest 5\:highest)",0,5) gate_loc_exp = st.slider("Please input your gate location experience (0\:lowest 5\:highest)",0,5) food_drinks_exp = st.slider("Please input your food & drinks experience (0\:lowest 5\:highest)",0,5) online_boarding_exp = st.slider("Please input your online boarding experience (0\:lowest 5\:highest)",0,5) seat_comfort_exp = st.slider("Please input your seat comfort experience (0\:lowest 5\:highest)",0,5) inflight_entertainment_exp = st.slider("Please input your inflight entertainment experience (0\:lowest 5\:highest)",0,5) on_board_svc_exp = st.slider("Please input your on-board service experience (0\:lowest 5\:highest)",0,5) leg_room_svc_exp = st.slider("Please input your leg room service experience (0\:lowest 5\:highest)",0,5) baggage_handling_exp = st.slider("Please input your baggage handling experience (0\:lowest 5\:highest)",0,5) checkin_svc_exp = st.slider("Please input your check-in service experience (0\:lowest 5\:highest)",0,5) inflight_svc_exp = st.slider("Please input your inflight service experience (0\:lowest 5\:highest)",0,5) cleanliness = st.slider("How do you rate our cleanliness? (0\:lowest 5\:highest)\: ",0,5) depart_delay = st.slider("Did you experience delay in your departure? if so please specify (in minutes): ",0,1500) arriv_delay = st.slider("Did you experience delay in your arrival? if so please specify (in minutes): ",0,1500) if st.button("Submit"): D = { 'Gender':gender, 'Customer Type':customer_type, 'Age':age, 'Type of Travel':type_of_travel, 'Class':class_, 'Flight Distance':flight_distance, 'Inflight wifi service':wifi_service, 'Departure/Arrival time convenient':departure_arrival_conv, 'Ease of Online booking':online_booking_exp, 'Gate location':gate_loc_exp, 'Food and drink':food_drinks_exp, 'Online boarding':online_boarding_exp, 'Seat comfort':seat_comfort_exp, 'Inflight entertainment':inflight_entertainment_exp, 'On-board service':on_board_svc_exp, 'Leg room service':leg_room_svc_exp, 'Baggage handling':baggage_handling_exp, 'Checkin service':checkin_svc_exp, 'Inflight service':inflight_svc_exp, 'Cleanliness':cleanliness, 'Departure Delay in Minutes':depart_delay, 'Arrival Delay in Minutes':arriv_delay, } # construct data inference dalam dataframe data_infer = pd.DataFrame(data=D,columns=features,index=[0]) #panggil fungsi inference pred = infer(data_infer) st.header(f"Prediction Result: ") st.write("You are most likely " + pred[0] + " with your flight experience")