lightgbm.plot_tree — LightGBM 4.6.0.99 documentation (original) (raw)
lightgbm.plot_tree(booster, ax=None, tree_index=0, figsize=None, dpi=None, show_info=None, precision=3, orientation='horizontal', example_case=None, **kwargs)[source]
Plot specified tree.
Each node in the graph represents a node in the tree.
Non-leaf nodes have labels like Column_10 <= 875.9
, which means “this node splits on the feature named “Column_10”, with threshold 875.9”.
Leaf nodes have labels like leaf 2: 0.422
, which means “this node is a leaf node, and the predicted value for records that fall into this node is 0.422”. The number (2
) is an internal unique identifier and doesn’t have any special meaning.
Note
It is preferable to use create_tree_digraph()
because of its lossless quality and returned objects can be also rendered and displayed directly inside a Jupyter notebook.
Parameters:
- booster (Booster or LGBMModel) – Booster or LGBMModel instance to be plotted.
- ax (matplotlib.axes.Axes or None , optional ( default=None )) – Target axes instance. If None, new figure and axes will be created.
- tree_index (int , optional ( default=0 )) – The index of a target tree to plot.
- figsize (tuple of 2 elements or None , optional ( default=None )) – Figure size.
- dpi (int or None , optional ( default=None )) – Resolution of the figure.
- show_info (list of str , or None , optional ( default=None )) –
What information should be shown in nodes.'split_gain'
: gain from adding this split to the model'internal_value'
: raw predicted value that would be produced by this node if it was a leaf node'internal_count'
: number of records from the training data that fall into this non-leaf node'internal_weight'
: total weight of all nodes that fall into this non-leaf node'leaf_count'
: number of records from the training data that fall into this leaf node'leaf_weight'
: total weight (sum of Hessian) of all observations that fall into this leaf node'data_percentage'
: percentage of training data that fall into this node
- precision (int or None , optional ( default=3 )) – Used to restrict the display of floating point values to a certain precision.
- orientation (str , optional ( default='horizontal' )) – Orientation of the tree. Can be ‘horizontal’ or ‘vertical’.
- example_case (numpy 2-D array , pandas DataFrame or None , optional ( default=None )) –
Single row with the same structure as the training data. If not None, the plot will highlight the path that sample takes through the tree.
Added in version 4.0.0. - **kwargs – Other parameters passed to
Digraph
constructor. Check https://graphviz.readthedocs.io/en/stable/api.html#digraph for the full list of supported parameters.
Returns:
ax – The plot with single tree.
Return type:
matplotlib.axes.Axes