Понимание значения дерева модели XGBoost

#python-3.x #machine-learning #xgboost

#python-3.x #машинное обучение #xgboost

Вопрос:

Я создал модель XGBoost на Python и использовал следующий код, чтобы лучше понять модель:

 xgb.plot_importance(model)
  

или

 xgb.plot_importance(model, importance_type="gain")
  

Я могу получить представление о том, какие параметры имели наибольшее значение, но, похоже, мне совершенно не хватает информации об этих значениях.

Предположим, я пытаюсь определить, сколько людей будут арендовать велосипеды в данный день. Выполнение двух приведенных выше методов plot_importance может подсказать мне, что «температура» и «день недели» являются наиболее важными параметрами при определении количества поездок на велосипеде. Однако я хочу знать, какие из этих значений определяли высокое количество поездок на велосипеде, а какие значения определяли низкое количество поездок на велосипеде.

Ответ №1:

Я предполагаю, что вы пытаетесь визуализировать и отлаживать то, что алгоритм выполняет при прогнозировании. Для этого я бы рекомендовал ознакомиться с ELI5, в частности с той частью, которая охватывает работу с XGBoost. Для получения исчерпывающего примера того, как использовать ELI5 с XGBoost в наборе данных Titanic, ознакомьтесь с этой ссылкой.

Чтобы объяснить прогнозирование, выполните следующее:

 from eli5 import show_prediction
show_prediction(moel, your_prediction, show_feature_values=True)