Spaces:
Runtime error
Runtime error
import streamlit as st | |
import pandas as pd | |
import numpy as np | |
import pickle | |
# Load All Files | |
with open('rf.pkl', 'rb') as file_1: | |
rf= pickle.load(file_1) | |
with open('GB.pkl', 'rb') as file_2: | |
GB=pickle.load(file_2) | |
with open('scaler.pkl', 'rb') as file_3: | |
scaler=pickle.load(file_3) | |
def run(): | |
with st.form(key='form_prediksi'): | |
name = st.text_input('Nama', value='') | |
anaemia= st.radio('Apakah memiliki anaemia?', ('Ya', 'Tidak')) | |
if anaemia=='Ya': | |
anaemianum=1 | |
else: anaemianum=0 | |
age= st.number_input('Umur', min_value=16, max_value=80, value=50, step=1) | |
creatinine_phosphokinase = st.number_input('Creatinine Phosphokinase', min_value=0, max_value=2000, value=1000) | |
diabetes = st.radio('Apakah memiliki Diabetes?', ('Ya', 'Tidak')) | |
if diabetes=='Ya': | |
diabetesnum=1 | |
else: diabetesnum=0 | |
ejection_fraction = st.number_input('Ejection Fraction', min_value=0, max_value=100, value=50) | |
high_blood_pressure = st.radio('Apakah memiliki darah tinggi?', ('Ya', 'Tidak')) | |
if high_blood_pressure=='Ya': | |
high_blood_pressurenum=1 | |
else: high_blood_pressurenum=0 | |
platelets = st.number_input('Jumlah trombosit', min_value=0, max_value=300000, value=200000) | |
serum_creatinine = st.number_input('Serum creatinine', min_value=0, max_value=100, value=50) | |
serum_sodium = st.number_input('Serum sodium', min_value=0.0, max_value=2.0, value=0.4, format='%.2f', step=0.1) | |
sex = st.radio('Kelamin', ('Perempuan', 'Laki-Laki')) | |
if sex=='Laki-Laki': | |
sexnum=1 | |
else: sexnum=0 | |
smoking = st.radio('Apakah merokok?', ('Ya', 'Tidak')) | |
if smoking=='Ya': | |
smokingnum=1 | |
else: smokingnum=0 | |
time = st.number_input('Waktu', min_value=0, max_value=240, value=120) | |
submitted = st.form_submit_button('Predict') | |
data_inf = { | |
'age': age, | |
'anaemia': anaemianum, | |
'creatinine_phosphokinase':creatinine_phosphokinase, | |
'diabetes':diabetesnum, | |
'ejection_fraction':ejection_fraction, | |
'high_blood_pressure':high_blood_pressurenum, | |
'platelets': platelets, | |
'serum_creatinine': serum_creatinine, | |
'serum_sodium':serum_sodium, | |
'sex':sexnum, | |
'smoking':smokingnum, | |
'time':time | |
} | |
data_inf = pd.DataFrame([data_inf]) | |
st.dataframe(data_inf) | |
if submitted: | |
data_inf_scaled=scaler.transform(data_inf) | |
y_pred_inf_rf = rf.predict(data_inf_scaled) | |
y_pred_inf_GB= GB.predict(data_inf_scaled) | |
st.write('# Prediksi Gradient Boosting: ', str(int(y_pred_inf_GB))) | |
st.write('# Prediksi Randomforest: ', str(int(y_pred_inf_rf))) | |
if __name__== '__main__': | |
run() |