File size: 2,562 Bytes
1e20656
 
5c5b397
 
 
aae6493
c05f598
 
 
 
 
 
 
 
 
 
 
50c8486
 
c05f598
 
5c5b397
 
c05f598
 
 
 
 
 
 
 
 
dd43c79
a52d12d
 
cb04dfa
a52d12d
 
8716dd5
a52d12d
 
12b6b1a
 
 
9dee9a0
9198215
4920d02
 
a52d12d
 
4920d02
12cd932
16b729b
7d9a734
6ed263b
c7a8f72
 
 
7d9a734
12cd932
8181851
12cd932
 
c7a8f72
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#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]
	return predictions 




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






# the parameters in this function, actually gets the inputs for the prediction 
def predict_amputation(age, gender, race, diabetes_type):
	#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_dict = {"AGE": 70.0, "GENDER": 0.0, "RACE": 1.0, "DIABETES_CLASS":0.0, "AMPUTATION":0}
	
	
	input_dict = {"AGE": 70, "GENDER": "F", "RACE": "Asian", "DIABETES_CLASS":"Type 2 diabetes", "AMPUTATION":0}
	
	
	input_dict = {"AGE": 80, "GENDER": "F", "RACE": "Asian", "DIABETES_CLASS":"Type 2 diabetes", "AMPUTATION":0}
	
	
	input_df = pd.DataFrame([input_dict])
	return "ALLAH: "+str(predict(model=model, input_df=input_df)) # calls the predict function when 'submit' 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."

article = "<p style='text-align: center'><span style='font-size: 15pt;'>&copy; DIARC. 2021. All Rights Reserved.</span></p>"




iface = gr.Interface(
		fn=predict_amputation, 
		title=title, 
		description=description, 
		article=article,
		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()