pantdipendra
commited on
Update app.py
Browse files
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(
|
76 |
-
user_input_data = {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
99 |
-
gr.
|
100 |
-
gr.
|
101 |
-
gr.
|
102 |
-
gr.
|
103 |
-
gr.
|
104 |
-
gr.
|
105 |
-
gr.
|
106 |
-
gr.
|
107 |
-
gr.
|
108 |
-
gr.
|
109 |
-
gr.
|
110 |
-
gr.
|
111 |
-
gr.
|
112 |
-
gr.
|
113 |
-
gr.
|
114 |
-
gr.
|
115 |
-
gr.
|
116 |
-
gr.
|
117 |
-
gr.
|
118 |
-
gr.
|
119 |
-
gr.
|
120 |
-
gr.
|
121 |
-
gr.
|
122 |
-
gr.
|
123 |
-
gr.
|
124 |
-
gr.
|
125 |
-
gr.
|
126 |
-
gr.
|
127 |
-
gr.
|
128 |
-
gr.
|
129 |
-
gr.
|
130 |
-
gr.
|
131 |
]
|
132 |
|
133 |
outputs = [
|
134 |
-
gr.
|
135 |
-
gr.
|
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()
|