scikit-learn 在其树结构中的哪个位置保存每个叶节点的决策标签?
Where does scikit-learn hold the decision labels of each leaf node in its tree structure?
我已经使用 scikit-learn 训练了一个随机森林模型,现在我想将其树结构保存在一个文本文件中,以便我可以在其他地方使用它。
根据 this link 一棵树 object 由许多并行数组组成,每个数组包含有关树的不同节点的一些信息(例如左 child、右 child、什么它检查的功能,...)。但是好像没有关于每个叶子节点对应的class标签的信息!在上面 link 中提供的示例中甚至没有提到它。
有谁知道 scikit-learn 决策树结构中存储的 class 标签在哪里?
查看 sklearn.tree.DecisionTreeClassifier.tree_.value
的文档:
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.]]]
clf.tree_.value
"contains the constant prediction value of each node," (help(clf.tree_)
) 中的每一行对应索引到索引 clf.classes_
.
有关(几乎)更多详细信息,请参阅 this answer。
我已经使用 scikit-learn 训练了一个随机森林模型,现在我想将其树结构保存在一个文本文件中,以便我可以在其他地方使用它。 根据 this link 一棵树 object 由许多并行数组组成,每个数组包含有关树的不同节点的一些信息(例如左 child、右 child、什么它检查的功能,...)。但是好像没有关于每个叶子节点对应的class标签的信息!在上面 link 中提供的示例中甚至没有提到它。
有谁知道 scikit-learn 决策树结构中存储的 class 标签在哪里?
查看 sklearn.tree.DecisionTreeClassifier.tree_.value
的文档:
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.]]]
clf.tree_.value
"contains the constant prediction value of each node," (help(clf.tree_)
) 中的每一行对应索引到索引 clf.classes_
.
有关(几乎)更多详细信息,请参阅 this answer。