1ucii commited on
Commit
fcdf349
·
1 Parent(s): 8d5dc53

init app.py

Browse files
Files changed (1) hide show
  1. app.py +76 -0
app.py ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import numpy as np
3
+ import pickle
4
+ import joblib
5
+
6
+ def predict(Height,Weight,INR,Race,Age,gender,Diabetes,Simvastatin,Amiodarone,VKORC1, ml_model):
7
+
8
+ age_encoder = joblib.load('my_le_age.joblib')
9
+ en_age = age_encoder.transform([Age])[0]
10
+ race_encoder = joblib.load('my_le_race.joblib')
11
+ en_race = race_encoder.transform([Race])[0]
12
+ gen_encoder = joblib.load('my_le_gender.joblib')
13
+ en_gen = gen_encoder.transform([gender])[0]
14
+ sim_encoder = joblib.load('my_le_sim.joblib')
15
+ en_sim = sim_encoder.transform([Simvastatin])[0]
16
+ ami_encoder = joblib.load('my_le_ami.joblib')
17
+ en_ami = ami_encoder.transform([Amiodarone])[0]
18
+ vk_encoder = joblib.load('my_le_vk.joblib')
19
+ en_vk = vk_encoder.transform([VKORC1])[0]
20
+ input_features=np.array([Height,Weight,INR,en_race,en_age,en_gen,Diabetes,en_sim,en_ami,en_vk]).reshape(1,-1)
21
+ norm_features = scaler.fit_transform(input_features)
22
+
23
+ if(ml_model == 'Linear'):
24
+ with open('lrn_model.pkl', 'rb') as file:
25
+ lrn_model = pickle.load(file)
26
+ res = lrn_model.predict(norm_features)[0]
27
+ elif(ml_model == 'SVRegressor'):
28
+ with open('svr_model.pkl', 'rb') as file:
29
+ lrn_model = pickle.load(file)
30
+ res = lrn_model.predict(norm_features)[0]
31
+ elif(ml_model == 'Decision Trees Regressor'):
32
+ with open('dt_model.pkl', 'rb') as file:
33
+ lrn_model = pickle.load(file)
34
+ res = lrn_model.predict(norm_features)[0]
35
+ elif(ml_model == 'Lasso Regression'):
36
+ with open('lasso_model.pkl', 'rb') as file:
37
+ lrn_model = pickle.load(file)
38
+ res = lrn_model.predict(norm_features)[0]
39
+ else:
40
+ with open('mlp_model.pkl', 'rb') as file:
41
+ lrn_model = pickle.load(file)
42
+ res = lrn_model.predict(norm_features)[0]
43
+
44
+ return res
45
+
46
+ return en_gen
47
+
48
+
49
+ Height = gr.inputs.Number(label='Height (cm)')
50
+ Weight = gr.inputs.Number(label='Weight (kg)')
51
+ INR = gr.inputs.Number(label='INR on Reported Therapeutic Dose of Warfarin')
52
+ Race = gr.inputs.Dropdown(['African-American','Asian','Black','Black African','Black Caribbean',
53
+ 'Black or African American','Black other','Caucasian','Chinese',
54
+ 'Han Chinese','Hispanic','Indian','Intermediate' ,'Japanese', 'Korean',
55
+ 'Malay', 'Other' ,'Other (Black British)' ,'Other (Hungarian)',
56
+ 'Other Mixed Race' ,'White' ,'other'], label='Race')
57
+ Age = gr.inputs.Dropdown(['10 - 19','20 - 29','30 - 39','40 - 49','50 - 59','60 - 69','70 - 79','80 - 89','90+'],label='Age')
58
+ gender = gr.inputs.Dropdown(["male", "female"], label="Gender")
59
+ Diabetes = gr.inputs.Number(label='Diabetes')
60
+ Simvastatin = gr.inputs.Number(label='Simvastatin (Zocor)')
61
+ Amiodarone = gr.inputs.Number(label='Amiodarone (Cordarone)')
62
+ VKORC1 = gr.inputs.Dropdown(['A/A','A/G','G/G'], label='VKORC1 genotype: -1639 G>A (3673); chr16:31015190; rs9923231; C/T')
63
+ ml_model = gr.inputs.Dropdown(["Linear", "SVRegressor", "Decision Trees Regressor","Lasso Regression", "MLP Neural Network"], label="ML Model")
64
+ outputs = [
65
+ gr.outputs.Textbox(label="Dose"),
66
+ ]
67
+ # Create interface
68
+ interface = gr.Interface(
69
+ fn=predict,
70
+ inputs=[Height,Weight,INR,Race,Age,gender,Diabetes,Simvastatin,Amiodarone,VKORC1,
71
+ ml_model],
72
+ outputs=outputs
73
+ )
74
+
75
+ # Launch interface
76
+ interface.launch()