Моніторинг деградації моделі
Свайпніть щоб показати меню
Деградація моделі — це зниження точності прогнозування моделі машинного навчання з часом. Це явище часто пов'язане з дрейфом, тобто зміною розподілу вхідних даних, які отримує модель, порівняно з тими, на яких вона навчалася. Коли виникає дрейф, зв'язок між вхідними ознаками та цільовими змінними може змінюватися, що призводить до менш точних прогнозів. Два поширені метрики для оцінки продуктивності моделі — точність (accuracy) та AUC (площа під ROC-кривою). Зниження будь-якої з цих метрик сигналізує про потенційну деградацію моделі, яка може бути прямим наслідком дрейфу у вихідних даних.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546import 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()
Дрейф — це зміни у розподілі вхідних ознак, тоді як деградація описує відповідне зниження продуктивності моделі. Дрейф може виникати без негайної деградації, якщо модель є стійкою, але тривалий або значний дрейф зазвичай призводить до деградації продуктивності.
Для раннього виявлення деградації моделі слід регулярно відстежувати ключові метрики моделі, такі як accuracy та AUC, на нових вхідних даних. Раптове або поступове зниження цих метрик може бути раннім попередженням про дрейф, що впливає на вашу модель. Відстеження цих значень з часом дозволяє виявити закономірності, які свідчать про те, що модель більше не працює належним чином. Аналіз цих тенденцій дає змогу вчасно вжити коригувальних заходів, наприклад, перевчити модель на оновлених даних або дослідити джерело дрейфу, до того як деградація суттєво вплине на бізнес-результати.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат