| |
|
| | import joblib |
| | from flask import Flask, request, jsonify |
| | import pandas as pd |
| | import numpy as np |
| |
|
| | |
| | model = joblib.load('final_model.joblib') |
| | preprocessor = joblib.load('preprocessor.joblib') |
| |
|
| | superkart_revenue_forecaster_api = Flask("SuperKart Sales Revenue Forecaster") |
| |
|
| | |
| | @superkart_revenue_forecaster_api.get('/') |
| | def home(): |
| | """ |
| | This function handles GET requests to the root URL ('/') of the API. |
| | It returns a simple welcome message. |
| | """ |
| | return 'Welcome to the SuperKart Revenue Forecaster - By Vidyasagar Chitchula' |
| |
|
| | |
| | |
| |
|
| | |
| | @superkart_revenue_forecaster_api.post('/v1/forecastrevenue') |
| | def forecast_Revenue(): |
| | try: |
| | data = request.get_json() |
| |
|
| | |
| | input_df = pd.DataFrame([data]) |
| |
|
| | |
| | if 'Store_Establishment_Year' in input_df.columns: |
| | input_df['Store_Age'] = 2025 - input_df['Store_Establishment_Year'] |
| | input_df = input_df.drop('Store_Establishment_Year', axis=1) |
| |
|
| | |
| | if 'Product_Id' in input_df.columns: |
| | input_df = input_df.drop('Product_Id', axis=1) |
| |
|
| | |
| | processed_data = preprocessor.transform(input_df) |
| |
|
| | |
| | prediction = model.predict(processed_data) |
| |
|
| | |
| | return jsonify({'predicted_sales': float(prediction[0])}) |
| |
|
| | except Exception as e: |
| | return jsonify({'error': str(e)}), 400 |
| |
|
| | |
| | |
| |
|