[英]Finding a corresponding leaf node for each data point in a decision tree (scikit-learn)
[英]Where does scikit-learn hold the decision labels of each leaf node in its tree structure?
我使用scikit-learn訓練了一個隨機森林模型,現在我想將它的樹結構保存在文本文件中,以便我可以在其他地方使用它。 根據此鏈接 ,樹對象由許多並行數組組成,每個數組都包含有關樹的不同節點的一些信息(例如,左子,右子,它檢查的特征,......)。 但是,似乎沒有關於每個葉節點對應的類標簽的信息! 在上面的鏈接中提供的示例中甚至沒有提到它。
有誰知道scikit-learn決策樹結構中存儲的類標簽在哪里?
看一下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
中的每一行“包含每個節點的常量預測值”( help(clf.tree_)
),它對應於clf.classes_
的索引到clf.classes_
。
看到這個答案 (幾乎沒有)更多細節。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.