首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提取Bagging集合的成员

提取Bagging集合的成员
EN

Stack Overflow用户
提问于 2020-04-19 18:05:23
回答 1查看 285关注 0票数 1

我使用了BaggingRegressor类来构建具有以下参数的最佳模型:

代码语言:javascript
复制
from sklearn.tree import DecisionTreeRegressor
from sklearn.ensemble import BaggingRegressor
Reg_ensemble=BaggingRegressor(base_estimator=DecisionTreeRegressor(max_depth=3),n_estimators=10,random_state=0).fit(feature,target)

有了上面的设置,它将创建10棵树。我想分别提取和访问集成回归的每个成员(每个树),然后在每个成员上拟合一个测试样本。是否可以访问每个模型?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-19 18:19:46

拟合模型的estimators_属性提供了一个带有集成估计器的列表;以下是一个带有虚拟数据和n_estimators=3的示例,以求简洁:

代码语言:javascript
复制
from sklearn.tree import DecisionTreeRegressor
from sklearn.ensemble import BaggingRegressor
from sklearn.datasets import make_regression

X, y = make_regression(n_samples=100, n_features=4,
                    n_informative=2, n_targets=1,
                    random_state=0, shuffle=False)
regr = BaggingRegressor(base_estimator=DecisionTreeRegressor(max_depth=3),
                        n_estimators=3, random_state=0)
regr.fit(X, y)

regr.estimators_
# result:
[DecisionTreeRegressor(ccp_alpha=0.0, criterion='mse', max_depth=3,
                       max_features=None, max_leaf_nodes=None,
                       min_impurity_decrease=0.0, min_impurity_split=None,
                       min_samples_leaf=1, min_samples_split=2,
                       min_weight_fraction_leaf=0.0, presort='deprecated',
                       random_state=2087557356, splitter='best'),
 DecisionTreeRegressor(ccp_alpha=0.0, criterion='mse', max_depth=3,
                       max_features=None, max_leaf_nodes=None,
                       min_impurity_decrease=0.0, min_impurity_split=None,
                       min_samples_leaf=1, min_samples_split=2,
                       min_weight_fraction_leaf=0.0, presort='deprecated',
                       random_state=132990059, splitter='best'),
 DecisionTreeRegressor(ccp_alpha=0.0, criterion='mse', max_depth=3,
                       max_features=None, max_leaf_nodes=None,
                       min_impurity_decrease=0.0, min_impurity_split=None,
                       min_samples_leaf=1, min_samples_split=2,
                       min_weight_fraction_leaf=0.0, presort='deprecated',
                       random_state=1109697837, splitter='best')]

在拟合BaggingRegressor之后(基本估计器在拟合之前不存在),您可以使用data Xs, ys简单地访问用于拟合的基本估计器,如下所示:

代码语言:javascript
复制
for model in regr.estimators_:
    model.fit(Xs, Ys)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61302586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档