绘图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.2xlim: 一个二元元组或者None, 给出了x轴的范围(将被传递给ax.xlim()方法)。 默认为Noneylim: 一个二元元组或者None, 给出了y轴的范围(将被传递给ax.ylim()方法)。 默认为Nonetitle: 一个字符串或者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,指定了图像的尺寸。默认为Nonegrid:一个布尔值,指示是否添加网格。默认为Truekwargs: 其它的关键字参数。它将被传递给ax.barh()方法。
返回值:一个
matplotlib.axes.Axes对象,它就是传入的ax本身。2.
lightgbm.plot_metric(): 在训练过程中绘制一个metriclightgbm.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本身。3.
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的属性。默认为Nonenode_attr: 一个字典或者None, 给出了graphviz node的属性。默认为Noneedge_attr: 一个字典或者None, 给出了graphviz edge的属性。默认为Noneshow_info: 一个列表或者None, 给出了将要在graph node中显示哪些信息。可以为:'split_gain', 'internal_value', internal_count', leaf_count'。默认为None。- 其它参数: 参考
lightgbm.plot_importance()
返回值:一个
matplotlib.axes.Axes对象,它就是传入的ax本身。4.
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'。默认为Nonedirectory: 一个字符串或者None,给出了保存和渲染graphviz文件的目录。默认为Noneformat: 一个字符串或者None, 表示输出图片的格式。可以为'png','pdf',...。默认为Noneengine: 一个字符串或者None, 制定了graphviz的排版引擎。可以为'dot','neato',...。 。默认为Noneencoding: 一个字符串或者None, 指定了graphviz源文件的编码。默认为Nonebody: 一个字符列表或者None, 给出了添加到grapviz graph body中的线条。默认为Nonestrict: 一个布尔值,指示是否应该合并multi-edges。默认为False。- 其它参数: 参考
lightgbm.plot_tree()
返回值:一个
graphviz.Digraph对象,代表指定的树模型的digraph。
学员评价