File size: 1,643 Bytes
1dca0ba |
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 42 43 44 45 46 47 |
import gradio as gr
import joblib
import pandas as pd
# 1. Cargar el modelo de Churn
# Usamos try/except por si olvidaste ejecutar el entrenar.py
try:
modelo = joblib.load("modelo_churn.joblib")
except:
modelo = None
# 2. Funci贸n de predicci贸n
def predecir_abandono(antiguedad, pago_mensual, es_senior):
if modelo is None:
return {"Error: Modelo no encontrado": 1}
# Preparamos los datos igual que en el entrenamiento
# es_senior viene del checkbox (True/False), lo convertimos a 1 o 0
senior_num = 1 if es_senior else 0
datos = pd.DataFrame([[antiguedad, pago_mensual, senior_num]],
columns=['tenure', 'MonthlyCharges', 'SeniorCitizen'])
# Predecir probabilidades
# proba[0] = Probabilidad de quedarse (No Churn)
# proba[1] = Probabilidad de irse (Yes Churn)
proba = modelo.predict_proba(datos)[0]
return {
"Cliente Fiel (Se queda)": float(proba[0]),
"Riesgo de Abandono (Churn)": float(proba[1])
}
# 3. Interfaz Web
interfaz = gr.Interface(
fn=predecir_abandono,
inputs=[
gr.Slider(minimum=0, maximum=72, label="Antig眉edad (Meses)", info="驴Cu谩nto tiempo lleva con nosotros?"),
gr.Number(label="Pago Mensual ($)", value=50.0),
gr.Checkbox(label="驴Es Adulto Mayor (Senior)?")
],
outputs=gr.Label(num_top_classes=2, label="Predicci贸n de Riesgo"),
title="Detector de Fugas de Clientes (Churn)",
description="Introduce los datos del cliente para evaluar si est谩 en riesgo de cancelar el servicio."
)
interfaz.launch() |