Корельовані змінні
Перші 10 змінних, які додано до моделі, такі:
['max_gift', 'number_gift', 'time_since_last_gift', 'mean_gift', 'income_high', 'age', 'country_USA', 'gender_F', 'income_low', 'country_UK']
Як бачите, min_gift не додано. Чи означає це, що це погана змінна? Ви можете перевірити корисність цієї змінної, використавши її в моделі як єдину змінну та обчисливши AUC. Як AUC для min_gift порівнюється з AUC для income_high? Для цього скористайтеся функцією auc():
auc(variables, target, basetable)
Буває, що хорошу змінну не додають, бо вона сильно корелює зі змінною, яка вже є в моделі. Це можна перевірити, обчисливши кореляцію між цими змінними:
import numpy
numpy.corrcoef(basetable["variable_1"],basetable["variable_2"])[0,1]
Ця вправа є частиною курсу
Вступ до прогностичної аналітики в Python
Інструкції до вправи
- Обчисліть AUC моделі, використовуючи лише змінну
min_gift. - Обчисліть AUC моделі, використовуючи лише змінну
income_high. - Обчисліть кореляцію між змінною
min_giftіmean_gift.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
import numpy as np
# Calculate the AUC of the model using min_gift only
auc_min_gift = auc([____], ["target"], ____)
print(round(auc_min_gift,2))
# Calculate the AUC of the model using income_high only
auc_income_high = ____([____], [____], ____)
print(round(auc_income_high,2))
# Calculate the correlation between min_gift and mean_gift
correlation = np.corrcoef(basetable["____"], basetable["____"])[0,1]
print(round(correlation,2))