Spaces:
Running
Running
import pickle | |
import gradio as gr | |
import numpy as np | |
import pandas as pd | |
df=pd.read_csv("heart.csv") | |
encode_sex={name:i for i,name in enumerate(df["Sex"].unique())} | |
encode_chest={name:i for i,name in enumerate(df["ChestPainType"].unique())} | |
encode_slope={name:i for i, name in enumerate(df['ST_Slope'].unique())} | |
file_name='heart_disease_model.sav' | |
model=pickle.load(open('heart_disease_model.sav','rb')) | |
def show_output(age,sex,chestpain,maxhr,st_slope,cholestrol): | |
values=dict() | |
values['Age']=age | |
values['Sex']=encode_sex[sex] | |
values['ChestPainType']=encode_chest[chestpain] | |
values["MaxHR"]=maxhr | |
values["ST_Slope"]=encode_slope[st_slope] | |
values['Cholestrol']=cholestrol | |
encoded=pd.DataFrame.from_dict([values]) | |
x=encoded.to_numpy() | |
x=x.reshape(1,-1) | |
x=(x-x.min())/(x.max()-x.min()) | |
preds=model.predict_proba(x) | |
return {'healthy':preds[0][0],'Diseased':preds[0][1]} | |
inputs = [gr.Slider(1,120,2,label='age'), | |
gr.Dropdown(df["Sex"].unique().tolist(),label='sex'), | |
gr.Dropdown(df["ChestPainType"].unique().tolist(),label='chestpain'), | |
gr.Slider(1,200,1,label='maxhr'), | |
gr.Dropdown(df['ST_Slope'].unique().tolist(),label='st_slope'), | |
gr.Slider(1,400,1,label='cholestrol'), | |
] | |
demo=gr.Interface(show_output,inputs=inputs,outputs='label',theme=gr.themes.Default(neutral_hue='red',secondary_hue=gr.themes.colors.cyan,primary_hue='red')) | |
demo.launch(debug=True) |