Функция plot_tree
в xgboost имеет аргумент fmap
, который является путем к файлу «карты объектов»; он содержит отображение индекса объекта на имя объекта.
Документация по файлу карты объектов является разреженной, но это файл с разделителями табуляции, где первый столбец - это индексы объектов (начиная с 0 и заканчивая количеством объектов), а второй столбец - объект. имя и последний столбец - индикатор, показывающий тип элемента (q = количественный элемент, i = двоичный элемент).
Пример файла feature_map.txt
:
0 feature_name_0 q
1 feature_name_1 i
2 feature_name_2 q
… … …
С этим После этого в файле с разделителями табуляции вы можете построить свое дерево из обученного экземпляра модели:
import xgboost
model = xgboost.XGBClassifier()
# train the model
model.fit(X, y)
# plot the decision tree, providing path to feature map file
xgboost.plot_tree(model, num_trees=0, fmap='feature_map.txt')
При использовании этой функции отображается график: