我如何从决策树中预测 x_train 的位置获取叶子的节点号?
Posted
技术标签:
【中文标题】我如何从决策树中预测 x_train 的位置获取叶子的节点号?【英文标题】:how do i get the node number of the leaf from where x_train is being predicted of a decision tree? 【发布时间】:2018-01-06 06:28:15 【问题描述】:我有一个训练有素的决策树。当我输入一个特征向量来预测时,我想知道它是从哪个决策路径预测的,或者新特征落在树的哪个叶子下。
我正在使用 python 的 Sklearn 的决策树实现。
【问题讨论】:
我觉得需要用到DecisionTree对象的decision_path(X, check_input=True)方法 【参考方案1】:有一种方法可以使用类的decision_path
方法访问树中的决策路径。
示例:
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
import numpy as np
data = load_iris()
x = data.data
y = data.target
clf = RandomForestClassifier()
clf.fit(x,y)
clf.decision_path(x)
结果:
(<150x140 sparse matrix of type '<type 'numpy.int64'>'
with 5406 stored elements in Compressed Sparse Row format>, array([ 0, 13,
26, 41, 54, 71, 86, 97, 106, 119, 140]))
【讨论】:
以上是关于我如何从决策树中预测 x_train 的位置获取叶子的节点号?的主要内容,如果未能解决你的问题,请参考以下文章