File size: 1,897 Bytes
f6d28a6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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()