File size: 1,257 Bytes
fadd01e d7df989 fadd01e 0232160 fadd01e 7689d4f 0232160 d7df989 fadd01e 62a0002 d7df989 3599531 fadd01e 3599531 62a0002 fadd01e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | # app.py
import gradio as gr
import pandas as pd
import pickle
import numpy as np
# Load your XGBoost model
with open("xgboost_facebook_model.pkl", "rb") as f:
model = pickle.load(f)
# Prediction function
def predict_engagement(f1, f2, f3, f4, f5, f6, f7, f8):
# Convert input features into 2D DataFrame
input_data = pd.DataFrame([[f1, f2, f3, f4, f5, f6, f7, f8]],
columns=['Feature1','Feature2','Feature3','Feature4',
'Feature5','Feature6','Feature7','Feature8'])
# Make prediction
pred = model.predict(input_data)[0]
return pred
# Gradio interface
iface = gr.Interface(
fn=predict_engagement,
inputs=[
gr.Number(label="Feature 1"),
gr.Number(label="Feature 2"),
gr.Number(label="Feature 3"),
gr.Number(label="Feature 4"),
gr.Number(label="Feature 5"),
gr.Number(label="Feature 6"),
gr.Number(label="Feature 7"),
gr.Number(label="Feature 8")
],
outputs=gr.Textbox(label="Predicted Engagement"),
title="XGBoost Engagement Predictor",
description="Input 8 numerical features to predict engagement using your XGBoost model."
)
if __name__ == "__main__":
iface.launch()
|