2014-09-04 20 views
1
12 from sklearn.datasets import load_iris 
13 iris = load_iris() 
14 X = iris.data 
15 y = iris.target 
16 
19 clf = DecisionTreeClassifier() 
20 clf = clf.fit(iris.data,iris.target) 

如何迭代clf的節點。我無法在文檔中的任何地方找到它。scikit-learn:迭代DecisionTreeClassifier的節點

回答

1

你想用clf的節點做什麼?

有一個名爲clf.tree_的變量,其中包含實際的決策樹信息。它在面向用戶的文檔中記錄很差,但您可以read the code以更好地瞭解它的功能。

不幸的是,實際的節點陣列似乎被隱藏在用Cython屬性,但你可以使用整數索引0...clf.tree_.node_count作爲索引到clf.tree_.feature[i]clf.tree_.threshold[i]等(詳情參見在鏈接代碼的文檔)。如果你想知道樣本登錄到哪個節點,你可以使用clf.tree_.apply(X)來獲取節點的實際整數索引。