Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import joblib | |
| import numpy as np | |
| BUNDLE_PATH = "RF_bundle_40_diseases.pkl" | |
| bundle = joblib.load(BUNDLE_PATH) | |
| model = bundle["model"] | |
| symptoms = bundle["features"] | |
| def predict_disease(selected_symptoms): | |
| if not selected_symptoms: | |
| return "Please select at least one symptom." | |
| input_vector = np.zeros(len(symptoms)) | |
| for symptom in selected_symptoms: | |
| if symptom in symptoms: | |
| index = symptoms.index(symptom) | |
| input_vector[index] = 1 | |
| prediction = model.predict([input_vector]) | |
| return prediction[0] | |
| demo = gr.Interface( | |
| fn=predict_disease, | |
| inputs=gr.Dropdown( | |
| choices=symptoms, | |
| label="Type and Select Symptoms", | |
| multiselect=True, | |
| filterable=True # Enables auto-search | |
| ), | |
| outputs="text", | |
| title="Disease Detection System", | |
| description="Start typing a symptom and select from suggestions." | |
| ) | |
| demo.launch() | |