Работа с вычисленными и оценочными результатами

Мониторинг машинного обучения на Python

Maciej Balawejder

Data Scientist

Как разбивать данные на чанки?

На изображении показаны три типа разбивки на чанки: по типу, по размеру и по количеству.

Мониторинг машинного обучения на Python

Задание параметров разбивки на чанки

На изображении показаны псевдонимы разбивки по времени, которые можно передать в качестве аргумента параметра периода чанка.

# 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
)
Мониторинг машинного обучения на Python

Инициализация пользовательских порогов

Пороги на основе стандартного отклонения

  • Задайте нижний и верхний множители стандартного отклонения вручную
# Standard deviation thresholds
stdt = StandardDeviationThreshold(
    std_lower_multiplier=3, 
    std_upper_multiplier=3
    )

Константные пороги

  • Задайте нижнее и верхнее значения порогов вручную
# Constant thresholds
ct = ConstantThreshold(
    lower=0.85, 
    upper=0.95
    )
Мониторинг машинного обучения на Python

Задание пользовательских порогов

# 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}
)

На изображении показаны графики оценочной производительности для метрик ROC AUC и accuracy с пользовательскими порогами.

Мониторинг машинного обучения на Python

Фильтрация результатов

  • По периоду
    filtered_results = results.filter(period='analysis')
    
  • По метрикам

    filtered_results = results.filter(metrics=['mae'])
    
  • Оба параметра

    filtered_results = results.filter(period='analysis', metrics=['mae'])
    
Мониторинг машинного обучения на Python

Экспорт результатов в датафрейм

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

На изображении показаны результаты в формате датафрейма.

Мониторинг машинного обучения на Python

Давайте потренируемся!

Мониторинг машинного обучения на Python

Preparing Video For Download...