-
Notifications
You must be signed in to change notification settings - Fork 0
/
TDHospitalSampleSubmission.py
60 lines (48 loc) · 2.8 KB
/
TDHospitalSampleSubmission.py
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
# Sample participant submission for testing
from flask import Flask, jsonify, request
import tensorflow as tf
import pandas as pd
import random
from TD_Hospital_Model_Train import data_preprocessing
app = Flask(__name__)
class Solution:
def __init__(self):
#Initialize any global variables here
self.model = tf.keras.models.load_model('example.h5')
def calculate_death_prob(self, timeknown, cost, reflex, sex, blood, bloodchem1, bloodchem2, temperature, race,
heart, psych1, glucose, psych2, dose, psych3, bp, bloodchem3, confidence, bloodchem4,
comorbidity, totalcost, breathing, age, sleep, dnr, bloodchem5, pdeath, meals, pain,
primary, psych4, disability, administratorcost, urine, diabetes, income, extraprimary,
bloodchem6, education, psych5, psych6, information, cancer):
"""
This function should return your final prediction!
"""
labels = ['timeknown', 'age', 'psych2', 'information']
values = [timeknown, age, psych2, information]
df = dict()
for label, value in zip(labels, values):
df[label] = [value]
df = data_preprocessing(pd.DataFrame(df))
print(df)
prediction = self.model.predict(df.to_numpy())
return float(prediction[0][0])
# BOILERPLATE
@app.route("/death_probability", methods=["POST"])
def q1():
solution = Solution()
data = request.get_json()
print(data)
return {
"probability": solution.calculate_death_prob(data['timeknown'], data['cost'], data['reflex'], data['sex'], data['blood'],
data['bloodchem1'], data['bloodchem2'], data['temperature'], data['race'],
data['heart'], data['psych1'], data['glucose'], data['psych2'],
data['dose'], data['psych3'], data['bp'], data['bloodchem3'],
data['confidence'], data['bloodchem4'], data['comorbidity'],
data['totalcost'], data['breathing'], data['age'], data['sleep'],
data['dnr'], data['bloodchem5'], data['pdeath'], data['meals'],
data['pain'], data['primary'], data['psych4'], data['disability'],
data['administratorcost'], data['urine'], data['diabetes'], data['income'],
data['extraprimary'], data['bloodchem6'], data['education'], data['psych5'],
data['psych6'], data['information'], data['cancer'])}
if __name__ == "__main__":
app.run(host="0.0.0.0", port=5555)