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

bookМежа Прийняття Рішення

Побудуємо результати логістичної регресії. Розглянемо наступний приклад із двома ознаками:

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

Можна побачити, що ця лінія ідеально розділяє два класи. Коли таке відбувається, набір даних називають лінійно роздільним. Однак це трапляється не завжди. Що, якщо набір даних буде таким:

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

Але пам'ятайте, що логістична регресія походить від лінійної регресії, яка має рішення для проблеми надто простої моделі. Це рішення — поліноміальна регресія, і ми можемо використати її рівняння для обчислення zz, щоб отримати складнішу форму межі прийняття рішення:

z=β0+β1x1+β2x2+β3x12+β4x1x2+β5x22z = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \beta_3 x_1^2 + \beta_4 x_1 x_2 + \beta_5 x_2^2

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

from sklearn.preprocessing import PolynomialFeatures

X_poly = PolynomialFeatures(2, include_bias=False).fit_transform(X)

Цей рядок трансформує початкові вхідні ознаки в X, додаючи:

  • Квадратичні члени (наприклад, x2x^2);
  • Члени взаємодії (наприклад, x1x2x_1 \cdot x_2, якщо є декілька ознак).

Наприклад, якщо X спочатку має дві ознаки: [x1,x2][x_1, x_2], то після застосування PolynomialFeatures(2, include_bias=False) ви отримаєте: [x1,x2,x12,x1x2,x22][x_1, x_{2}, x_{1}\\^{2} , x_{1} x_{2}, x_{2}\\^{2}]

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

question mark

Навіщо потрібні поліноміальні ознаки у логістичній регресії?

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Awesome!

Completion rate improved to 4.17

bookМежа Прийняття Рішення

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

Побудуємо результати логістичної регресії. Розглянемо наступний приклад із двома ознаками:

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

Можна побачити, що ця лінія ідеально розділяє два класи. Коли таке відбувається, набір даних називають лінійно роздільним. Однак це трапляється не завжди. Що, якщо набір даних буде таким:

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

Але пам'ятайте, що логістична регресія походить від лінійної регресії, яка має рішення для проблеми надто простої моделі. Це рішення — поліноміальна регресія, і ми можемо використати її рівняння для обчислення zz, щоб отримати складнішу форму межі прийняття рішення:

z=β0+β1x1+β2x2+β3x12+β4x1x2+β5x22z = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \beta_3 x_1^2 + \beta_4 x_1 x_2 + \beta_5 x_2^2

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

from sklearn.preprocessing import PolynomialFeatures

X_poly = PolynomialFeatures(2, include_bias=False).fit_transform(X)

Цей рядок трансформує початкові вхідні ознаки в X, додаючи:

  • Квадратичні члени (наприклад, x2x^2);
  • Члени взаємодії (наприклад, x1x2x_1 \cdot x_2, якщо є декілька ознак).

Наприклад, якщо X спочатку має дві ознаки: [x1,x2][x_1, x_2], то після застосування PolynomialFeatures(2, include_bias=False) ви отримаєте: [x1,x2,x12,x1x2,x22][x_1, x_{2}, x_{1}\\^{2} , x_{1} x_{2}, x_{2}\\^{2}]

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

question mark

Навіщо потрібні поліноміальні ознаки у логістичній регресії?

Select the correct answer

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

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

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

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