Trabalhando com resultados calculados e estimados

Monitoramento de Machine Learning em Python

Maciej Balawejder

Data Scientist

Como particionar os dados?

A imagem mostra três tipos de particionamento: por tipo, por tamanho e por quantidade.

Monitoramento de Machine Learning em Python

Especificando diferentes chunks

A imagem mostra apelidos de particionamento por tempo que podem ser passados como argumento para o parâmetro de período do chunk.

# Initialize the algorithm
cbpe = nannyml.CBPE(
   problem_type='classification_binary',
   y_pred_proba='predicted_probability',
   y_pred='prediction',
   y_true='employed',
   metrics=['roc_auc'],
   chunk_period='m',
   # chunk_size = 5000, 
   # chunk_number = 10
)
Monitoramento de Machine Learning em Python

Inicializando limiares personalizados

Limiares por desvio padrão

  • Defina manualmente os multiplicadores inferior e superior de desvio padrão
# Standard deviation thresholds
stdt = StandardDeviationThreshold(
    std_lower_multiplier=3, 
    std_upper_multiplier=3
    )

Limiares constantes

  • Defina manualmente os valores mínimo e máximo do limiar
# Constant thresholds
ct = ConstantThreshold(
    lower=0.85, 
    upper=0.95
    )
Monitoramento de Machine Learning em Python

Especificando limiares personalizados

# Import threshold methods(last slide)
from nannyml.thresholds import ConstantThreshold, StandardDeviationThreshold

# Passing thresholds to the CBPE algorithm
estimator = nannyml.CBPE(...
    metrics = ['roc_auc', 'accuracy'],
    thresholds={'roc_auc': ct, 'accuracy' : stdt}
)

A imagem mostra gráficos de desempenho estimado para as métricas ROC AUC e accuracy com limiares personalizados.

Monitoramento de Machine Learning em Python

Filtrando resultados

  • Por período
    filtered_results = results.filter(period='analysis')
    
  • Por métricas

    filtered_results = results.filter(metrics=['mae'])
    
  • Ambos

    filtered_results = results.filter(period='analysis', metrics=['mae'])
    
Monitoramento de Machine Learning em Python

Exportar resultados para dataframe

# Export results to dataframe format
results.filter(period='analysis').to_df()

A imagem mostra os resultados no formato dataframe.

Monitoramento de Machine Learning em Python

Vamos praticar!

Monitoramento de Machine Learning em Python

Preparing Video For Download...