Mein Ziel ist es zu identifizieren, in welcher Tiefe zwei Samples innerhalb eines Entscheidungsbaums getrennt sind. In der Entwicklungsversion von Scikit-Learn können Sie die decision_path()
Methode zur Identifizierung gemeinsame Knoten dauern:scikit-learn Entscheidungsbaum Knotentiefe
from sklearn import tree
import numpy as np
clf = tree.DecisionTreeClassifier()
clf.fit(data, outcomes)
n_nodes = clf.tree_.node_count
node_indicator = clf.decision_path(data).toarray()
sample_ids = [0,1]
common_nodes = (node_indicator[sample_ids].sum(axis=0) == len(sample_ids))
common_node_id = np.arange(n_nodes)[common_nodes]
max_node = np.max(common_node_id)
Gibt es eine Möglichkeit an, um zu bestimmen, welche Tiefe die max_node
tritt innerhalb des Baumes, möglicherweise mit clf.tree_.children_right
und clf.tree_.chrildren_left
?