File size: 937 Bytes
5c0f8ba
61bb578
8f27613
5c0f8ba
 
 
 
c05b93c
5c0f8ba
8f27613
 
 
 
5c0f8ba
164c46c
 
5c0f8ba
 
 
61bb578
 
 
 
 
 
 
 
 
8f27613
 
 
 
 
 
61bb578
 
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
from flask import Flask, request, jsonify
import joblib
import json

app = Flask(__name__)

# Load model
model = joblib.load("models/model.pkl")

# Load label mapping
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