Python scikit learn在其树结构中的每个叶节点的决策标签保存在哪里?

Python scikit learn在其树结构中的每个叶节点的决策标签保存在哪里?,python,scikit-learn,decision-tree,tree-structure,Python,Scikit Learn,Decision Tree,Tree Structure,我已经使用scikit learn训练了一个随机森林模型,现在我想将它的树结构保存在一个文本文件中,以便在其他地方使用它。 根据树对象由多个并行数组组成,每个数组包含有关树的不同节点的一些信息(例如左子对象、右子对象、它检查的特征等)。但是,似乎没有关于每个叶节点对应的类标签的信息!上面链接中提供的示例中甚至没有提到它 有人知道scikit学习决策树结构中的类标签存储在哪里吗?请查看以下文档: clf.tree.value“中的每一行都包含每个节点的常量预测值”(help(clf.tree)),

我已经使用scikit learn训练了一个随机森林模型,现在我想将它的树结构保存在一个文本文件中,以便在其他地方使用它。 根据树对象由多个并行数组组成,每个数组包含有关树的不同节点的一些信息(例如左子对象、右子对象、它检查的特征等)。但是,似乎没有关于每个叶节点对应的类标签的信息!上面链接中提供的示例中甚至没有提到它


有人知道scikit学习决策树结构中的类标签存储在哪里吗?

请查看以下文档:

clf.tree.value
“中的每一行都包含每个节点的常量预测值”(
help(clf.tree)
),它对应于
clf.classes的索引


有关更多详细信息,请参见。

添加到答案中,对于此数组中的每一行,您可以执行
clf.classes\uu[np.argmax(value)]
以获取预测的类标签。@not\u谢谢。你解释得很好。但是,我仍然找不到文档中提到的clf.tree_u2;.value的位置。我想我不再需要它了,因为你的答案正是我想要的。只是另一个简单的问题。看起来clf.classes u给了我[0,…,n-1]的标签,不管我使用什么标签。我说得对吗?在我的例子中,我期待[1,…,n],我相信标签是零索引的,这就是为什么它是[0,n-1]。
from sklearn.datasets import load_iris
from sklearn.cross_validation import cross_val_score
from sklearn.tree import DecisionTreeClassifier

clf = DecisionTreeClassifier(random_state=0)
iris = load_iris()

clf.fit(iris.data, iris.target)

print(clf.classes_)

[0, 1, 2]

print(clf.tree_.value)

[[[ 50.  50.  50.]]

 [[ 50.   0.   0.]]

 [[  0.  50.  50.]]

 [[  0.  49.   5.]]

 [[  0.  47.   1.]]

 [[  0.  47.   0.]]

 [[  0.   0.   1.]]

 [[  0.   2.   4.]]

 [[  0.   0.   3.]]

 [[  0.   2.   1.]]

 [[  0.   2.   0.]]

 [[  0.   0.   1.]]

 [[  0.   1.  45.]]

 [[  0.   1.   2.]]

 [[  0.   0.   2.]]

 [[  0.   1.   0.]]

 [[  0.   0.  43.]]]