import joblib import pandas as pd from flask import Flask, request, jsonify # Initialize Flask app with a name SalesRevenue_predictor_api = Flask("Sales Revenue predictor") # Load the trained revenue prediction model model = joblib.load("SuperKart_turnOver_prediction_model_v1_0.joblib") # Define a route for the home page @SalesRevenue_predictor_api.get('/') def home(): return "Welcome to the Sales Revenue Prediction API!" # Define an endpoint to predict revenue for a single customer @SalesRevenue_predictor_api.route('/v1/Sales_prediction', methods=['POST']) def predict_revenue(): # Get JSON data from the request product_data = request.get_json() # Extract relevant customer features from the input data sample = { 'Product_Id': product_data['Product_Id'], 'Product_Weight': product_data['Product_Weight'], 'Product_Sugar_Content': product_data['Product_Sugar_Content'], 'Product_Allocated_Area': product_data['Product_Allocated_Area'], 'Product_Type': product_data['Product_Type'], 'Product_MRP': product_data['Product_MRP'], 'Store_Id': product_data['Store_Id'], 'Store_Establishment_Year': product_data['Store_Establishment_Year'], 'Store_Size': product_data['Store_Size'], 'Store_Location_City_Type': product_data['Store_Location_City_Type'], 'Store_Type' : product_data['Store_Type'] } # Convert the extracted data into a DataFrame input_data = pd.DataFrame([sample]) # Make a revenue prediction using the trained model #prediction = model.predict(input_data).tolist()[0] prediction = model.predict(input_data)[0] # Return the prediction as a JSON response return jsonify({ 'Prediction': prediction, 'Message': 'Prediction completed' }) # Run the Flask app in debug mode if __name__ == '__main__': SalesRevenue_predictor_api.run(debug=True)