| | import numpy as np |
| | import pandas as pd |
| | from sklearn.model_selection import train_test_split |
| | from sklearn.preprocessing import StandardScaler |
| | from tensorflow.keras.models import Sequential |
| | from tensorflow.keras.layers import Dense |
| | from tensorflow.keras.optimizers import Adam |
| |
|
| | import torch |
| | from fastapi import FastAPI |
| | from pydantic import BaseModel |
| | from flask import Flask, request, jsonify |
| |
|
| | |
| | model_name = "model.joblib" |
| | import os |
| | import joblib |
| | |
| | model_filename = 'model.joblib' |
| | scaler_filename = 'scaler.joblib' |
| |
|
| | |
| | loaded_model = joblib.load(model_filename) |
| | loaded_scaler = joblib.load(scaler_filename) |
| |
|
| | |
| | app = Flask(__name__) |
| |
|
| | |
| | @app.route('/predict', methods=['POST']) |
| | def predict(): |
| | |
| | data = request.get_json() |
| | new_df = pd.DataFrame(data) |
| | |
| | new_df_encoded = pd.get_dummies(new_df, columns=['Creative Set', 'Game Type', 'Partner', 'Country']) |
| |
|
| |
|
| | new_data_scaled = loaded_scaler.transform(new_df_encoded) |
| | |
| |
|
| | |
| | predictions = loaded_model.predict(new_data_scaled) |
| |
|
| | |
| | return jsonify({"prediction": predictions.tolist()}) |
| |
|
| | if __name__ == '__main__': |
| | |
| | app.run(debug=True, host='0.0.0.0', port=5000) |