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

bookПеренавчання та регуляризація

Як було показано в попередньому розділі, використовуючи PolynomialFeatures, можна створити складну межу рішення. Поліноміальні ознаки другого ступеня можуть навіть створити межі, зображені на малюнку нижче:

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

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

Регуляризація вирішує проблему перенавчання. Насправді, l2-регуляризація використовується у класі LogisticRegression за замовчуванням. Але необхідно налаштувати, наскільки сильно модель має бути регуляризована. Це контролюється параметром C:

carousel-imgcarousel-imgcarousel-img
  • більше значення C — слабша регуляризація, більше перенавчання;
  • менше значення C — сильніша регуляризація, менше перенавчання (але можливе недонавчання).

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

Note
Примітка

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

Клас LogisticRegression за замовчуванням включає регуляризацію, тому слід або вимкнути регуляризацію (встановивши penalty=None), або масштабувати дані (наприклад, використовуючи StandardScaler).

Note
Примітка

Якщо ви використовуєте одночасно PolynomialFeatures та StandardScaler, переконайтеся, що застосовуєте StandardScaler після створення поліноміальних ознак. Масштабування даних до поліноміального розширення може спотворити отримані ознаки, оскільки операції, такі як піднесення до квадрату або множення вже стандартизованих значень, можуть призвести до неприродних розподілів.

1. Оберіть НЕПРАВИЛЬНЕ твердження.

2. Який правильний порядок попередньої обробки даних

question mark

Оберіть НЕПРАВИЛЬНЕ твердження.

Select the correct answer

question mark

Який правильний порядок попередньої обробки даних

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Awesome!

Completion rate improved to 4.17

bookПеренавчання та регуляризація

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

Як було показано в попередньому розділі, використовуючи PolynomialFeatures, можна створити складну межу рішення. Поліноміальні ознаки другого ступеня можуть навіть створити межі, зображені на малюнку нижче:

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

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

Регуляризація вирішує проблему перенавчання. Насправді, l2-регуляризація використовується у класі LogisticRegression за замовчуванням. Але необхідно налаштувати, наскільки сильно модель має бути регуляризована. Це контролюється параметром C:

carousel-imgcarousel-imgcarousel-img
  • більше значення C — слабша регуляризація, більше перенавчання;
  • менше значення C — сильніша регуляризація, менше перенавчання (але можливе недонавчання).

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

Note
Примітка

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

Клас LogisticRegression за замовчуванням включає регуляризацію, тому слід або вимкнути регуляризацію (встановивши penalty=None), або масштабувати дані (наприклад, використовуючи StandardScaler).

Note
Примітка

Якщо ви використовуєте одночасно PolynomialFeatures та StandardScaler, переконайтеся, що застосовуєте StandardScaler після створення поліноміальних ознак. Масштабування даних до поліноміального розширення може спотворити отримані ознаки, оскільки операції, такі як піднесення до квадрату або множення вже стандартизованих значень, можуть призвести до неприродних розподілів.

1. Оберіть НЕПРАВИЛЬНЕ твердження.

2. Який правильний порядок попередньої обробки даних

question mark

Оберіть НЕПРАВИЛЬНЕ твердження.

Select the correct answer

question mark

Який правильний порядок попередньої обробки даних

Select the correct answer

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

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

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

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