Diff of /interface_streamlit.py [000000] .. [e4c2d8]

Switch to side-by-side view

--- a
+++ b/interface_streamlit.py
@@ -0,0 +1,50 @@
+import joblib
+import pandas as pd
+import streamlit as st
+
+model = joblib.load('kidney_disease_model.pkl')
+
+def get_user_input():
+    age = st.number_input("Enter age", min_value=1, max_value=100, value=25)
+    blood_pressure = st.number_input("Enter blood pressure", min_value=50, max_value=200, value=120)
+    specific_gravity = st.number_input("Enter specific gravity", min_value=1.005, max_value=1.025,format="%.3f", value=1.015)
+    albumin = st.number_input("Enter albumin", min_value=0, max_value=5, value=0)
+    sugar = st.number_input("Enter sugar", min_value=0, max_value=5, value=0)
+    red_blood_cells = st.selectbox("Enter red blood cells (0 for abnormal, 1 for normal)", [0, 1])
+    pus_cell = st.selectbox("Enter pus cell (0 for abnormal, 1 for normal)", [0, 1])
+    pus_cell_clumps = st.selectbox("Enter pus cell clumps (0 for not present, 1 for present)", [0, 1])
+    bacteria = st.selectbox("Enter bacteria (0 for not present, 1 for present)", [0, 1])
+    blood_glucose_random = st.number_input("Enter blood glucose random", min_value=70, max_value=400, value=100)
+    blood_urea = st.number_input("Enter blood urea", min_value=10, max_value=200, value=50)
+    serum_creatinine = st.number_input("Enter serum creatinine", min_value=0.5, max_value=8.0, value=1.0)
+    sodium = st.number_input("Enter sodium", min_value=125, max_value=150, value=135)
+    potassium = st.number_input("Enter potassium", min_value=2.5, max_value=7.0, value=4.5)
+    haemoglobin = st.number_input("Enter haemoglobin", min_value=5.0, max_value=17.0, value=14.0)
+    packed_cell_volume = st.number_input("Enter packed cell volume", min_value=20, max_value=50, value=40)
+    white_blood_cell_count = st.number_input("Enter white blood cell count", min_value=4000, max_value=15000, value=8000)
+    red_blood_cell_count = st.number_input("Enter red blood cell count", min_value=2.5, max_value=6.0, value=5.0)
+    hypertension = st.selectbox("Enter hypertension (0 for no, 1 for yes)", [0, 1])
+    diabetes_mellitus = st.selectbox("Enter diabetes mellitus (0 for no, 1 for yes)", [0, 1])
+    coronary_artery_disease = st.selectbox("Enter coronary artery disease (0 for no, 1 for yes)", [0, 1])
+    appetite = st.selectbox("Enter appetite (0 for poor, 1 for good)", [0, 1])
+    peda_edema = st.selectbox("Enter peda edema (0 for no, 1 for yes)", [0, 1])
+    aanemia = st.selectbox("Enter aanemia (0 for no, 1 for yes)", [0, 1])
+
+    return [[age, blood_pressure, specific_gravity, albumin, sugar, red_blood_cells, pus_cell,
+             pus_cell_clumps, bacteria, blood_glucose_random, blood_urea, serum_creatinine, sodium,
+             potassium, haemoglobin, packed_cell_volume, white_blood_cell_count, red_blood_cell_count,
+             hypertension, diabetes_mellitus, coronary_artery_disease, appetite, peda_edema, aanemia]]
+
+st.title('Kidney Disease Clinical Trial Eligibility Checker')
+
+user_input = get_user_input()
+
+input_data = pd.DataFrame(user_input, columns=['age', 'blood_pressure', 'specific_gravity', 'albumin', 'sugar', 'red_blood_cells', 'pus_cell',
+                                               'pus_cell_clumps', 'bacteria', 'blood_glucose_random', 'blood_urea', 'serum_creatinine', 'sodium',
+                                               'potassium', 'haemoglobin', 'packed_cell_volume', 'white_blood_cell_count', 'red_blood_cell_count',
+                                               'hypertension', 'diabetes_mellitus', 'coronary_artery_disease', 'appetite', 'peda_edema', 'aanemia'])
+
+if st.button('Check Eligibility'):
+    prediction = model.predict(input_data)[0]
+    eligibility = prediction == 0
+    st.write(f"Eligibility for clinical trials: {'Eligible' if eligibility else 'Not Eligible'}")