Визуализация важности признаков: какие признаки наиболее значимы в наборе данных
Ещё один способ анализа моделей XGBoost — оценить важность каждого признака из исходного набора данных.
Один из простых подходов заключается в подсчёте того, сколько раз каждый признак использовался для разбиения во всех раундах бустинга (деревьях) модели, с последующей визуализацией результата в виде столбчатой диаграммы. Признаки на ней упорядочены по убыванию частоты использования. В XGBoost есть функция plot_importance(), которая позволяет сделать именно это — и в этом упражнении вы воспользуетесь ею на практике!
Это упражнение является частью курса
Экстремальный градиентный бустинг с XGBoost
Инструкции к упражнению
- Создайте
DMatrixизXиy, как и прежде. - Создайте словарь параметров с подходящим значением
"objective"("reg:squarederror") и"max_depth"равным4. - Обучите модель за
10раундов бустинга — точно так же, как в предыдущем упражнении. - Вызовите
xgb.plot_importance()и передайте в неё обученную модель, чтобы построить график важности признаков.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Create the DMatrix: housing_dmatrix
housing_dmatrix = ____
# Create the parameter dictionary: params
params = ____
# Train the model: xg_reg
xg_reg = ____
# Plot the feature importances
____
plt.show()