ПочатиПочніть безкоштовно

Оцінювання якості моделі на позавибіркових даних

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

Перед цим виконайте кілька підготовчих кроків. Знову візьміть defaultData. Об'єкт logitModelNew уже завантажено у ваше середовище.

Пам'ятайте: для повного аналізу завжди слід порівнювати різні кандидати моделей також (і особливо) на позавибіркових даних.

Внутрішньовибіркова точність — за оптимального порога 0.3 — дорівнює 0.7922901. Переконайтеся, що ви розумієте, чи є перенавчання.

Ця вправа є частиною курсу

Machine Learning для маркетингової аналітики в R

Переглянути курс

Інструкції до вправи

  • Спочатку випадково розбийте набір даних на тренувальну та тестову вибірки. Тренувальна вибірка має містити 2/3 усіх даних.

  • Потім швидко запустіть модель і назвіть її logitTrainNew. Використайте надану формулу.

  • Зробіть передбачення для тестової вибірки, а потім обчисліть позавибіркову точність за допомогою матриці невідповідностей (confusion matrix). Зауважте, що SDMTools більше не можна завантажити з CRAN. На своєму комп'ютері встановіть його через remotes::install_version("SDMTools", "1.1-221.2").

  • Порівняйте позавибіркову точність із внутрішньовибірковим значенням, наведеним вище.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Split data in train and test set
set.seed(534381) 
defaultData$isTrain <- rbinom(nrow(defaultData), 1, 0.66)
train <- subset(defaultData, ___ == 1)
test <- subset(defaultData, ___  == 0)

logitTrainNew <- glm(formulaLogit, family = binomial, data = ___) # Modeling
test$predNew <- predict(logitTrainNew, type = "response", newdata = ___) # Predictions

# Out-of-sample confusion matrix and accuracy
confMatrixModelNew <- confusion.matrix(___, ___, threshold = 0.3) 
sum(diag(confMatrixModelNew)) / sum(confMatrixModelNew) # Compare this value to the in-sample accuracy
Редагувати та запускати код