Навчіть модель логістичної регресії
Коли у вас будуть випадкові тренувальна та тестова вибірки, ви можете навчити модель логістичної регресії на тренувальній вибірці за допомогою функції glm(). glm() — це розширена версія lm(), що дає змогу будувати різні типи регресійних моделей, а не лише звичайну лінійну регресію методом найменших квадратів.
Обов'язково передайте аргумент family = "binomial" у glm(), щоб вказати, що ви виконуєте логістичну (а не лінійну) регресію. Наприклад:
glm(Target ~ ., family = "binomial", dataset)
Не переймайтеся попередженнями на кшталт glm.fit: algorithm did not converge або glm.fit: fitted probabilities numerically 0 or 1 occurred. Вони типові для невеликих наборів даних і зазвичай не створюють проблем. Здебільшого це означає, що ваш набір даних є «ідеально відокремлюваним», що може ускладнювати математику моделі, але функція glm() в R майже завжди достатньо стійка, щоб коректно впоратися з такою ситуацією.
Коли ви навчите модель glm() на своєму наборі даних, ви можете передбачити результат (наприклад, rock або mine) на вибірці test за допомогою функції predict() з аргументом type = "response":
predict(my_model, test, type = "response")
Ця вправа є частиною курсу
Machine Learning з пакетом caret в R
Інструкції до вправи
- Навчіть логістичну регресію під назвою
modelдля передбаченняClass, використовуючи всі інші змінні як предиктори. Використайте тренувальну вибірку дляSonar. - Зробіть передбачення на вибірці
test, використовуючи цю модель. Назвіть результатp, як ви робили раніше.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Fit glm model: model
# Predict on test: p