Obliczanie i szacowanie wartości biznesowej

Monitorowanie uczenia maszynowego w Pythonie

Maciej Balawejder

Data Scientist

Wartość biznesowa modelu

  • Celem modelu uczenia maszynowego jest dostarczanie wartości biznesowej.
  • Wartość biznesowa modelu może maleć z powodu:
    • Zmiany zachowań klientów
    • Model może stać się bezużyteczny
Monitorowanie uczenia maszynowego w Pythonie

Macierz pomyłek

Obraz przedstawia macierz pomyłek z wartościami TP, FN, FP i TN.

  • Prawdziwie pozytywny (TP) – model poprawnie przewiduje, że rezerwacja nie zostanie anulowana
  • Fałszywie pozytywny (FP) – model błędnie przewiduje, że rezerwacja nie zostanie anulowana
  • Fałszywie negatywny (FN) – model błędnie przewiduje, że rezerwacja zostanie anulowana
  • Prawdziwie negatywny (TN) – model poprawnie przewiduje, że rezerwacja zostanie anulowana
Monitorowanie uczenia maszynowego w Pythonie

Wzór na wartość biznesową

Obraz przedstawia mnożenie i sumowanie macierzy pomyłek i macierzy wartości biznesowej.

  • Prawdziwie pozytywny (TP) – nie dodaje ani nie odejmuje żadnej wartości.
  • Fałszywie pozytywny (FP) – prowadzi do relokacji i rabatów, kosztuje hotel 200 USD.
  • Fałszywie negatywny (FN) – kosztuje hotel 100 USD za jedną noc do znalezienia zastępstwa.
  • Prawdziwie negatywny (TN) – warty 1000 USD, ponieważ hotel może wynająć pokój komuś innemu.
Monitorowanie uczenia maszynowego w Pythonie

Gdy etykiety są dostępne

Obraz przedstawia proces obliczania wartości biznesowej modelu przy dostępnych etykietach.

# 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')
Monitorowanie uczenia maszynowego w Pythonie

Gdy etykiety są niedostępne

Obraz przedstawia proces obliczania wartości biznesowej modelu przy braku etykiet.

# 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')
Monitorowanie uczenia maszynowego w Pythonie

Czas na ćwiczenia!

Monitorowanie uczenia maszynowego w Pythonie

Preparing Video For Download...