Jason
first commit
f6d28a6
import streamlit as st
import pandas as pd
import requests
def run():
with st.form(key='form_parameters'):
passenger_id = st.number_input('Passenger ID', step=1)
passenger_class = st.radio('Passenger Class', (1, 2, 3))
passenger_name = st.text_input('Passenger Name')
sex = st.radio('Sex', ('male', 'female'))
age = st.number_input('Age', min_value=0, value=17)
sibsp = st.number_input('Sibling/Spouse', min_value=0, value=0)
parch = st.number_input('Parent/Children', min_value=0, value=0)
ticket_number = st.text_input('Ticket Number')
fare = st.number_input('Fare', min_value=0, value=10)
cabin_number = st.text_input('Cabin Number')
embarked = st.radio('Port of Embarkation', ('C', 'Q', 'S'))
submitted = st.form_submit_button('Predict')
# Create A New data
data_inf = {
'PassengerId': [passenger_id],
'Pclass': [passenger_class],
'Name': [passenger_name],
'Sex': [sex],
'Age': [age],
'SibSp': [sibsp],
'Parch': [parch],
'Ticket': [ticket_number],
'Fare': [fare],
'Cabin': [cabin_number],
'Embarked': [embarked]
}
if submitted:
# Show Inference DataFrame
st.dataframe(pd.DataFrame(data_inf))
print('[DEBUG] Data Inference : \n', data_inf)
# Predict
# URL = "http://192.168.1.4:5001/predict"
URL = "https://backend-titanic-kidfrom.koyeb.app/predict"
r = requests.post(URL, json=data_inf)
if r.status_code == 200:
res = r.json()
st.write('## Prediction : ', res['label_names'][0])
print('[DEBUG] Result : ', res)
print('')
else:
st.write('Error with status code ', str(r.status_code))
if __name__ == '__main__':
run()