Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Переобучення | Вибір Найкращої Моделі
Лінійна регресія з Python

bookПереобучення

Перенавчання

Розгляньте дві регресійні прямі нижче. Яка з них краща?

Метрики вказують, що друга модель краща, тому її використовують для прогнозування X_new = [0.2, 0.5, 2.7]. Однак після порівняння прогнозів із фактичними значеннями перша модель показує кращі результати.

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

Недонавчання

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

Отже, ми можемо спробувати визначити, чи модель недонавчається або перенавчається, візуально.

Оскільки ми не можемо візуалізувати багатовимірні моделі, нам потрібен інший спосіб виявлення перенавчання або недонавчання.

Розділення на тренувальну та тестову вибірки

Для оцінки продуктивності на невідомих даних набір даних розділяється на тренувальну та тестову вибірки з відомими цільовими значеннями.

Навчання проводиться на тренувальній вибірці, а метрики обчислюються як для тренувальної, так і для тестової вибірки для порівняння результатів.

Розділення повинно бути випадковим. Зазвичай 20–30% даних виділяється для тестової вибірки, а 70–80% використовується для навчання. Scikit-learn надає зручний спосіб для цього.

Наприклад, щоб розділити навчальний набір на 70% для навчання та 30% для тестування, можна використати наступний код:

from sklearn.model_selection import train_test_split # import the function
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
question-icon

На основі значень MSE моделей визначте, чи є перенавчання/недонавчання на навчальному наборі (набір даних однаковий).

Model 1: Training set's MSE=0.2, Test set's MSE=0.215 .
Model 2: Training set's MSE=0.14, Test set's MSE=0.42
.
Model 3: Training set's MSE=0.5, Test set's MSE=0.47
.

Натисніть або перетягніть елементи та заповніть пропуски

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

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

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

Секція 4. Розділ 2

Запитати АІ

expand

Запитати АІ

ChatGPT

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

bookПереобучення

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

Перенавчання

Розгляньте дві регресійні прямі нижче. Яка з них краща?

Метрики вказують, що друга модель краща, тому її використовують для прогнозування X_new = [0.2, 0.5, 2.7]. Однак після порівняння прогнозів із фактичними значеннями перша модель показує кращі результати.

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

Недонавчання

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

Отже, ми можемо спробувати визначити, чи модель недонавчається або перенавчається, візуально.

Оскільки ми не можемо візуалізувати багатовимірні моделі, нам потрібен інший спосіб виявлення перенавчання або недонавчання.

Розділення на тренувальну та тестову вибірки

Для оцінки продуктивності на невідомих даних набір даних розділяється на тренувальну та тестову вибірки з відомими цільовими значеннями.

Навчання проводиться на тренувальній вибірці, а метрики обчислюються як для тренувальної, так і для тестової вибірки для порівняння результатів.

Розділення повинно бути випадковим. Зазвичай 20–30% даних виділяється для тестової вибірки, а 70–80% використовується для навчання. Scikit-learn надає зручний спосіб для цього.

Наприклад, щоб розділити навчальний набір на 70% для навчання та 30% для тестування, можна використати наступний код:

from sklearn.model_selection import train_test_split # import the function
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
question-icon

На основі значень MSE моделей визначте, чи є перенавчання/недонавчання на навчальному наборі (набір даних однаковий).

Model 1: Training set's MSE=0.2, Test set's MSE=0.215 .
Model 2: Training set's MSE=0.14, Test set's MSE=0.42
.
Model 3: Training set's MSE=0.5, Test set's MSE=0.47
.

Натисніть або перетягніть елементи та заповніть пропуски

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

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

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

Секція 4. Розділ 2
some-alt