| from flask import Flask, request, jsonify |
| import joblib |
| import json |
|
|
| app = Flask(__name__) |
|
|
| |
| model = joblib.load("models/model.pkl") |
|
|
| |
| with open("models/labels.json", "r") as f: |
| label_map = json.load(f) |
|
|
| @app.route("/") |
| def index(): |
| return "Iris Classifier API is running!" |
|
|
| @app.route("/predict", methods=["POST"]) |
| def predict(): |
| try: |
| data = request.get_json() |
| features = [ |
| float(data["sepal_length"]), |
| float(data["sepal_width"]), |
| float(data["petal_length"]), |
| float(data["petal_width"]), |
| ] |
| prediction = model.predict([features]) |
| pred_index = int(prediction[0]) |
| pred_label = label_map.get(str(pred_index), "unknown") |
| return jsonify({ |
| "prediction": pred_index, |
| "label": pred_label |
| }) |
| except Exception as e: |
| return jsonify({"error": str(e)}), 400 |
|
|