从 LightGBM 模型访问树和节点

2023-11-24

在sci-kit learn中,可以访问整个树结构,即树的每个节点。这允许探索树的每个分割所使用的属性以及用于测试的值

The binary tree structure has 5 nodes and has the following tree structure:
node=0 test node: go to node 1 if X[:, 3] <= 0.800000011920929 else to node 2.
    node=1 leaf node.
    node=2 test node: go to node 3 if X[:, 2] <= 4.950000047683716 else to node 4.
            node=3 leaf node.
            node=4 leaf node.

Rules used to predict sample 0:
decision id node 0 : (X_test[0, 3] (= 2.4) > 0.800000011920929)
decision id node 2 : (X_test[0, 2] (= 5.1) > 4.950000047683716)

对于随机森林,可以通过遍历所有决策树来获得相同的信息

for tree in model.estimators_:
    # extract info from tree

可以从 LightGBM 模型中提取相同的信息吗?也就是说,您可以访问:a) 每棵树和 b) 树的每个节点吗?


是的,这是可能的

model._Booster.dump_model()["tree_info"]

例如用于lightgbm.plot_tree()。我必须承认,我自己没有使用过它,也不知道返回结构的详细信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 LightGBM 模型访问树和节点 的相关文章

随机推荐

  • 使用 libav* 库的 FFMPEG 音频转码

    我正在使用 ffmpeg 库编写音频转码应用程序 这是我的代码 File main cpp Author vinod Compile with g std c 11 o audiotranscode main cpp lavformat l
  • 如何渲染 svg 文件的*部分*?

    我想按名称渲染 svg 文件的一部分 但我一生都不知道如何做到这一点 使用 python gtk 这是有问题的 svg 文件 http david bellot free fr svg cards files SVG cards 2 0 1
  • 当使用 CSS 过渡/动画/等时,如果用户浏览器不执行 CSS 动画,那么回退到 jquery 的最佳方法是什么?

    我正在寻找一种使用 css 动画的方法 但如果用户浏览器不执行 css 动画 然后回退到使用 Jquery 进行动画 在 Jquery 中是否有一种简单的方法可以做到这一点 如果可能的话 一个插件就可以了 如果它是一个小插件 但我真的在寻找
  • 将所有变体都实现相同特征的枚举转换为 Rust 中的框?

    我有一个特质Foo 以及一些实现 以及枚举Foos每个实现有一个变体 我希望能够将我的枚举转换为Box
  • Windows Azure MessageLockLostException

    我在使用 Azure 消息总线队列时遇到问题 我有MessageLockLostException抛出和请求操作未在指定的超时 00 01 10 内完成 分配给此操作的时间可能是较长超时的一部分 我已将队列设置为ReceiveMode Pe
  • 为什么 C# 限制可以声明为 const 的类型集?

    编译错误CS0283表示只有基本 POD 类型 以及字符串 枚举和空引用 可以声明为const 有人对这种限制的基本原理有理论吗 例如 如果能够声明其他类型的 const 值 例如 IntPtr 那就太好了 我相信这个概念const实际上是
  • 定义渐变/形状/角的 XML 父样式

    如何在 XML 中定义可轻松重用的基本形状 或渐变或角 我有十几个左右的可绘制渐变 除了开始和结束颜色之外 它们都是相同的 我希望在其他地方定义相同的内容 并为每个不同的渐变创建一个仅定义开始和结束颜色的 XML 文件 那可能吗 这是基础
  • Python中反引号字符的含义

    我刚刚开始使用 python 有人可以解释以下代码片段的第 2 行吗 我不明白 num 少量 我尝试用单个勾号替换反引号字符 但随后它就破裂了 只要对该行进行详细解释就太好了 loop count 1000000 irn join num
  • 在单个操作上启用多个 HTTP 方法?

    我有一个操作合同 如下 我想允许对其进行 GET 和 POST 请求 我怎样才能告诉WCF接受单个OperationContract的两种类型的请求 OperationContract WebInvoke Method POST BodyS
  • 允许对 web.config 中的单个文件夹进行匿名身份验证吗?

    场景如下 我有一个使用自定义身份验证和成员资格提供程序的 Asp Net 应用程序 但我们需要允许完全匿名访问 即 应用程序中的特定文件夹 在IIS管理器中 您可以设置文件夹的身份验证模式 但设置保存在C Windows System32
  • 验证 ASP.NET MVC 中的字符串数组

    我使用 ASP NET MVC 如何验证视图模型中的字符串数组 因为 Required 属性不适用于字符串数组 DisplayName Content Name Required ErrorMessage Content name is r
  • 请求的资源上不存在“Access-Control-Allow-Origin”标头 + 响应的 HTTP 状态代码为 401

    XMLHttpRequest 无法加载http 192 168 1 253 8080 不 请求中存在 Access Control Allow Origin 标头 资源 起源 http 本地主机 4200 因此不允许 使用权 响应的 HTT
  • 如何在使用 bash 脚本初始化的 java 应用程序中捕获信号

    我使用以下代码在 java 中捕获 INT 信号 Signal handle new Signal INT new SignalHandler public void handle Signal sig log warn Received
  • 如何以编程方式关闭 Android Spinner 下拉列表

    我有一个场景 我在我的应用程序中使用微调器 制作的微调器下拉列表可以使用 performclick 方法直接打开 下拉列表打开 有没有一种方法可以自动关闭它或自动单击下拉列表中的项目 以便关闭下拉列表 Borg8 的答案是唯一有效的解决方案
  • 如何将 Windows 身份验证和 JWT 与 .Net Core 2.1 结合起来

    我尝试将 Windows 身份验证和 JWT 与 NET Core 2 1 一起使用 我有以下身份验证启动设置 services AddAuthentication options gt options DefaultAuthenticat
  • Flash中的循环缓冲区

    我需要将不同长度的项目存储在闪存芯片的循环队列中 每个项目都有其封装 这样我就可以弄清楚它有多大以及下一个项目从哪里开始 当缓冲区中有足够的项目时 它将换行到开头 在闪存芯片中存储循环队列的好方法是什么 我可能想存储数以万计的物品 因此 从
  • 如何配置xampp发送电子邮件

    我知道这是网站上的其他地方 但由于某种原因 我在这里找到的答案仍然没有帮助 在尝试了一整天不同的事情后 我仍然无法让它工作 我的目标是将确认码发送到用户输入的电子邮件中 我只了解少量的 PHP 并遵循了登录 注册系统的教程 但我相当确定 p
  • 使表格单元格中的链接填充整个行高

    我有一个数据表 每个单元格都是一个链接 我想允许用户单击表格单元格中的任意位置并让他们点击链接 有时表格单元格不止一行 但并非总是如此 我使用 td a display block 来获取覆盖大部分单元格的链接 当一行中的一个单元格为两行而
  • 为什么子类已经重写了父类的静态方法?

    当静态方法在子类中被重写时 我对静态方法的行为感到困惑 下面是代码 public class SuperClass public static void staticMethod System out println SuperClass
  • 从 LightGBM 模型访问树和节点

    在sci kit learn中 可以访问整个树结构 即树的每个节点 这允许探索树的每个分割所使用的属性以及用于测试的值 The binary tree structure has 5 nodes and has the following