Порушення часової шкали
Щоб показати, чому часова шкала важлива, розгляньмо приклад, у якому її порушено: для побудови прогнозних змінних використовують інформацію з цільового періоду.
У датафреймі pandas basetable є два стовпці: "amount_2017" — загальна сума пожертв у 2017 році, а "target" дорівнює 1, якщо ця сума більша за 30, інакше — 0.
Побудуйте модель логістичної регресії, яка використовує "amount_2017" як єдину прогнозну змінну для передбачення цілі, і обчисліть AUC.
Ця вправа є частиною курсу
Середній рівень Predictive Analytics у Python
Інструкції до вправи
- Створіть датафрейм
X, що містить прогнозну змінну, і датафреймy, що містить ціль. - Натренуйте модель логістичної регресії так, щоб
yпередбачалася зX. Побудуйте модель логістичної регресії, яка використовуєamount_2017як єдину прогнозну змінну та передбачаєtarget. - Зробіть передбачення для об'єктів у
X. - Обчисліть і виведіть AUC цієї моделі за допомогою функції
roc_auc_score.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Select the relevant predictors and the target
X = basetable[["____"]]
y = basetable[["____"]]
# Build the logistic regression model
logreg = linear_model.LogisticRegression()
logreg.____(____, ____)
# Make predictions for X
predictions = logreg.____(____)[:,1]
# Calculate and print the AUC value
auc = ____(____, ____)
print(round(auc, 2))