#!/usr/bin/env python # coding: utf-8 # In[1]: import os # Ejecutar el notebook antes de lanzar la aplicaci贸n Gradio os.system("jupyter nbconvert --to notebook --execute Proyecto_Final_GODD.ipynb --output Proyecto_Final_executed.ipynb") # Ahora carga el modelo, scaler y tad actualizados import joblib import pandas as pd import gradio as gr # Cargar modelo, scaler y datos hist贸ricos actualizados logistic = joblib.load("logistic_model_2.pkl") scaler = joblib.load("scaler_2.pkl") tad = pd.read_csv("tad_2.csv") # Definir funci贸n de predicci贸n def gradio_predict(team1, team2): resultado = predict_basketball_matchup(team1, team2, logistic, scaler, tad) output = f""" **馃弨 PREDICCI脫N DE ENFRENTAMIENTO 馃弨** ========================================= **馃敼 {team1}: {resultado['team1_probability']:.1%} probabilidad de victoria** **馃敼 {team2}: {resultado['team2_probability']:.1%} probabilidad de victoria** **馃敟 Favorito:** {resultado['favorite']} ({resultado['win_probability']:.1%}) """ return output # Crear interfaz Gradio with gr.Blocks() as demo: gr.Markdown("# 馃弨 Predicci贸n de Partidos NBA") team1 = gr.Dropdown(label="Seleccione el equipo 1", choices=tad["TEAM_NAME"].unique().tolist()) team2 = gr.Dropdown(label="Seleccione el equipo 2", choices=tad["TEAM_NAME"].unique().tolist()) btn = gr.Button("馃搳 Predecir Resultado") resultado_texto = gr.Markdown("") btn.click(fn=gradio_predict, inputs=[team1, team2], outputs=resultado_texto) # Lanzar la aplicaci贸n if __name__ == "__main__": demo.launch() # In[ ]: