Межа Прийняття Рішення
Побудуємо результати логістичної регресії. Розглянемо наступний приклад з двома ознаками:
Після побудови логістичної регресії можна зобразити межу рішення. Вона показує область кожного класу, в якій нові екземпляри прогнозуються як цей клас. Наприклад, ось межа рішення логістичної регресії, застосованої до наведених вище даних:
Можна побачити, що лінія ідеально розділяє два класи. Коли це відбувається, набір даних називають лінійно роздільним. Однак так буває не завжди. Що, якщо набір даних буде таким:
Вище наведено межу рішень для дещо іншого набору даних. Тут дані не є лінійно відокремлюваними; отже, передбачення, зроблені логістичною регресією, є недосконалими. На жаль, за замовчуванням логістична регресія не може передбачати більш складні межі рішень, тому це найкраще передбачення, яке ми можемо отримати.
Але пам’ятайте, що логістична регресія походить від лінійної регресії, яка має рішення для проблеми надто простої моделі. Це рішення — поліноміальна регресія, і ми можемо використати її рівняння для обчислення z, щоб отримати більш складну форму межі рішень:
z=β0+β1x1+β2x2+β3x12+β4x1x2+β5x22Так само, як і в поліноміальній регресії, ми можемо використати трансформер PolynomialFeatures, щоб додати поліноміальні члени до наших ознак — це допомагає моделі вивчати складніші закономірності.
from sklearn.preprocessing import PolynomialFeatures
X_poly = PolynomialFeatures(2, include_bias=False).fit_transform(X)
Цей рядок трансформує початкові вхідні ознаки у X, додаючи:
- Квадратичні члени (наприклад, x2);
- Інтерактивні члени (наприклад, x1⋅x2, якщо є декілька ознак).
Наприклад, якщо X спочатку має дві ознаки: [x1,x2], то після застосування PolynomialFeatures(2, include_bias=False) ви отримаєте: [x1,x2,x12,x1x2,x22]
Це дозволяє таким моделям, як логістична регресія, враховувати нелінійні залежності та створювати більш гнучкі, криволінійні межі рішень. Однак занадто велике підвищення степеня може призвести до того, що модель надто добре підлаштується під тренувальні дані — це проблема, відома як overfitting (надмірне навчання). Тому зазвичай спочатку пробують менші степені та ретельно оцінюють модель.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Чудово!
Completion показник покращився до 3.33
Межа Прийняття Рішення
Свайпніть щоб показати меню
Побудуємо результати логістичної регресії. Розглянемо наступний приклад з двома ознаками:
Після побудови логістичної регресії можна зобразити межу рішення. Вона показує область кожного класу, в якій нові екземпляри прогнозуються як цей клас. Наприклад, ось межа рішення логістичної регресії, застосованої до наведених вище даних:
Можна побачити, що лінія ідеально розділяє два класи. Коли це відбувається, набір даних називають лінійно роздільним. Однак так буває не завжди. Що, якщо набір даних буде таким:
Вище наведено межу рішень для дещо іншого набору даних. Тут дані не є лінійно відокремлюваними; отже, передбачення, зроблені логістичною регресією, є недосконалими. На жаль, за замовчуванням логістична регресія не може передбачати більш складні межі рішень, тому це найкраще передбачення, яке ми можемо отримати.
Але пам’ятайте, що логістична регресія походить від лінійної регресії, яка має рішення для проблеми надто простої моделі. Це рішення — поліноміальна регресія, і ми можемо використати її рівняння для обчислення z, щоб отримати більш складну форму межі рішень:
z=β0+β1x1+β2x2+β3x12+β4x1x2+β5x22Так само, як і в поліноміальній регресії, ми можемо використати трансформер PolynomialFeatures, щоб додати поліноміальні члени до наших ознак — це допомагає моделі вивчати складніші закономірності.
from sklearn.preprocessing import PolynomialFeatures
X_poly = PolynomialFeatures(2, include_bias=False).fit_transform(X)
Цей рядок трансформує початкові вхідні ознаки у X, додаючи:
- Квадратичні члени (наприклад, x2);
- Інтерактивні члени (наприклад, x1⋅x2, якщо є декілька ознак).
Наприклад, якщо X спочатку має дві ознаки: [x1,x2], то після застосування PolynomialFeatures(2, include_bias=False) ви отримаєте: [x1,x2,x12,x1x2,x22]
Це дозволяє таким моделям, як логістична регресія, враховувати нелінійні залежності та створювати більш гнучкі, криволінійні межі рішень. Однак занадто велике підвищення степеня може призвести до того, що модель надто добре підлаштується під тренувальні дані — це проблема, відома як overfitting (надмірне навчання). Тому зазвичай спочатку пробують менші степені та ретельно оцінюють модель.
Дякуємо за ваш відгук!