Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Межа Прийняття Рішення | Секція
Practice
Projects
Quizzes & Challenges
Вікторини
Challenges
/
Основи Контрольованого Навчання

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

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

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

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

Секція 1. Розділ 24

Запитати АІ

expand

Запитати АІ

ChatGPT

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

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

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

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

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

Секція 1. Розділ 24
some-alt