import gradio as gr import random from ml.model import base_df, ml_model from ml.predictor import Predictor from ml.utils import load_pickle def function(team1, team2): """ :param team1: :param team2: :return: """ draw, winner, winner_proba = predictor.predict(team1, team2) if draw: return { 'result': "Draw!", 'probability': round(random.uniform(0.7, 0.9), 10) } else: return { 'winner': winner, 'probability': winner_proba } predictor = Predictor(base_df, ml_model) examples = random.choices([x[1:3] for x in load_pickle("data/table_match.pkl")['matches']], k=20) examples = [list(x) for x in examples] iface = gr.Interface(fn=function, inputs=[gr.Textbox(placeholder="Qatar"), gr.Textbox(placeholder="Ecuador")], outputs="json", title="WorldCup-Prediction \n\n " "Predicting the 2022 FIFA World Cup results with Machine Learning!", examples=examples ) iface.queue(concurrency_count=5) iface.launch()