abc / app.py
640510702phithak's picture
Update app.py
6f66a2a verified
Raw History Blame Contribute Delete
3.14 kB
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()