File size: 2,067 Bytes
1e20656
 
5c5b397
 
 
aae6493
c05f598
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5c5b397
 
c05f598
 
47858de
c05f598
 
 
 
 
 
 
 
 
 
4920d02
 
 
12cd932
8181851
7d9a734
 
12cd932
8181851
12cd932
 
5ad04f6
27bf8b4
3319690
5e90216
 
 
 
 
 
 
 
a61a907
 
0707d46
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#Bismillahir Rahmaanir Raheem
#Almadadh Ya Gause RadiAllahu Ta'alah Anh - Ameen


import gradio as gr
import pandas as pd
from pycaret.classification import load_model, predict_model



# load the trained model for predictions
model = load_model("tuned_blend_specific_model_19112021")


# define the function to call 
def predict(model, input_df):
	predictions_df = predict_model(estimator=model, data=input_df)
	predictions = predictions_df["Amputation"][0]





#input_dict = {"AGE": age, "GENDER_F": gender, "RACE_Asian":	,"RACE_Black": ,	"RACE_Coloured":,	"RACE_Other":,	"RACE_White":,	"DIABETES_CLASS_Type 1 diabetes":}

input_dict = {"AGE": 70.0, "GENDER_F": 0.0, "RACE_Asian": 1.0, "RACE_Black": 0.0,	"RACE_Coloured": 0.0,	"RACE_Other": 0.0,	"RACE_White": 0.0,	"DIABETES_CLASS_Type 1 diabetes":0.0}


input_df = pd.DataFrame([input_dict])




# the parameters in this function, actually gets the inputs for the prediction 
def predict_amputation(age, gender, race, diabetes_type):
    return "ALLAH"+predict(model=model, input_df=input_df) # calls the predict function when the 'submit' button is clicked


title = "DIabetes-related Amputation Risk Calculator (DIARC)"

description = "A diabetes-related amputation machine learning model trained on the diabetes dataset from the Inkosi Albert Luthuli Central Hospital (IALCH) in Durban, KwaZulu-Natal, South Africa."


iface = gr.Interface(
		fn=predict_amputation, 
		title=title, 
		description=description, 
		inputs=[gr.inputs.Slider(minimum=0,maximum=100, step=1, label="Age"), gr.inputs.Dropdown(["Female", "Male"], default="Male", label="Gender"), gr.inputs.Dropdown(["Asian", "Black", "Coloured", "White", "Other"], default="Asian", label="Race"), gr.inputs.Dropdown(["1", "2"], default="1", label="Diabetes Type")], 
		outputs="text",
		theme="darkhuggingface",
		examples=[
			[50, "Male", "Black", 2],
			[76, "Female", "Asian", 2],
			[12, "Female", "White", 1],
			[30, "Male", "Coloured", 1],
			[65, "Female", "Other", 2],
		],
)

iface.test_launch()		
if __name__ == "__main__":
	iface.launch()