НачатьНачать бесплатно

Нарушение временно́й шкалы

Чтобы наглядно показать важность соблюдения временно́й шкалы, рассмотрим пример, в котором она нарушается: мы используем информацию из периода целевой переменной для построения предиктивных переменных.

В pandas-датафрейме basetable есть два столбца: "amount_2017" — общая сумма пожертвований за 2017 год, и "target" — равен 1, если эта сумма превышает 30, и 0 в противном случае.

Постройте модель логистической регрессии, которая использует "amount_2017" в качестве единственной предиктивной переменной для предсказания целевой переменной, и вычислите AUC.

Это упражнение является частью курса

Средний уровень прогностической аналитики на 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))
Редактировать и запускать код