Python 多输出随机森林回归器中特征重要性的获取

Python 多输出随机森林回归器中特征重要性的获取,python,scikit-learn,Python,Scikit Learn,我有一个多输出随机森林回归器,我想计算它的特征重要性 正如在另一个问题中读到的,有人说要计算估计器的特征重要性。我没有定义任何估计器,正如你在下面看到的,我不知道它创建了多少。这(出于某种原因)没有引发异常,但在运行下面的代码后,它表示object MultiOutputRegressor没有估计器,但它对RFR有估计器。如果我试图访问模型列表中的原始RFR,我会得到异常“tuple没有属性特征重要性” 此代码抛出一个 multioutput object has no attribute fe

我有一个多输出随机森林回归器,我想计算它的特征重要性

正如在另一个问题中读到的,有人说要计算估计器的特征重要性。我没有定义任何估计器,正如你在下面看到的,我不知道它创建了多少。这(出于某种原因)没有引发异常,但在运行下面的代码后,它表示object MultiOutputRegressor没有估计器,但它对RFR有估计器。如果我试图访问模型列表中的原始RFR,我会得到异常“tuple没有属性特征重要性”

此代码抛出一个

multioutput object has no attribute feature importance
m4=MultiOutputRegressor(RandomForestRegressor())
m5=m4.估计量[0]
feature_importances=pd.DataFrame(m4.feature_importances,index=X_train.columns,columns=['importances'])。排序_值('importances'))
打印(功能和重要性)
要素_importances.plot(种类='barh')
此代码返回

tuple object has no feature importance
m4=型号[5]
#m5=m4.估计量[0]
feature_importances=pd.DataFrame(m4.feature_importances,index=X_train.columns,columns=['importances'])。排序_值('importances'))
打印(功能和重要性)
要素_importances.plot(种类='barh')
我以前只处理过分类问题,我希望能够以类似的方式显示特征的重要性

m5 = m4.estimator[0]
.estimator[0]
替换为
.estimator[0]
并将
m4.功能重要性
替换为
m5.功能重要性

打完电话

m4 = MultiOutputRegressor(RandomForestRegressor())

您应该使用
m4.fit(array1,array2)
来拟合一些数组,您可以通过调用
m4.estimators来查看估计器。然后,您可以更进一步,通过执行
m4.estimators\u0]。feature\u importances\uu

嗨,Axis,非常感谢!我试试看。问题是,这个模型以前是声明、训练和验证的。这就是为什么我认为,由于模型是与其他模型同时训练和声明的(我正在对它们进行比较)。我就不必再创造这个世界了object@LaurySorto如果您想在模型之间进行比较,您必须使用训练数据重新创建和重新安装