Візуалізація важливості ознак: які ознаки найважливіші у моєму наборі даних
Ще один спосіб візуалізувати моделі 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()