4.4 绘图API
lightgbm.plot_importance()
: 绘制特征的重要性。lightgbm.plot_importance(booster, ax=None, height=0.2, xlim=None, ylim=None,
title='Feature importance', xlabel='Feature importance', ylabel='Features',
importance_type='split', max_num_features=None, ignore_zero=True,
figsize=None, grid=True, **kwargs)
参数:
booster
: 一个Booster
或者LGBMModel
对象。即将绘制的就是该对象的特征的重要性ax
:一个matplotlib.axes.Axes
实例或者None
。 它制定了绘制图形的Axes
。如果为
None
,则创建一个新的figure
以及axes
。 默认为None
。height
: 一个浮点数,给出了bar
的高度(将被传递给ax.barh()
方法) 。默认为0.2
xlim
: 一个二元元组或者None
, 给出了x
轴的范围(将被传递给ax.xlim()
方法)。 默认为None
ylim
: 一个二元元组或者None
, 给出了y
轴的范围(将被传递给ax.ylim()
方法)。 默认为None
title
: 一个字符串或者None
,给出了Axes
的标题。默认为Feature importance
。如果为
None
,则没有标题。xlabel
: 一个字符串或者None
,给出了X
轴的标题。默认为Feature importance
。如果为
None
,则没有标题。ylabel
: 一个字符串或者None
,给出了Y
的标题。默认为Features
。如果为
None
,则没有标题。importance_type
: 一个字符串,给出了如何计算出重要性的。默认为'split'
。 参考lightgbm.Booster.feature_importance()
方法max_num_features
: 一个整数或者None
, 给出了最多展示多少个特征的重要性。默认为None
。如果为
None
或者小于1
的整数,则展示所有的。ignore_zero
: 一个布尔值,指定是否忽略为0
的特征。默认为True
。figsize
: 一个二元的元组或者None
,指定了图像的尺寸。默认为None
grid
:一个布尔值,指示是否添加网格。默认为True
kwargs
: 其它的关键字参数。它将被传递给ax.barh()
方法。
返回值:一个
matplotlib.axes.Axes
对象,它就是传入的ax
本身。lightgbm.plot_metric()
: 在训练过程中绘制一个metric
lightgbm.plot_metric(booster, metric=None, dataset_names=None, ax=None,
xlim=None, ylim=None, title='Metric during training',
xlabel='Iterations', ylabel='auto', figsize=None, grid=True)
参数:
booster
:一个字典或者一个LGBMModel
实例。- 如果是一个字典,则它是由
lightgbm.train()
返回的字典
- 如果是一个字典,则它是由
metric
:一个字符串或者None
,指定了要绘制的metric
的名字。如果为None
, 则从字典中取出第一个metric
(根据hashcode
的顺序)。默认为None
。只支持绘制一个
metric
,因为不同的metric
无法绘制在一张图上(不同的metric
有不同的量级)。dataset_names
: 一个字符串列表,或者None
。 它给出了用于计算metric
的样本集的名字。如果为None
,则使用所有的样本集。默认为None
。title
: 一个字符串或者None
,给出了Axes
的标题。默认为Metric during training
。如果为
None
,则没有标题。xlabel
: 一个字符串或者None
,给出了X
轴的标题。默认为Iterations
。如果为
None
,则没有标题。ylabel
: 一个字符串或者None
,给出了Y
的标题。默认为auto
。- 如果为
None
,则没有标题。 - 如果为
'auto'
,则使用metric
的名字。
- 如果为
- 其它参数:参考
lightgbm.plot_importance()
返回值:一个
matplotlib.axes.Axes
对象,它就是传入的ax
本身。lightgbm.plot_tree()
:绘制指定的树模型。lightgbm.plot_tree(booster, ax=None, tree_index=0, figsize=None,
graph_attr=None, node_attr=None, edge_attr=None, show_info=None)
参数:
booster
: 一个Booster
或者LGBMModel
对象。即将绘制的就是该对象的树模型。tree_index
: 一个整数,指定要绘制哪棵树。默认为0
。graph_attr
: 一个字典或者None
, 给出了graphviz graph
的属性。默认为None
node_attr
: 一个字典或者None
, 给出了graphviz node
的属性。默认为None
edge_attr
: 一个字典或者None
, 给出了graphviz edge
的属性。默认为None
show_info
: 一个列表或者None
, 给出了将要在graph node
中显示哪些信息。可以为:'split_gain', 'internal_value', internal_count', leaf_count'
。默认为None
。- 其它参数: 参考
lightgbm.plot_importance()
返回值:一个
matplotlib.axes.Axes
对象,它就是传入的ax
本身。lightgbm.create_tree_digraph()
: 绘制指定的树模型,但是返回一个digraph
,而不是直接绘制。lightgbm.create_tree_digraph(booster, tree_index=0, show_info=None, name=None,
comment=None, filename=None, directory=None, format=None, engine=None,
encoding=None, graph_attr=None, node_attr=None, edge_attr=None,
body=None, strict=False)
参数:
booster
: 一个Booster
或者LGBMModel
对象。即将绘制的就是该对象的树模型。name
: 一个字符串或者None
。 给出了graphviz
源文件的名字 。 默认为None
。comment
: 一个字符串或者None
。 给出了添加到graphviz
源文件第一行的评论 。 默认为None
。filename
:一个字符串或者None
。 给出了保存graphviz
源文件的名字。如果为None
,则是name+'.gv'
。默认为None
directory
: 一个字符串或者None
,给出了保存和渲染graphviz
文件的目录。默认为None
format
: 一个字符串或者None
, 表示输出图片的格式。可以为'png','pdf',...
。默认为None
engine
: 一个字符串或者None
, 制定了graphviz
的排版引擎。可以为'dot','neato',...
。 。默认为None
encoding
: 一个字符串或者None
, 指定了graphviz
源文件的编码。默认为None
body
: 一个字符列表或者None
, 给出了添加到grapviz graph body
中的线条。默认为None
strict
: 一个布尔值,指示是否应该合并multi-edges
。默认为False
。- 其它参数: 参考
lightgbm.plot_tree()
返回值:一个
graphviz.Digraph
对象,代表指定的树模型的digraph
。