lesson-6 / app.py
DaniloTertu's picture
Update app.py
e5a321d
import gradio as gr
import joblib
import pandas as pd
m = joblib.load('tree_model.pkl')
def predict(gender, ever_married, work_type, residence_type, smoking_status, age, hypertension, heart_disease, avg_glucose_level, bmi):
input_data = pd.DataFrame({
"gender": [gender],
"ever_married": [ever_married],
"work_type": [work_type],
"Residence_type": [residence_type],
"smoking_status": [smoking_status],
"age": [age],
"hypertension": [hypertension],
"heart_disease": [heart_disease],
"avg_glucose_level": [avg_glucose_level],
"bmi": [bmi]
})
input_data['gender'] = pd.Categorical(input_data.gender)
input_data['ever_married'] = pd.Categorical(input_data.ever_married)
input_data['Residence_type'] = pd.Categorical(input_data.Residence_type)
input_data['work_type'] = pd.Categorical(input_data.work_type)
input_data['smoking_status'] = pd.Categorical(input_data.smoking_status)
cats = ["gender", "ever_married", "work_type", "Residence_type", "smoking_status"]
input_data[cats] = input_data[cats].apply(lambda x: x.cat.codes)
prediction = m.predict(input_data)
if prediction == [0]:
return "didn't have a stroke"
return "have a stroke"
gender = gr.inputs.Radio(choices=["Male", "Female", "Other"], label="Gender")
ever_married = gr.inputs.Radio(choices=["Yes", "No"], label="Ever Married")
work_type = gr.inputs.Radio(choices=['Govt_job', 'Never_worked', 'Private', 'Self-employed', 'children'], label="Work Type")
Residence_type = gr.inputs.Radio(choices=["Urban", "Rural"], label="Residence Type")
smoking_status = gr.inputs.Radio(choices=["Unknown", "never smoked", "formerly smoked", "smokes"], label="Smoking Status")
age = gr.inputs.Number(label="Age")
hypertension = gr.inputs.Number(label="Hypertension")
heart_disease = gr.inputs.Number(label="Heart Disease")
avarage_glucose_level = gr.inputs.Number(label="Average Glucose Level")
bmi = gr.inputs.Number(label="BMI")
'''
gender = gr.inputs.Number(label="Gender"),
ever_married = gr.inputs.Number(label="Gender"),
work_type = gr.inputs.Number(label="Gender"),
Residence_type = gr.inputs.Number(label="Gender"),
smoking_status = gr.inputs.Number(label="Gender"),
age = gr.inputs.Number(label="Age"),
hypertension = gr.inputs.Number(label="Hypertension"),
heart_disease = gr.inputs.Number(label="Heart Disease"),
avarage_glucose_level = gr.inputs.Number(label="Average Glucose Level"),
bmi = gr.inputs.Number(label="BMI")
'''
inputs = [ gender, ever_married, work_type, Residence_type, smoking_status, age, hypertension,heart_disease,avarage_glucose_level,bmi]
output = gr.outputs.Textbox()
intf = gr.Interface(fn=predict, inputs=inputs, outputs=output)
intf.launch()