Spaces:
Sleeping
Sleeping
| 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) | |
| def home(): | |
| return {"message": "Predictive Maintenance API is running"} | |
| 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) | |