Python - 从 OLS 模型中获取排列重要性

Python - Grabbing Permutation Importance From OLS Model

提问人:datacleanupnewb 提问时间:1/7/2022 更新时间:1/7/2022 访问量:181

问:

正如标题所述,我试图为我的 OLS 模型中的特征获取排列重要性,但我得到了这个:

TypeError:估算器应该是实现“拟合”方法的估算器,<statsmodels.regression.linear_model。传递了 0x7fc52c9d5e0> 处的 RegressionResultsWrapper 对象

这是我的代码:

import pandas as pd
from sklearn.inspection import permutation_importance
from sklearn.model_selection import train_test_split
import statsmodels.api as sm

df = pd.read_csv(r'my_file')

X = df.drop(my dependent variable)
y = df[my dependent variable)

X_train, X_test, y_train, y_test = train_test_split(X, y)

model - sm.OLS(y_train, X_train).fit()
print(model.summary())

score = permuation_importance(model, X_train, y_train, scoring='neg_root_mean_squared_error')

importance = score.importances_mean

for i,v in enumerate(importance):
   print('Feature: %0d, Score: %.5f' % (i,v))

我有一种感觉,这是因为我使用的模型不是来自 sklearn,所以想知道是否有办法从我的 OLS 模型中获取特征指标?谢谢!!

Python 机器学习 scikit-learn 统计回归

评论

0赞 Learning is a mess 1/8/2022
有一点:需要传递排列重要性(X_test,y_test)才能给出可靠(可推广)的结果。
0赞 datacleanupnewb 1/8/2022
谢谢你

答: 暂无答案