predictive / app.py
SSS18's picture
Update app.py
9ecea8c verified
raw
history blame
1.07 kB
import os
import pickle
import numpy as np
from flask import Flask, request, jsonify
app = Flask(__name__)
# Load model
MODEL_PATH = "predictive_model_smote.pkl"
with open(MODEL_PATH, "rb") as f:
model = pickle.load(f)
@app.route("/")
def home():
return {"message": "Predictive Maintenance API is running"}
@app.route("/predict", methods=["POST"])
def predict():
try:
data = request.json
# Expected input features in correct order
features = [
data["Air temperature [K]"],
data["Process temperature [K]"],
data["Rotational speed [rpm]"],
data["Torque [Nm]"],
data["Tool wear [min]"]
]
features_array = np.array([features])
prediction = model.predict(features_array)[0]
return jsonify({
"prediction": int(prediction)
})
except Exception as e:
return jsonify({"error": str(e)})
if __name__ == "__main__":
port = int(os.environ.get("PORT", 7860))
app.run(host="0.0.0.0", port=port)