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

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

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

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

DecisionBoundarySetup

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

ГраничнаЛініяРішення

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

ПоганаГраничнаЛініяРішення

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

Але пам'ятайте, що логістична регресія походить від лінійної регресії, яка має рішення для проблеми надто простої моделі. Це рішення — поліноміальна регресія, і ми можемо використати її рівняння для обчислення 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
PolyDecisionBoundary

Так само, як і в поліноміальній регресії, ми можемо використати трансформер 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

Чому можуть знадобитися поліноміальні ознаки в логістичній регресії?

Виберіть правильну відповідь

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

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