如何获取Python中默认参数随机森林分类器的最大深度?
获取默认参数随机森林分类器的最大深度
可以获取,但要注意:随机森林是由多棵独立决策树组成的,默认参数下max_depth设为None,这意味着每棵树会生长到无法再分裂(叶子节点样本全属于同一类别,或样本数小于min_samples_split),因此每棵树的实际深度可能不同。
具体操作方法
- 随机森林模型的
estimators_属性包含所有训练后的决策树实例。 - 对每棵决策树,通过
tree_.max_depth属性获取其实际训练后的深度(注意这是属性而非方法,无需加括号)。
代码示例
from sklearn.ensemble import RandomForestClassifier from sklearn.datasets import load_iris # 用默认参数构建并训练随机森林 X, y = load_iris(return_X_y=True) rf_clf = RandomForestClassifier(random_state=42) rf_clf.fit(X, y) # 遍历所有树,获取每棵树的深度 individual_tree_depths = [tree.tree_.max_depth for tree in rf_clf.estimators_] # 输出结果 print("每棵树的实际深度:", individual_tree_depths) print("森林中树的最大深度:", max(individual_tree_depths))
补充说明
如果你只是想查看模型初始化时设置的max_depth参数值(默认是None),直接访问rf_clf.max_depth即可,但这个值是预设参数,不是训练后树的实际深度。
内容的提问来源于stack exchange,提问作者user15910272
相关产品推荐
相关产品推荐

