Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Моніторинг деградації моделі | Розділ
Виявлення та моніторинг дрейфу у виробничих ML-системах

Моніторинг деградації моделі

Свайпніть щоб показати меню

Деградація моделі — це зниження точності прогнозування моделі машинного навчання з часом. Це явище часто пов'язане з дрейфом, тобто зміною розподілу вхідних даних, які отримує модель, порівняно з тими, на яких вона навчалася. Коли виникає дрейф, зв'язок між вхідними ознаками та цільовими змінними може змінюватися, що призводить до менш точних прогнозів. Два поширені метрики для оцінки продуктивності моделі — точність (accuracy) та AUC (площа під ROC-кривою). Зниження будь-якої з цих метрик сигналізує про потенційну деградацію моделі, яка може бути прямим наслідком дрейфу у вихідних даних.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import make_classification from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score, roc_auc_score np.random.seed(0) # Generate initial training data (no drift) X_train, y_train = make_classification(n_samples=1000, n_features=10, n_informative=8, n_redundant=2, flip_y=0.01) # Train a simple model model = LogisticRegression() model.fit(X_train, y_train) # Simulate performance over 10 time periods with increasing drift accuracies = [] aucs = [] for t in range(10): # Introduce drift by shifting feature means over time drift_strength = t * 0.2 X_test, y_test = make_classification( n_samples=300, n_features=10, n_informative=8, n_redundant=2, flip_y=0.01, shift=drift_strength ) y_pred = model.predict(X_test) y_proba = model.predict_proba(X_test)[:, 1] accuracies.append(accuracy_score(y_test, y_pred)) aucs.append(roc_auc_score(y_test, y_proba)) # Plot accuracy and AUC over time plt.figure(figsize=(8, 5)) plt.plot(range(10), accuracies, marker='o', label='Accuracy') plt.plot(range(10), aucs, marker='s', label='AUC') plt.xlabel('Time Period') plt.ylabel('Metric Value') plt.title('Model Performance Decay Due to Drift') plt.legend() plt.grid(True) plt.tight_layout() plt.show()
Note
Примітка

Дрейф — це зміни у розподілі вхідних ознак, тоді як деградація описує відповідне зниження продуктивності моделі. Дрейф може виникати без негайної деградації, якщо модель є стійкою, але тривалий або значний дрейф зазвичай призводить до деградації продуктивності.

Для раннього виявлення деградації моделі слід регулярно відстежувати ключові метрики моделі, такі як accuracy та AUC, на нових вхідних даних. Раптове або поступове зниження цих метрик може бути раннім попередженням про дрейф, що впливає на вашу модель. Відстеження цих значень з часом дозволяє виявити закономірності, які свідчать про те, що модель більше не працює належним чином. Аналіз цих тенденцій дає змогу вчасно вжити коригувальних заходів, наприклад, перевчити модель на оновлених даних або дослідити джерело дрейфу, до того як деградація суттєво вплине на бізнес-результати.

question mark

Яка метрика найкраще вказує на деградацію моделі у випадку дрейфу?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 8

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 1. Розділ 8
some-alt