Переобучення
Свайпніть щоб показати меню
Перенавчання
Розгляньте дві регресійні прямі нижче. Яка з них краща?
Метрики вказують, що друга модель краща, тому її використовують для прогнозування 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)
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Переобучення
Перенавчання
Розгляньте дві регресійні прямі нижче. Яка з них краща?
Метрики вказують, що друга модель краща, тому її використовують для прогнозування 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)
Дякуємо за ваш відгук!