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()