如何从装袋中获得带有集成的基本模型分数
How to get base model score with ensemble from bagging
我创建了一个 Bagging Ensemble Model
。下面给出模型
def get_models():
models = dict()
n_trees = [10, 50, 100, 500, 500, 1000, 5000]
for n in n_trees:
models[str(n)] = BaggingRegressor(base_estimator=DecisionTreeRegressor(), n_estimators=n)
return models
我想获得每个基础模型的分数和最终集成模型的分数。所以,我正在使用(base_estimator_
)下面的代码来访问基本模型
因此,在拟合主要模型后,我使用此代码获取基本模型的分数
for learner in regressor.base_estimator_:
base_dfs.append(
evaluate_base_learner(
learner, X_train[train_index], X_test, y_train[train_index], y_test, k, method, learner_name = type(model).__name__,
)
)
但是我收到一个错误
TypeError: 'DecisionTreeRegressor' object is not iterable
。你能告诉我为什么会出现这个错误吗?我该如何解决这个问题?
如果您想访问 base
模型,您应该使用
for learner in regressor.estimators_:
更多info
此外,如果你想根据你的代码 运行 更多模型,你需要更改 return
代码(不在 loop
内)
我创建了一个 Bagging Ensemble Model
。下面给出模型
def get_models():
models = dict()
n_trees = [10, 50, 100, 500, 500, 1000, 5000]
for n in n_trees:
models[str(n)] = BaggingRegressor(base_estimator=DecisionTreeRegressor(), n_estimators=n)
return models
我想获得每个基础模型的分数和最终集成模型的分数。所以,我正在使用(base_estimator_
)下面的代码来访问基本模型
因此,在拟合主要模型后,我使用此代码获取基本模型的分数
for learner in regressor.base_estimator_:
base_dfs.append(
evaluate_base_learner(
learner, X_train[train_index], X_test, y_train[train_index], y_test, k, method, learner_name = type(model).__name__,
)
)
但是我收到一个错误
TypeError: 'DecisionTreeRegressor' object is not iterable
。你能告诉我为什么会出现这个错误吗?我该如何解决这个问题?
如果您想访问 base
模型,您应该使用
for learner in regressor.estimators_:
更多info
此外,如果你想根据你的代码 运行 更多模型,你需要更改 return
代码(不在 loop
内)