283nawdeep commited on
Commit
dc131da
·
verified ·
1 Parent(s): 251fda7

Upload folder using huggingface_hub

Browse files
Files changed (4) hide show
  1. Dockerfile +19 -0
  2. app.py +29 -0
  3. random_forest_final_model.pkl +3 -0
  4. requirements.txt +8 -0
Dockerfile ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Use Python base image
2
+ FROM python:3.11-slim
3
+
4
+ # Set working directory
5
+ WORKDIR /app
6
+
7
+ # Copy files
8
+ COPY requirements.txt .
9
+ COPY app.py .
10
+ COPY random_forest_final_model.pkl .
11
+
12
+ # Install dependencies
13
+ RUN pip install --no-cache-dir -r requirements.txt
14
+
15
+ # Expose port
16
+ EXPOSE 7860
17
+
18
+ # Run the Flask app
19
+ CMD ["python", "app.py"]
app.py ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from flask import Flask, request, jsonify
2
+ import pandas as pd
3
+ import joblib
4
+
5
+ # Load model
6
+ model = joblib.load("random_forest_final_model.pkl")
7
+
8
+ # Create Flask app
9
+ app = Flask(__name__)
10
+
11
+ # Route: Home
12
+ @app.route('/')
13
+ def home():
14
+ return "Welcome to SuperKart Sales Forecasting API"
15
+
16
+ # Route: Predict
17
+ @app.route('/predict', methods=['POST'])
18
+ def predict():
19
+ try:
20
+ data = request.get_json()
21
+ df = pd.DataFrame([data]) # convert dict to DataFrame
22
+ prediction = model.predict(df)[0]
23
+ return jsonify({'Predicted_Sales': round(prediction, 2)})
24
+ except Exception as e:
25
+ return jsonify({'error': str(e)})
26
+
27
+ # Run the app
28
+ if __name__ == '__main__':
29
+ app.run(host='0.0.0.0', port=7860)
random_forest_final_model.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d953ab4ebf91c355975bea9044c0517d2688e61a4d506b9d4ff9fdd59c335705
3
+ size 51371994
requirements.txt ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ flask
2
+ pandas
3
+ numpy
4
+ fastapi
5
+ uvicorn
6
+ joblib
7
+ scikit-learn==1.6.1
8
+ xgboost