簡體   English   中英

Xgboost - 決策樹 - 只有一片葉子

[英]Xgboost - Decision Tree - Only one leaf

我試圖繪制來自不同數據集的 Xgboost 模型的決策樹。

這對大多數人來說都很好,但對於一個數據集,plot_tree 只顯示了一片葉子。

一旦該模型的 max_depth 為 5,這對我來說很奇怪。

誰能給我一個提示?

感謝您考慮我的問題。 :) ! 🙏

我很高興與大家分享我找到了問題的原因:)

XGBoost 是一種基於集成原理的技術,因此 XGBClassifier 創建多棵樹,有些樹只能以一片葉子結束。 我意識到用於繪制 export_graphviz 或 plot_tree 的函數將我模型的第一棵樹繪制為默認值,而不是最佳交互。 為此,我必須設置參數“num_trees”:

“num_trees (int, default 0) – 指定目標樹的序號”

所以,我必須找到目標樹的序數。 幸運的是,有兩個函數為我們設置了 .get_booster() 和 .best_iteration。

請參閱下面的代碼以繪制具有最佳交互的樹。

plot_tree (model, ax = ax, num_trees = model.get_booster().best_iteration)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM