Spaces:
Sleeping
Sleeping
import pickle | |
import json | |
import pandas as pd | |
import numpy as np | |
import streamlit as st | |
# Load All Files | |
with open('best_param.pkl', 'rb') as file_1: | |
best_params = pickle.load(file_1) | |
with open('preprocessing_pipeline.pkl', 'rb') as file_2: | |
preprocessing_pipeline= pickle.load(file_2) | |
def run (): | |
with st.form(key ='PREDICT VISITORS FORM'): #Nulis nama sendiri menggunakan name= st.text_input('') | |
Booking_ID= st.text_input('Booking_ID', 'Input ID Here') | |
no_of_adults = st.number_input('Number of Adults') | |
no_of_children= st.number_input('Number of Children') | |
no_of_weekend_nights= st.number_input('Number of Weekend Nights', min_value=0, max_value=7) | |
no_of_week_nights= st.number_input('Number of Week Nights', min_value=0, max_value=17) | |
type_of_meal_plan= st.selectbox( | |
'Choose your Meal Plan', | |
('Meal Plan 1', 'Not Selected', 'Meal Plan 2', 'Meal Plan 3')) | |
required_car_parking_space= st.number_input('Required Car Parking Space') | |
room_type_reserved= st.selectbox( | |
'Choose your Room Type', | |
('Room_Type 1', 'Room_Type 4', 'Room_Type 2', 'Room_Type 6', | |
'Room_Type 5', 'Room_Type 7', 'Room_Type 3')) | |
lead_time= st.number_input('The number of days between booking and arrival') | |
arrival_year= st.number_input('The year of arrival') | |
arrival_month= st.number_input('The month of arrival', min_value=1, max_value=12) | |
arrival_date= st.number_input('The date of arrival', min_value=1, max_value=31) | |
market_segment_type= st.selectbox( | |
'What Segment Type of Customer', | |
('Offline', 'Online', 'Corporate', 'Aviation', 'Complementary')) | |
repeated_guest= st.number_input('Repeated Guest') | |
no_of_previous_cancellations= st.number_input('The number of previous cancellations by the guest') | |
no_of_previous_bookings_not_canceled= st.number_input('The number of previous bookings not canceled by the guest') | |
avg_price_per_room= st.number_input('The average price per room') | |
no_of_special_requests= st.number_input('The number of special requests made by the guest', min_value=0, max_value=5) | |
submitted = st.form_submit_button('Predict') | |
# Create New Data | |
df_inf={ | |
'Booking_ID': Booking_ID, | |
'no_of_adults': no_of_adults, | |
'no_of_children': no_of_children, | |
'no_of_weekend_nights':no_of_weekend_nights, | |
'no_of_week_nights':no_of_week_nights, | |
'type_of_meal_plan':type_of_meal_plan, | |
'required_car_parking_space': required_car_parking_space, | |
'room_type_reserved':room_type_reserved, | |
'lead_time':lead_time, | |
'arrival_year': arrival_year, | |
'arrival_month':arrival_month, | |
'arrival_date':arrival_date, | |
'market_segment_type':market_segment_type, | |
'repeated_guest':repeated_guest, | |
'no_of_previous_cancellations':no_of_previous_cancellations, | |
'no_of_previous_bookings_not_canceled':no_of_previous_bookings_not_canceled, | |
'avg_price_per_room':avg_price_per_room, | |
'no_of_special_requests':no_of_special_requests, | |
} | |
df_inf = pd.DataFrame([df_inf]) | |
if submitted: | |
prediction = best_params.predict(df_inf) | |
st.write('This Visitor Predicted:', round(prediction[0],2)) | |
# df_inf_best_params = df_inf[best_params] | |
# df_inf_classifier= df_inf[preprocessing_pipeline] | |
# df_inf_final = np.concatenate([preprocessing_pipeline], axis=1) | |
# y_pred_inf = best_params.predict(df_inf_final) | |
# st.write(f'# Rating {best_params}:', int(y_pred_inf)) | |
if best_params == '__main__': | |
run() |