我正在运行xgboost模型,如下所示:
bst <- xgb.train(data=dtrain, booster="gbtree", objective="reg:linear",
max.depth=5, nround=20, watchlist=watchlist,min_child_weight=10)
importance_matrix <- xgb.importance(names, model = bst)
xgb.plot.importance(importance_matrix[1:10,])
变量重要性矩阵很好地绘制,但是当我执行以下操作时
xgb.plot.tree(feature_names = names, model = bst, n_first_tree = 2)
RStudio打开一个新的浏览器窗口,并显示很多HTML,但没有图像。 HTML具有创建图形等所需的脚本之类的所有详细信息,但是我没有这些Java脚本,因此我认为它应该像绘制重要性矩阵一样工作。
我想念什么?
最佳答案
如果一棵树只有一个节点,则将不会对其进行绘制,而前两棵树就是这种情况。您可以先通过xgb.dump
转储您的树,并查看哪些树具有多个节点,并相应地增加n_first_tree
值。
关于r - 为什么xgboost没有绘制我的树?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35960539/