pantdipendra commited on
Commit
25a63b5
·
verified ·
1 Parent(s): 8d8b93d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +72 -40
app.py CHANGED
@@ -1,10 +1,8 @@
1
- import pickle
2
-
3
  import gradio as gr
 
4
  import numpy as np
5
  import pandas as pd
6
 
7
-
8
  class ModelPredictor:
9
  def __init__(self, model_path, model_filenames):
10
  self.model_path = model_path
@@ -72,8 +70,42 @@ model_filenames = [
72
  model_path = "models/"
73
  predictor = ModelPredictor(model_path, model_filenames)
74
 
75
- def predict(user_inputs):
76
- user_input_data = {key: [int(value)] for key, value in user_inputs.items()}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
  user_input = pd.DataFrame(user_input_data)
78
  predictions = predictor.make_predictions(user_input)
79
  majority_vote = predictor.get_majority_vote(predictions)
@@ -95,44 +127,44 @@ def predict(user_inputs):
95
  return results, severity
96
 
97
  inputs = [
98
- gr.inputs.Dropdown(["1", "0"], label="YNURSMDE (1 = Yes, 0 = No)"),
99
- gr.inputs.Dropdown(["1", "2"], label="YMDEYR (1 = Yes, 2 = No)"),
100
- gr.inputs.Dropdown(["1", "0"], label="YSOCMDE (1 = Yes, 0 = No)"),
101
- gr.inputs.Dropdown(["1", "2"], label="YUCOSUITHK (1 = Yes, 2 = No)"),
102
- gr.inputs.Dropdown(["1", "2", "3", "4"], label="YMDESUD5ANYO (1 = SUD only, no MDE, 2 = MDE only, no SUD, 3 = SUD and MDE, 4 = Neither SUD or MDE)"),
103
- gr.inputs.Dropdown(["1", "0"], label="YMSUD5YANY (1 = Yes, 0 = No)"),
104
- gr.inputs.Dropdown(["1", "2", "3", "4"], label="YUSUITHK (1 = Yes, 2 = No, 3 = I'm not sure, 4 = I don't want to answer)"),
105
- gr.inputs.Dropdown(["1", "0"], label="YMDETXRX (1 = Yes, 0 = No)"),
106
- gr.inputs.Dropdown(["1", "2", "3", "4"], label="YUSUITHKYR (1 = Yes, 2 = No, 3 = I'm not sure, 4 = I don't want to answer)"),
107
- gr.inputs.Dropdown(["1", "0"], label="YMDERSUD5ANY (1 = Yes, 0 = No)"),
108
- gr.inputs.Dropdown(["1", "2", "3", "4"], label="YUSUIPLNYR (1 = Yes, 2 = No, 3 = I'm not sure, 4 = I don't want to answer)"),
109
- gr.inputs.Dropdown(["1", "0"], label="YCOUNMDE (1 = Yes, 0 = No)"),
110
- gr.inputs.Dropdown(["1", "0"], label="YPSY1MDE (1 = Yes, 0 = No)"),
111
- gr.inputs.Dropdown(["1", "0"], label="YHLTMDE (1 = Yes, 0 = No)"),
112
- gr.inputs.Dropdown(["1", "0"], label="YDOCMDE (1 = Yes, 0 = No)"),
113
- gr.inputs.Dropdown(["1", "0"], label="YPSY2MDE (1 = Yes, 0 = No)"),
114
- gr.inputs.Dropdown(["1", "0"], label="YMDEHARX (1 = Yes, 0 = No)"),
115
- gr.inputs.Dropdown(["1", "2", "3"], label="LVLDIFMEM2 (1 = No Difficulty, 2 = Some difficulty, 3 = A lot of difficulty or cannot do at all)"),
116
- gr.inputs.Dropdown(["1", "2"], label="MDEIMPY (1 = Yes, 2 = No)"),
117
- gr.inputs.Dropdown(["1", "0"], label="YMDEHPO (1 = Yes, 0 = No)"),
118
- gr.inputs.Dropdown(["1", "2", "3", "4", "5"], label="CONEGMH (1 = Not at all, 2 = A little, 3 = Some, 4 = Quite a bit, 5 = A lot)"),
119
- gr.inputs.Dropdown(["1", "2", "3"], label="COCLNEGMH (1 = Not at all, 2 = A little or some, 3 = Quite a bit or a lot)"),
120
- gr.inputs.Dropdown(["1", "0"], label="YMIMS5YANY (1 = Yes, 0 = No)"),
121
- gr.inputs.Dropdown(["1", "0"], label="YMDEIMAD5YR (1 = Yes, 0 = No)"),
122
- gr.inputs.Dropdown(["1", "0"], label="YMIUD5YANY (1 = Yes, 0 = No)"),
123
- gr.inputs.Dropdown(["1", "2"], label="YUCOSUIPLN (1 = Yes, 2 = No)"),
124
- gr.inputs.Dropdown(["1", "0"], label="YMDEHPRX (1 = Yes, 0 = No)"),
125
- gr.inputs.Dropdown(["1", "0"], label="YMIMI5YANY (1 = Yes, 0 = No)"),
126
- gr.inputs.Dropdown(["1", "2", "3", "4"], label="YUSUIPLN (1 = Yes, 2 = No, 3 = I'm not sure, 4 = I don't want to answer)"),
127
- gr.inputs.Dropdown(["1", "0"], label="YTXMDEYR (1 = Yes, 0 = No)"),
128
- gr.inputs.Dropdown(["1", "0"], label="YMDEAUD5YR (1 = Yes, 0 = No)"),
129
- gr.inputs.Dropdown(["1", "0"], label="YRXMDEYR (1 = Yes, 0 = No)"),
130
- gr.inputs.Dropdown(["1", "2"], label="YMDELT (1 = Yes, 2 = No)")
131
  ]
132
 
133
  outputs = [
134
- gr.outputs.Textbox(label="Prediction Results"),
135
- gr.outputs.Textbox(label="Mental Health Severity")
136
  ]
137
 
138
  gr.Interface(fn=predict, inputs=inputs, outputs=outputs, title="Adolescent Mental Health Prediction").launch()
 
 
 
1
  import gradio as gr
2
+ import pickle
3
  import numpy as np
4
  import pandas as pd
5
 
 
6
  class ModelPredictor:
7
  def __init__(self, model_path, model_filenames):
8
  self.model_path = model_path
 
70
  model_path = "models/"
71
  predictor = ModelPredictor(model_path, model_filenames)
72
 
73
+ def predict(YNURSMDE, YMDEYR, YSOCMDE, YUCOSUITHK, YMDESUD5ANYO, YMSUD5YANY, YUSUITHK, YMDETXRX, YUSUITHKYR, YMDERSUD5ANY, YUSUIPLNYR, YCOUNMDE, YPSY1MDE, YHLTMDE, YDOCMDE, YPSY2MDE, YMDEHARX, LVLDIFMEM2, MDEIMPY, YMDEHPO, CONEGMH, COCLNEGMH, YMIMS5YANY, YMDEIMAD5YR, YMIUD5YANY, YUCOSUIPLN, YMDEHPRX, YMIMI5YANY, YUSUIPLN, YTXMDEYR, YMDEAUD5YR, YRXMDEYR, YMDELT):
74
+ user_input_data = {
75
+ 'YNURSMDE': [int(YNURSMDE)],
76
+ 'YMDEYR': [int(YMDEYR)],
77
+ 'YSOCMDE': [int(YSOCMDE)],
78
+ 'YUCOSUITHK': [int(YUCOSUITHK)],
79
+ 'YMDESUD5ANYO': [int(YMDESUD5ANYO)],
80
+ 'YMSUD5YANY': [int(YMSUD5YANY)],
81
+ 'YUSUITHK': [int(YUSUITHK)],
82
+ 'YMDETXRX': [int(YMDETXRX)],
83
+ 'YUSUITHKYR': [int(YUSUITHKYR)],
84
+ 'YMDERSUD5ANY': [int(YMDERSUD5ANY)],
85
+ 'YUSUIPLNYR': [int(YUSUIPLNYR)],
86
+ 'YCOUNMDE': [int(YCOUNMDE)],
87
+ 'YPSY1MDE': [int(YPSY1MDE)],
88
+ 'YHLTMDE': [int(YHLTMDE)],
89
+ 'YDOCMDE': [int(YDOCMDE)],
90
+ 'YPSY2MDE': [int(YPSY2MDE)],
91
+ 'YMDEHARX': [int(YMDEHARX)],
92
+ 'LVLDIFMEM2': [int(LVLDIFMEM2)],
93
+ 'MDEIMPY': [int(MDEIMPY)],
94
+ 'YMDEHPO': [int(YMDEHPO)],
95
+ 'CONEGMH': [int(CONEGMH)],
96
+ 'COCLNEGMH': [int(COCLNEGMH)],
97
+ 'YMIMS5YANY': [int(YMIMS5YANY)],
98
+ 'YMDEIMAD5YR': [int(YMDEIMAD5YR)],
99
+ 'YMIUD5YANY': [int(YMIUD5YANY)],
100
+ 'YUCOSUIPLN': [int(YUCOSUIPLN)],
101
+ 'YMDEHPRX': [int(YMDEHPRX)],
102
+ 'YMIMI5YANY': [int(YMIMI5YANY)],
103
+ 'YUSUIPLN': [int(YUSUIPLN)],
104
+ 'YTXMDEYR': [int(YTXMDEYR)],
105
+ 'YMDEAUD5YR': [int(YMDEAUD5YR)],
106
+ 'YRXMDEYR': [int(YRXMDEYR)],
107
+ 'YMDELT': [int(YMDELT)]
108
+ }
109
  user_input = pd.DataFrame(user_input_data)
110
  predictions = predictor.make_predictions(user_input)
111
  majority_vote = predictor.get_majority_vote(predictions)
 
127
  return results, severity
128
 
129
  inputs = [
130
+ gr.Dropdown(["1", "0"], label="YNURSMDE (1 = Yes, 0 = No)"),
131
+ gr.Dropdown(["1", "2"], label="YMDEYR (1 = Yes, 2 = No)"),
132
+ gr.Dropdown(["1", "0"], label="YSOCMDE (1 = Yes, 0 = No)"),
133
+ gr.Dropdown(["1", "2"], label="YUCOSUITHK (1 = Yes, 2 = No)"),
134
+ gr.Dropdown(["1", "2", "3", "4"], label="YMDESUD5ANYO (1 = SUD only, no MDE, 2 = MDE only, no SUD, 3 = SUD and MDE, 4 = Neither SUD or MDE)"),
135
+ gr.Dropdown(["1", "0"], label="YMSUD5YANY (1 = Yes, 0 = No)"),
136
+ gr.Dropdown(["1", "2", "3", "4"], label="YUSUITHK (1 = Yes, 2 = No, 3 = I'm not sure, 4 = I don't want to answer)"),
137
+ gr.Dropdown(["1", "0"], label="YMDETXRX (1 = Yes, 0 = No)"),
138
+ gr.Dropdown(["1", "2", "3", "4"], label="YUSUITHKYR (1 = Yes, 2 = No, 3 = I'm not sure, 4 = I don't want to answer)"),
139
+ gr.Dropdown(["1", "0"], label="YMDERSUD5ANY (1 = Yes, 0 = No)"),
140
+ gr.Dropdown(["1", "2", "3", "4"], label="YUSUIPLNYR (1 = Yes, 2 = No, 3 = I'm not sure, 4 = I don't want to answer)"),
141
+ gr.Dropdown(["1", "0"], label="YCOUNMDE (1 = Yes, 0 = No)"),
142
+ gr.Dropdown(["1", "0"], label="YPSY1MDE (1 = Yes, 0 = No)"),
143
+ gr.Dropdown(["1", "0"], label="YHLTMDE (1 = Yes, 0 = No)"),
144
+ gr.Dropdown(["1", "0"], label="YDOCMDE (1 = Yes, 0 = No)"),
145
+ gr.Dropdown(["1", "0"], label="YPSY2MDE (1 = Yes, 0 = No)"),
146
+ gr.Dropdown(["1", "0"], label="YMDEHARX (1 = Yes, 0 = No)"),
147
+ gr.Dropdown(["1", "2", "3"], label="LVLDIFMEM2 (1 = No Difficulty, 2 = Some difficulty, 3 = A lot of difficulty or cannot do at all)"),
148
+ gr.Dropdown(["1", "2"], label="MDEIMPY (1 = Yes, 2 = No)"),
149
+ gr.Dropdown(["1", "0"], label="YMDEHPO (1 = Yes, 0 = No)"),
150
+ gr.Dropdown(["1", "2", "3", "4", "5"], label="CONEGMH (1 = Not at all, 2 = A little, 3 = Some, 4 = Quite a bit, 5 = A lot)"),
151
+ gr.Dropdown(["1", "2", "3"], label="COCLNEGMH (1 = Not at all, 2 = A little or some, 3 = Quite a bit or a lot)"),
152
+ gr.Dropdown(["1", "0"], label="YMIMS5YANY (1 = Yes, 0 = No)"),
153
+ gr.Dropdown(["1", "0"], label="YMDEIMAD5YR (1 = Yes, 0 = No)"),
154
+ gr.Dropdown(["1", "0"], label="YMIUD5YANY (1 = Yes, 0 = No)"),
155
+ gr.Dropdown(["1", "2"], label="YUCOSUIPLN (1 = Yes, 2 = No)"),
156
+ gr.Dropdown(["1", "0"], label="YMDEHPRX (1 = Yes, 0 = No)"),
157
+ gr.Dropdown(["1", "0"], label="YMIMI5YANY (1 = Yes, 0 = No)"),
158
+ gr.Dropdown(["1", "2", "3", "4"], label="YUSUIPLN (1 = Yes, 2 = No, 3 = I'm not sure, 4 = I don't want to answer)"),
159
+ gr.Dropdown(["1", "0"], label="YTXMDEYR (1 = Yes, 0 = No)"),
160
+ gr.Dropdown(["1", "0"], label="YMDEAUD5YR (1 = Yes, 0 = No)"),
161
+ gr.Dropdown(["1", "0"], label="YRXMDEYR (1 = Yes, 0 = No)"),
162
+ gr.Dropdown(["1", "2"], label="YMDELT (1 = Yes, 2 = No)")
163
  ]
164
 
165
  outputs = [
166
+ gr.Textbox(label="Prediction Results"),
167
+ gr.Textbox(label="Mental Health Severity")
168
  ]
169
 
170
  gr.Interface(fn=predict, inputs=inputs, outputs=outputs, title="Adolescent Mental Health Prediction").launch()