回归链中基本估计量的属性

问题描述

我正在使用Scikit Learn中的RegressorChain解决输出回归问题,但是在拟合模型后,我需要检索拟合的模型基础估算器以访问估算器属性。 我尝试在Scikit Learn的RegeRSSorChain中访问基本估计量的属性,但不能。

以下是我为此使用的代码

linreg = LinearRegression() 

wrapper=RegressorChain(linreg)

fit_model=wrapper.fit(X_train,y_train)

base_estimator_para=RegressorChain.get_params(fit_model,deep=True)

base_estimator_linreg=base_estimator_para['base_estimator']

print(base_estimator_linreg.coef_)

最后一行返回一个错误,即“ LinearRegression”对象没有属性“ coef_”,而LinearRegression具有属性“ coef _”。

函数“ base_estimator_para”返回一个包含对象的数字,该对象包括基本估算器本身。

base_estimator_para['base_estimator']返回基本估计器对象,因此使用
base_estimator_linreg.coef_应该返回拟合的线性回归模型的系数。

解决方法

base_estimator是传递给RegressorChain的参数,当您适合RegressorChain时不适合。该估算器被重复克隆,每个克隆都被拟合(依次使用先前拟合的克隆的预测作为附加输入)。您想要选择estimators_的合适克隆base_estimator中的一项。