Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -1,11 +1,14 @@
|
|
1 |
import gradio as gr
|
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 |
|
10 |
# Definir o melhor threshold encontrado
|
11 |
best_threshold = 0.9400000000000005
|
@@ -24,12 +27,17 @@ def predict_tiebreak(odds1_input, odds2_input):
|
|
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 |
-
#
|
31 |
-
|
32 |
-
|
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
1 |
import gradio as gr
|
2 |
import joblib
|
3 |
import numpy as np
|
4 |
+
import pandas as pd
|
5 |
+
from sklearn.preprocessing import OrdinalEncoder
|
6 |
|
7 |
# Carregar o modelo treinado e objetos de binning da raiz do projeto
|
8 |
model = joblib.load("tiebreak_model_v1b.pkl")
|
9 |
binning_mean_log_odds = joblib.load("Mean_Log_Odds_binning_tiebreak_model_v1b.pkl")
|
10 |
binning_sum_prob = joblib.load("Sum_Prob_binning_tiebreak_model_v1b.pkl")
|
11 |
+
encoder = joblib.load("ordinal_encoder_tiebreak_model_v1b.pkl") # Carregue o encoder treinado
|
12 |
|
13 |
# Definir o melhor threshold encontrado
|
14 |
best_threshold = 0.9400000000000005
|
|
|
27 |
sum_prob = (1 / odds_min) + (1 / odds_max)
|
28 |
|
29 |
# Aplicar binning nas métricas
|
30 |
+
mean_log_odds_bin = binning_mean_log_odds.transform([[mean_log_odds]], metric="bins")[0][0]
|
31 |
+
sum_prob_bin = binning_sum_prob.transform([[sum_prob]], metric="bins")[0][0]
|
32 |
|
33 |
+
# Preparar os dados para a predição
|
34 |
+
bin_features = np.array([[mean_log_odds_bin, sum_prob_bin]])
|
35 |
+
|
36 |
+
# Aplicar o OrdinalEncoder nas features binadas
|
37 |
+
encoded_features = encoder.transform(bin_features)
|
38 |
+
|
39 |
+
# Criar o vetor de features para o modelo
|
40 |
+
features = np.array([[encoded_features[0][0], encoded_features[0][1], odds_ratio]])
|
41 |
|
42 |
# Realizar a previsão com o modelo
|
43 |
raw_prob = model.predict_proba(features)[0, 1] # Probabilidade da classe 1 (menos de 1.5 tiebreaks)
|