擅长:python、mysql、java
<p>注意:这不是一个答案,只是对可能的解决方案的提示。</p>
<p>我最近在我的项目中遇到了类似的问题。我的目标是为一些特定的样本提取相应的决策链。我认为你的问题是我的一个子集,因为你只需要记录下决策链的最后一步。</p>
<p>到目前为止,似乎唯一可行的解决方案是用Python编写一个定制的<code>predict</code>方法来跟踪一路上的决策。原因是scikit learn提供的<code>predict</code>方法不能在开箱即用(据我所知)。更糟糕的是,它是C实现的包装器,很难定制。</p>
<p>定制对我的问题很好,因为我处理的是一个不平衡的数据集,我关心的样本(积极的)很少。所以我可以先使用sklearn <code>predict</code>将它们过滤掉,然后使用我的定制获得决策链。</p>
<p>但是,如果您有一个大型数据集,这可能对您不起作用。因为如果您解析树并使用Python进行预测,那么它在Python中的运行速度会很慢,并且不会(容易)扩展。您可能不得不回退到自定义C实现。</p>