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()