Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -2,9 +2,8 @@ import gradio as gr
|
|
2 |
import joblib
|
3 |
import numpy as np
|
4 |
|
5 |
-
# Carregar o modelo treinado
|
6 |
model = joblib.load("tiebreak_model_v1b.pkl")
|
7 |
-
encoder = joblib.load("ordinal_encoder_tiebreak_model_v1b.pkl")
|
8 |
binning_mean_log_odds = joblib.load("Mean_Log_Odds_binning_tiebreak_model_v1b.pkl")
|
9 |
binning_sum_prob = joblib.load("Sum_Prob_binning_tiebreak_model_v1b.pkl")
|
10 |
|
@@ -13,7 +12,7 @@ best_threshold = 0.9400000000000005
|
|
13 |
|
14 |
# Função para realizar a previsão
|
15 |
def predict_tiebreak(odds1_input, odds2_input):
|
16 |
-
# Converter as odds para o formato float e garantir que as
|
17 |
odds1 = float(str(odds1_input).replace(',', '.'))
|
18 |
odds2 = float(str(odds2_input).replace(',', '.'))
|
19 |
|
@@ -25,14 +24,12 @@ def predict_tiebreak(odds1_input, odds2_input):
|
|
25 |
sum_prob = (1 / odds_min) + (1 / odds_max)
|
26 |
|
27 |
# Aplicar binning nas métricas
|
28 |
-
mean_log_odds_bin = binning_mean_log_odds.transform(
|
29 |
-
sum_prob_bin = binning_sum_prob.transform(
|
30 |
|
31 |
-
#
|
32 |
-
|
33 |
-
|
34 |
-
# Criar o vetor de features para o modelo
|
35 |
-
features = np.array([[encoded_features[0], encoded_features[1], odds_ratio]])
|
36 |
|
37 |
# Realizar a previsão com o modelo
|
38 |
raw_prob = model.predict_proba(features)[0, 1] # Probabilidade da classe 1 (menos de 1.5 tiebreaks)
|
|
|
2 |
import joblib
|
3 |
import numpy as np
|
4 |
|
5 |
+
# Carregar o modelo treinado e objetos de binning da raiz do projeto
|
6 |
model = joblib.load("tiebreak_model_v1b.pkl")
|
|
|
7 |
binning_mean_log_odds = joblib.load("Mean_Log_Odds_binning_tiebreak_model_v1b.pkl")
|
8 |
binning_sum_prob = joblib.load("Sum_Prob_binning_tiebreak_model_v1b.pkl")
|
9 |
|
|
|
12 |
|
13 |
# Função para realizar a previsão
|
14 |
def predict_tiebreak(odds1_input, odds2_input):
|
15 |
+
# Converter as odds para o formato float e garantir que as vírgulas sejam substituídas por pontos
|
16 |
odds1 = float(str(odds1_input).replace(',', '.'))
|
17 |
odds2 = float(str(odds2_input).replace(',', '.'))
|
18 |
|
|
|
24 |
sum_prob = (1 / odds_min) + (1 / odds_max)
|
25 |
|
26 |
# Aplicar binning nas métricas
|
27 |
+
mean_log_odds_bin = binning_mean_log_odds.transform([[mean_log_odds]], metric="bins")[0]
|
28 |
+
sum_prob_bin = binning_sum_prob.transform([[sum_prob]], metric="bins")[0]
|
29 |
|
30 |
+
# Substituir o uso de OrdinalEncoder por uma transformação manual baseada nos bins
|
31 |
+
# Aqui simplesmente usamos os valores binados diretamente, assumindo que eles já estão na forma necessária.
|
32 |
+
features = np.array([[mean_log_odds_bin, sum_prob_bin, odds_ratio]])
|
|
|
|
|
33 |
|
34 |
# Realizar a previsão com o modelo
|
35 |
raw_prob = model.predict_proba(features)[0, 1] # Probabilidade da classe 1 (menos de 1.5 tiebreaks)
|