簡體   English   中英

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM