Навчальний простір / Python
Основи штучного інтелекту

Supervised learning: навчання, прогноз і метрики

Supervised pipeline поєднує навчання підготовки й моделі.

Зміст матеріалу

Що ви опануєте

Ви навчитеся створювати supervised pipeline, розрізняти fit і predict та оцінювати класифікацію кількома показниками. Приклад — визначення категорії зразка Wine за вимірюваннями. Набір містить реальні хімічні характеристики та мітки класів; модель перевіряємо лише в межах цієї навчальної задачі.

Параметри й навчання

Параметри моделі визначаються з train. Гіперпараметри задаються до навчання й керують формою або процедурою. У логістичній регресії coefficients є параметрами, а C — налаштуванням сили регуляризації. fit(X,y) визначає модель, predict(X) застосовує її до нових ознак. predict_proba для підтримуваних моделей повертає оцінки класових ймовірностей, які також потребують перевірки калібрування.

Функція втрат задає критерій навчальної оптимізації. Вона може відрізнятися від метрики, яку використовуємо для практичного рішення. Регуляризація обмежує складність або величину параметрів, впливаючи на узагальнення. Оптимізаційний алгоритм має збігатися за визначеними умовами; warning про незбіжність потрібно дослідити, а не приховати.

Pipeline

Pipeline поєднує перетворення та estimator у один контракт. На fit scaler визначає статистики train, потім model навчається на перетворених ознаках. На predict ті самі статистики застосовуються до нового входу. Це зменшує ризик непослідовної підготовки й дозволяє виконувати cross-validation без витоку між fold.

python
from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import classification_report, confusion_matrix

X, y = load_wine(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, stratify=y, random_state=42)
model = make_pipeline(StandardScaler(), LogisticRegression(max_iter=2000))
model.fit(X_train, y_train)
predicted = model.predict(X_test)
print(confusion_matrix(y_test, predicted))
print(classification_report(y_test, predicted, zero_division=0))

Розмір X дорівнює 178×13, y має три класи. StandardScaler потрібний для узгодження масштабів у цій моделі. max_iter задає максимальну кількість ітерацій solver, а не число епох ручного тренування. Точні метрики можуть залежати від бібліотеки; звіт має містити власний результат, версію й seed.

Матриця помилок

Confusion matrix зіставляє справжні й передбачені класи. У стандартному виклику sklearn рядки відповідають істинним класам, стовпці — прогнозам. Діагональ містить правильні відповіді. Елементи поза діагоналлю показують, які класи плутаються. Порядок міток потрібно явно назвати, особливо якщо він визначається автоматично.

Для двокласової задачі TP — правильно знайдені позитивні, FP — хибні позитивні, FN — пропущені позитивні, TN — правильні негативні. Позитивний клас визначає постановка. Зміна його значення змінює інтерпретацію precision і recall, тому ці показники не можна подавати без назви класу.

Precision, recall та F1

precision=TPTP+FP,recall=TPTP+FN,F1=2PRP+R.\mathrm{precision}=\frac{TP}{TP+FP},\qquad \mathrm{recall}=\frac{TP}{TP+FN},\qquad F_1=\frac{2PR}{P+R}.

Precision характеризує частку правильних серед позитивних прогнозів; recall — частку знайдених серед усіх реальних позитивних. F1 є гармонійним середнім цих двох показників. Якщо знаменник нульовий, потрібна визначена політика. У коді zero_division=0 задає технічне значення для звіту, але причина відсутності прогнозів класу все одно потребує аналізу.

Accuracy — частка правильних відповідей. Для сильно незбалансованих класів висока accuracy може відповідати слабкій роботі на рідкісному класі. Macro-average усереднює показники класів із рівним внеском, weighted-average — за їх support. Вибір має відповідати задачі та ціні помилки.

Регресійні метрики

Для числової цілі MAE є середнім абсолютним відхиленням і має одиниці цілі. RMSE підсилює внесок великих помилок через квадрат перед усередненням. R2R^2 порівнює пояснену варіацію за визначеним правилом і може бути від’ємним на test. Один показник не описує структуру помилок; потрібно аналізувати їх за групами та діапазонами.

Метрика задає спосіб порівняння, а не робить дані незалежними автоматично. Якщо test повторює train об’єкти, навіть правильна формула дає спотворене уявлення про узагальнення. Процедура оцінювання й формула однаково важливі.

Типові помилки та практика

Помилки: fit на test, scaler до поділу, використання тільки accuracy, неозначений позитивний клас і warning solver без аналізу. Порівняйте pipeline з baseline за тією самою частиною й метрикою. Збережіть матрицю помилок і короткий аналіз кожного важливого типу відмови.

Практичне осмислення

Для виявлення дефектного обладнання поясніть різницю FP і FN. Яка помилка створює більший ризик? Як зміна порогу ймовірності вплине на precision і recall? Складіть протокол порівняння baseline та моделі без використання test для налаштування.

Як читати матрицю помилок і ціну рішення

Для бінарної класифікації зафіксуйте позитивний клас. У Bank Marketing ним може бути yes — згода на депозит. True positive означає правильно знайдену згоду, false positive — прогноз згоди при фактичній відмові. False negative означає пропущену згоду. Назви мають сенс лише разом із визначенням позитивного класу.

Precision дорівнює TP/(TP+FP), recall — TP/(TP+FN). Якщо модель прогнозує дуже мало yes, precision може бути високою при низькому recall. Поріг рішення визначає баланс: менший поріг часто збільшує число позитивних прогнозів. Підбирайте його на validation за погодженою ціною помилок, потім фіксуйте до фінального test.

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

Для регресії MAE вимірює середній модуль помилки в одиницях цілі, а RMSE сильніше реагує на великі відхилення через квадрат. Обидва числа потрібно читати з масштабом цілі й baseline. Помилка 10 може бути малою для тисяч оренд і великою для кількості одиниць обладнання. Після оцінки подивіться на конкретні помилки та межі даних, зберігаючи незалежність наступного циклу підбору. Метрика має підтримувати рішення, яке описано у постановці.

Схема процесу

Supervised learning: навчання, прогноз і метрикиОберіть елемент, щоб побачити пояснення

Відокремлюємо незалежну перевірку.

Самоперевірка

Перевірте розуміння
Що означає recall позитивного класу?
Як обґрунтувати відповідь своїми словами?
Recall = TP/(TP+FN): він вимірює, скільки потрібних позитивних випадків модель знаходить.

Підсумок

Supervised pipeline поєднує навчання підготовки й моделі. Метрики описують різні аспекти помилок, тому їх обирають за наслідком рішення. Незалежний поділ і порівняння baseline потрібні для змістовної оцінки.

Джерела

Опрацювали матеріал?

Збережіть цей крок у своєму прогресі.

← Повернутися до дисципліни
© 2026 Анастасія Іскандарова-МалаЕлектронний навчальний посібник · ДДТУ

Пошук у посібнику

Спробуйте «C++», «RAII» або «бази даних».