|
import gradio as gr |
|
import joblib |
|
import pandas as pd |
|
|
|
|
|
model_LayAway = joblib.load('model_class_layaway_0.pkl') |
|
model_LayHome = joblib.load('model_class_layhome_1.pkl') |
|
|
|
def converter_para_float(valor): |
|
|
|
return float(valor.replace(',', '.')) |
|
|
|
def fazer_previsao(ODD_H, ODD_D, ODD_A): |
|
|
|
ODD_H = converter_para_float(ODD_H) |
|
ODD_D = converter_para_float(ODD_D) |
|
ODD_A = converter_para_float(ODD_A) |
|
|
|
data = pd.DataFrame( |
|
{'H/A': [ODD_H / ODD_A], 'Diff': [(ODD_H / ODD_D) - (ODD_H / ODD_A)]}) |
|
previsao_LayAway = model_LayAway.predict(data)[0] |
|
previsao_LayHome = model_LayHome.predict(data)[0] |
|
|
|
if previsao_LayAway == previsao_LayHome: |
|
resultado = 'Não entre!' |
|
else: |
|
if previsao_LayAway == 1: |
|
entrada_LayAway = 'SIM' |
|
else: |
|
entrada_LayAway = 'NAO' |
|
|
|
probabilidade_LayAway = round( |
|
100 * model_LayAway.predict_proba(data)[0][1], 2) |
|
probabilidade_LayHome = round( |
|
100 * model_LayHome.predict_proba(data)[0][1], 2) |
|
|
|
if probabilidade_LayAway > 68.2: |
|
entrada_Home = 'SIM' |
|
else: |
|
entrada_Home = 'NAO' |
|
|
|
if (probabilidade_LayAway < 26.1) & (probabilidade_LayHome > 88.5): |
|
entrada_Away = 'SIM' |
|
else: |
|
entrada_Away = 'NAO' |
|
|
|
if previsao_LayHome == 1: |
|
entrada_LayHome = 'SIM' |
|
else: |
|
entrada_LayHome = 'NAO' |
|
|
|
resultado = f"entrada LayAway (se Odd> 1.17): {entrada_LayAway}\n" \ |
|
f"---> probabilidade: {probabilidade_LayAway}%\n" \ |
|
f"\n" \ |
|
f"entrada Home: {entrada_Home}\n" \ |
|
f"obs: Muito risco, apenas 67% de acerto (odds>1.489)\n" \ |
|
f"\n" \ |
|
f"entrada LayHome (se Odd> 1.28): {entrada_LayHome}\n" \ |
|
f"---> probabilidade: {probabilidade_LayHome}%\n" \ |
|
f"\n" \ |
|
|
|
return resultado |
|
|
|
|
|
iface = gr.Interface( |
|
fn=fazer_previsao, |
|
inputs=[gr.Textbox(label="Odds para CASA vencer"), |
|
gr.Textbox(label="Odds para EMPATE"), |
|
gr.Textbox(label="Odds para VISITANTE vencer")], |
|
outputs="text", |
|
title="Redução de Risco em Apostas", |
|
description="Insira as Odds e obtenha uma sugestão para entradas LayAway (CASA vence ou EMPATA) e LayHome (VISITANTE vence ou EMPATA)." |
|
) |
|
|
|
iface.launch() |
|
|