我只是使用“ xgbTree”方法(极限梯度增强)使用包caret构建了一个基本的分类模型。它具有很高的准确性(3个类),但是我看不到规则或绘制树。

用插入号构建树时,有人知道如何绘制树吗?我尝试使用xgb.plot.tree t包中的xgboos函数,但收到一条错误消息,指出它无法绘制,因为我的模型不是xgb.Booster函数生成的xgb.train类的对象。有什么方法可以将我在caret中构建的模型强制为xgb.Booster对象?

感谢您的帮助。

最佳答案

我遇到了同样的问题,当我查看?xgb.plot.tree的帮助时,第一个参数是特征名称的向量,然后您必须指定模型参数。

xgb.plot.tree(model = myegb$finalModel)


上面将生成没有功能名称的树形图;将使用列索引。

要添加功能名称:

xgb.plot.tree(feature_names = myegb$finalModel$params, model = myegb$finalModel)

08-25 06:23