python - train_test_split教學 - train_test_split用法



如何在Python的scikit-learn中訪問樹的深度? (1)

我正在使用scikit-learn創建一個隨機森林。 但是,我想找到每棵樹的個別深度。 這似乎是一個簡單的屬性,但根據文檔,( http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html )沒有辦法訪問它。

如果這是不可能的,有沒有從決策樹模型訪問樹深度的方法?

任何幫助,將不勝感激。 謝謝。


RandomForestClassifier每個實例都有一個estimators_屬性,它是DecisionTreeClassifier實例的列表。 該文檔顯示DecisionTreeClassifier一個實例有一個tree_屬性,它是(無證的,我相信) Tree類的一個實例。 在解釋器中的一些探索表明,每個Tree實例有一個max_depth參數,這似乎是你正在尋找的 - 再一次,它是沒有記錄。

無論如何,如果forestRandomForestClassifier的實例,那麼:

>>> [estimator.tree_.max_depth for estimator in forest.estimators_]
[9, 10, 9, 11, 9, 9, 11, 7, 13, 10]

應該做的伎倆。





depth