随机森林可获取树实际max_depth,HistGradientBoostingRegressor该如何实现?
获取HistGradientBoostingRegressor每棵树的实际max_depth
sklearn的HistGradientBoostingRegressor没有像随机森林那样公开的estimators_属性,但可以通过其私有属性_predictors访问所有树模型,每个树模型是TreePredictor实例,直接通过.max_depth属性就能获取该树的最大深度。
实现代码
max_depth = list() for predictor in hgb._predictors: max_depth.append(predictor.max_depth) print("avg max depth %0.1f" % (sum(max_depth) / len(max_depth)))
注意事项
_predictors是私有属性,sklearn官方不保证该属性在未来版本中保持兼容,使用时需注意对应版本的API变化。- 可以通过
hgb.n_trees_per_iteration_确认树的数量,该值应与len(hgb._predictors)一致。
内容的提问来源于stack exchange,提问作者fan-yang
相关产品推荐
相关产品推荐

