Skip to content

Commit 464716c

Browse files
Added prediction endpoint (#7)
1 parent e3ae5e4 commit 464716c

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed
-927 Bytes
Binary file not shown.

src/api.py

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import os
22

3-
from flask import Flask, Response
3+
from flask import Flask, Response, request
44
from flask_cors import CORS
55
import pandas as pd
6+
import pickle
67

78
app = Flask(__name__)
89

@@ -11,6 +12,11 @@
1112

1213
training_data = pd.read_csv(os.path.join("data", "auto-mpg.csv"))
1314

15+
# laden des Models
16+
file_to_open = open(os.path.join("data", "models", "regressor_mpg.pickle"), "rb")
17+
trained_model = pickle.load(file_to_open)
18+
file_to_open.close()
19+
1420

1521
@app.route("/", methods=["GET"])
1622
def index():
@@ -25,3 +31,20 @@ def hello_world():
2531
@app.route("/training_data", methods=["GET"])
2632
def get_training_data():
2733
return Response(training_data.to_json(), mimetype="application/json")
34+
35+
36+
@app.route("/predict", methods=["GET"])
37+
def predict():
38+
# Lese die Variablen aus
39+
zylinder = request.args.get("zylinder")
40+
ps = request.args.get("ps")
41+
gewicht = request.args.get("gewicht")
42+
beschleunigung = request.args.get("beschleunigung")
43+
baujahr = request.args.get("baujahr")
44+
45+
# Erstellen der Vorhersage
46+
prediction = trained_model.predict(
47+
[[int(zylinder), int(ps), int(gewicht), int(beschleunigung), int(baujahr)]]
48+
)
49+
50+
return {"result": prediction[0]}

0 commit comments

Comments
 (0)