Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import numpy as np | |
| from joblib import load | |
| rf = load("model.pkl") | |
| columns = [ | |
| "BMI", | |
| "Smoking", | |
| "AlcoholDrinking", | |
| "Stroke", | |
| "PhysicalHealth", | |
| "MentalHealth", | |
| "DiffWalking", | |
| "Sex", | |
| "AgeEstimate", | |
| "Race", | |
| "Diabetic", | |
| "PhysicalActivity", | |
| "GenHealth", | |
| "SleepTime", | |
| "Asthma", | |
| "KidneyDisease", | |
| "SkinCancer" | |
| ] | |
| def convert_to_int(s): | |
| return int(s[:2]) | |
| def predict( | |
| BMI, | |
| Smoking, | |
| AlcoholDrinking, | |
| Stroke, | |
| PhysicalHealth, | |
| MentalHealth, | |
| DiffWalking, | |
| Sex, | |
| AgeEstimate, | |
| Race, | |
| Diabetic, | |
| PhysicalActivity, | |
| GenHealth, | |
| SleepTime, | |
| Asthma, | |
| KidneyDisease, | |
| SkinCancer | |
| ): | |
| data = np.array( | |
| [ | |
| [ | |
| BMI, | |
| Smoking, | |
| AlcoholDrinking, | |
| Stroke, | |
| PhysicalHealth, | |
| MentalHealth, | |
| DiffWalking, | |
| Sex, | |
| convert_to_int(AgeEstimate), | |
| Race+1, | |
| Diabetic, | |
| PhysicalActivity, | |
| GenHealth+1, | |
| SleepTime, | |
| Asthma, | |
| KidneyDisease, | |
| SkinCancer | |
| ] | |
| ] | |
| ) | |
| pred = rf.predict(data)[0] | |
| if pred == 1: | |
| return "Has heart disease" | |
| else: | |
| return "Does not have any heart disease" | |
| inputs = [ | |
| gr.Slider(minimum=0, maximum=150, label="BMI"), | |
| gr.Checkbox(label="Smoking"), | |
| gr.Checkbox(label="Alcohol Drinking"), | |
| gr.Checkbox(label="Stroke"), | |
| gr.Number(label="Physical Health"), | |
| gr.Number(label="MentalHealth"), | |
| gr.Checkbox(label="Diff Walking"), | |
| gr.Dropdown(["Female", "Male"], type="index", label="Sex"), | |
| gr.Dropdown(['18-24', | |
| '25-29', | |
| '30-34', | |
| '35-39', | |
| '40-44', | |
| '45-49', | |
| '50-54', | |
| '55-59', | |
| '60-64', | |
| '65-69', | |
| '70-74', | |
| '75-79', | |
| '80 or older'], label="Age Category"), | |
| gr.Dropdown(["White", "Black", "Asian", "American Indian/Alaskan Native", "Hispanic", "Other"], type="index", label="Race"), | |
| gr.Dropdown(["No", "Yes", "Yes(during pregnancy)", "No, borderline diabetes"], type="index", label="Diebetic"), | |
| gr.Checkbox(label="Physical Activity"), | |
| gr.Dropdown(["Poor", "Fair", "Good", "Very good", "Excellent"], type="index", label="General Health"), | |
| gr.Number(label="Sleep time"), | |
| gr.Checkbox(label="Asthma"), | |
| gr.Checkbox(label="Kidney Disease"), | |
| gr.Checkbox(label="Skin Cancer"), | |
| ] | |
| iface = gr.Interface( | |
| fn=predict, | |
| inputs=inputs, | |
| outputs="text", | |
| description="The purpose of this model is to predict whether or not a person has any heart diseases or not.", | |
| ) | |
| iface.launch(share=True) |