diff --git a/src/__pycache__/api.cpython-310.pyc b/src/__pycache__/api.cpython-310.pyc deleted file mode 100644 index afcbcfb..0000000 Binary files a/src/__pycache__/api.cpython-310.pyc and /dev/null differ diff --git a/src/api.py b/src/api.py index a600480..8bc31db 100644 --- a/src/api.py +++ b/src/api.py @@ -1,8 +1,9 @@ import os -from flask import Flask, Response +from flask import Flask, Response, request from flask_cors import CORS import pandas as pd +import pickle app = Flask(__name__) @@ -11,6 +12,11 @@ training_data = pd.read_csv(os.path.join("data", "auto-mpg.csv")) +# laden des Models +file_to_open = open(os.path.join("data", "models", "regressor_mpg.pickle"), "rb") +trained_model = pickle.load(file_to_open) +file_to_open.close() + @app.route("/", methods=["GET"]) def index(): @@ -25,3 +31,20 @@ def hello_world(): @app.route("/training_data", methods=["GET"]) def get_training_data(): return Response(training_data.to_json(), mimetype="application/json") + + +@app.route("/predict", methods=["GET"]) +def predict(): + # Lese die Variablen aus + zylinder = request.args.get("zylinder") + ps = request.args.get("ps") + gewicht = request.args.get("gewicht") + beschleunigung = request.args.get("beschleunigung") + baujahr = request.args.get("baujahr") + + # Erstellen der Vorhersage + prediction = trained_model.predict( + [[int(zylinder), int(ps), int(gewicht), int(beschleunigung), int(baujahr)]] + ) + + return {"result": prediction[0]}