NBA / app.py
henrymalosnok123's picture
Rename app (1).py to app.py
f03e930 verified
#!/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[ ]: