Коррелирующие переменные
Первые 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))