Расчёт и оценка бизнес-ценности

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

Maciej Balawejder

Data Scientist

Бизнес-ценность модели

  • Цель модели машинного обучения — приносить ценность бизнесу.
  • Бизнес-ценность модели может снижаться из-за:
    • Изменения привычек клиентов
    • Модель может перестать быть полезной
Мониторинг машинного обучения на Python

Матрица ошибок

На изображении показана матрица ошибок со значениями TP, FN, FP и TN.

  • True positive (TP) — модель верно предсказывает, что бронирование не будет отменено
  • False positive (FP) — модель ошибочно предсказывает, что бронирование не будет отменено
  • False negative (FN) — модель ошибочно предсказывает, что бронирование будет отменено
  • True negative (TN) — модель верно предсказывает, что бронирование будет отменено
Мониторинг машинного обучения на Python

Формула бизнес-ценности

На изображении показано умножение и суммирование матрицы ошибок и матрицы бизнес-ценности.

  • True positive (TP) — не добавляет и не уменьшает ценность.
  • False positive (FP) — приводит к переселению и скидкам, обходится отелю в $200.
  • False negative (FN) — стоит отелю $100: оплата одной ночи до нахождения замены.
  • True negative (TN) — даёт $1000, так как отель может сдать номер другому гостю.
Мониторинг машинного обучения на Python

Когда метки доступны

На изображении показан процесс расчёта бизнес-ценности модели при наличии меток.

# Initialize the calculator
calculator = nannyml.PerformanceCalculator(...
    problem_type='classification_binary',
    metrics=['business_value'],
    # [value_of_TN, value_of_FP], [value_of_FN, value_of_TP]]
    business_value_matrix = [[0, -200],[-100, 1000]],
    normalize_business_value='None')
Мониторинг машинного обучения на Python

Когда метки недоступны

На изображении показан процесс расчёта бизнес-ценности модели при отсутствии меток.

# Initialize the estimator
estimator = nannyml.CBPE(...
    problem_type='classification_binary',
    metrics=['business_value'],
    # [value_of_TN, value_of_FP], [value_of_FN, value_of_TP]]
    business_value_matrix = [[0, -200],[-100, 1000]],
    normalize_business_value='per_prediction')
Мониторинг машинного обучения на Python

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

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

Preparing Video For Download...