Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import pandas as pd | |
| import numpy as np | |
| from sklearn.preprocessing import StandardScaler | |
| from sklearn.linear_model import LogisticRegression | |
| # Cargar el modelo, scaler y datos hist贸ricos previamente ajustados | |
| # (Aseg煤rate de tener logistic, scaler y tad listos) | |
| logistic = logistic_model_2.pkl # Modelo entrenado | |
| scaler = scaler_2.pkl # Scaler ajustado | |
| tad = tad_2.pkl # DataFrame con datos hist贸ricos | |
| # Funci贸n de predicci贸n adaptada a Gradio | |
| def gradio_predict(team1, team2): | |
| """ | |
| Funci贸n adaptada para Gradio que ejecuta predict_basketball_matchup | |
| """ | |
| resultado = predict_basketball_matchup(team1, team2, logistic, scaler, tad) | |
| # Formateamos la salida | |
| 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%}) | |
| **馃搳 M脡TRICAS COMPARATIVAS** | |
| ------------------------------------------ | |
| """ | |
| for metric in resultado['metrics_comparison'][team1]: | |
| output += f"馃敻 {metric}: {team1} - {resultado['metrics_comparison'][team1][metric]:.3f} | {team2} - {resultado['metrics_comparison'][team2][metric]:.3f} \n" | |
| return output | |
| # Lista de equipos disponibles | |
| equipos_disponibles = tad["TEAM_NAME"].unique().tolist() | |
| # Interfaz de Gradio | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# 馃弨 Predicci贸n de Partidos NBA") | |
| with gr.Row(): | |
| team1 = gr.Dropdown(label="Seleccione el equipo 1", choices=equipos_disponibles) | |
| team2 = gr.Dropdown(label="Seleccione el equipo 2", choices=equipos_disponibles) | |
| btn = gr.Button("馃搳 Predecir Resultado") | |
| resultado_texto = gr.Markdown("") | |
| btn.click(fn=gradio_predict, inputs=[team1, team2], outputs=resultado_texto) | |
| # Lanzar la interfaz | |
| demo.launch(share=True) | |