import joblib import pandas as pd import streamlit as st # โหลดโมเดลที่คุณได้ฝึกเสร็จแล้ว model = joblib.load('logistic_regression_model.pkl') def main(): st.title("Healthcare Prediction") # สร้างฟอร์มสำหรับกรอกข้อมูล with st.form("questionaire"): child = st.number_input("Child", min_value=0, max_value=10) hct = st.number_input("Hematocrit", min_value=10.0, max_value=100.0) inr = st.number_input("INR", min_value=0.0, max_value=10.0) alb = st.number_input("Albumin", min_value=0.0, max_value=10.0) tb = st.number_input("Total Bilirubin", min_value=0.0, max_value=20.0) ascites = st.slider("Ascites", min_value=0, max_value=10) hepencep = st.slider("Hepatic Encephalopathy", min_value=0, max_value=10) bclcstage = st.slider("BCLC Stage", min_value=1, max_value=4) sen = st.slider("SEN", min_value=1, max_value=20) active = st.slider("Active", min_value=0, max_value=10) pvinvade = st.slider("PV Invasion", min_value=0, max_value=10) hivicinvade = st.slider("HIV Invasion", min_value=0, max_value=10) treat_embolize = st.slider("Treatment Embolize", min_value=0, max_value=10) treat_surgery = st.slider("Treatment Surgery", min_value=0, max_value=10) sex_male = st.selectbox("Sex (Male)", [0, 1]) # 0 = Female, 1 = Male shock_Shock = st.slider("Shock (Shock)", min_value=0, max_value=10) loctumor_left_lobe = st.slider("Tumor Left Lobe", min_value=0, max_value=10) locbleed_left_lobe = st.slider("Bleed Left Lobe", min_value=0, max_value=10) locbleed_right_lobe = st.slider("Bleed Right Lobe", min_value=0, max_value=10) # เมื่อผู้ใช้กดปุ่ม Predict clicked = st.form_submit_button("Predict Health Outcome") if clicked: # ทำการทำนายโดยใช้โมเดล result = model.predict(pd.DataFrame({ "child": [child], "hct": [hct], "inr": [inr], "alb": [alb], "tb": [tb], "ascites": [ascites], "hepencep": [hepencep], "bclcstage": [bclcstage], "sen": [sen], "active": [active], "pvinvade": [pvinvade], "hvivcinvade": [hivicinvade], "treat_embolize": [treat_embolize], "treat_surgery": [treat_surgery], "sex_male": [sex_male], "shock_Shock": [shock_Shock], "loctumor_left_lobe": [loctumor_left_lobe], "locbleed_left_lobe": [locbleed_left_lobe], "locbleed_right_lobe": [locbleed_right_lobe] })) # แสดงผลลัพธ์ result = 'Diabetes' if result[0] == 1 else 'Not Diabetes' st.success(f'The predicted result is: {result}') if __name__ == '__main__': main()