Выбор столбцов для оценки кредитного риска

Моделирование кредитного риска на Python

Michael Crabtree

Data Scientist, Ford Motor Company

Выбор конкретных столбцов

  • До сих пор мы использовали все столбцы для предсказаний
# Selects a few specific columns
X_multi = cr_loan_prep[['loan_int_rate','person_emp_length']]
# Selects all data except loan_status
X = cr_loan_prep.drop('loan_status', axis = 1)
  • Как оценить важность каждого столбца
    • Логистическая регрессия: коэффициенты столбцов
    • Деревья с градиентным бустингом: ?
Моделирование кредитного риска на Python

Важность столбцов

  • Используйте методы .get_booster() и .get_score()
    • Weight: количество раз, когда столбец встречается во всех деревьях
# Train the model
clf_gbt.fit(X_train,np.ravel(y_train))
# Print the feature importances
clf_gbt.get_booster().get_score(importance_type = 'weight')
{'person_home_ownership_RENT': 1, 'person_home_ownership_OWN': 2}
Моделирование кредитного риска на Python

Интерпретация важности столбцов

# Column importances from importance_type = 'weight'
{'person_home_ownership_RENT': 1, 'person_home_ownership_OWN': 2}

Дерево решений на основе XGBoost

Моделирование кредитного риска на Python

Визуализация важности столбцов

  • Используйте функцию plot_importance()
xgb.plot_importance(clf_gbt, importance_type = 'weight')
{'person_income': 315, 'loan_int_rate': 195, 'loan_percent_income': 146}

График важности признаков

Моделирование кредитного риска на Python

Выбор столбцов для обучения

  • Важность столбцов иногда используется для выбора признаков при обучении модели
  • Разные наборы столбцов влияют на качество моделей
Столбцы Важности Точность модели Полнота по дефолтам
loan_int_rate, person_emp_length (100, 100) 0.81 0.67
loan_int_rate, person_emp_length, loan_percent_income (98, 70, 5) 0.84 0.52
Моделирование кредитного риска на Python

F1-мера для моделей

  • Анализировать точность и полноту для разных наборов столбцов — трудоёмко
  • F1-мера — единая метрика, учитывающая оба показателя

Формула F1-меры

  • Отображается в составе classification_report()

Отчёт классификации с выделенной F1-мерой

Моделирование кредитного риска на Python

Давайте потренируемся!

Моделирование кредитного риска на Python

Preparing Video For Download...