Python 获取logit模型的系数

Python 获取logit模型的系数,python,scikit-learn,Python,Scikit Learn,亲爱的Stackoverflow用户: 我一直在做一个机器学习项目。几个月前,我训练了一个逻辑回归模型,并使用pickle保存它,这样我就可以将它应用到我的数据集中。 我使用此代码在需要时加载模型 import pickle infile = open('classifier','rb') MODEL = pickle.load(infile) infile.close() MODEL output: GridSearchCV(cv=RepeatedStratifiedKFold(n_repe

亲爱的Stackoverflow用户:

我一直在做一个机器学习项目。几个月前,我训练了一个逻辑回归模型,并使用pickle保存它,这样我就可以将它应用到我的数据集中。 我使用此代码在需要时加载模型

import pickle
infile = open('classifier','rb')
MODEL = pickle.load(infile)
infile.close()
MODEL

output:
GridSearchCV(cv=RepeatedStratifiedKFold(n_repeats=500, n_splits=5, random_state=1234),
             estimator=Pipeline(steps=[('transformer',
                                        QuantileTransformer(random_state=1234)),
                                       ('scaler', RobustScaler()),
                                       ('logreg',
                                        LogisticRegression(penalty='elasticnet',
                                                           solver='saga'))]),
             n_jobs=1,
             param_grid={'logreg__C': [0.1], 'logreg__l1_ratio': [0.1],
                         'transformer__output_distribution': ['uniform']},
             return_train_score=True, scoring='roc_auc')
模型不仅仅是logit,我还有不同的步骤

我想得到logit的系数,但当我使用
.coef\uuz
时,它会给我一个错误

logreg = MODEL.estimator.steps[2][1]
logreg.coef_
AttributeError: 'LogisticRegression' object has no attribute 'coef_'
有没有办法解决这个问题


提前谢谢

您无法访问已安装的型号。要检查此项,请执行以下操作:

from sklearn.utils.validation import check_is_fitted
check_is_fitted( MODEL.estimator.steps[2][1] )

# NotFittedError: This LogisticRegression instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
要访问拟合模型,您必须访问最佳估计器:

check_is_fitted(MODEL.best_estimator_["logreg"])
# None
# None means that it is fitted
现在你可以得到系数了

MODEL.best_estimator_["logreg"].coef_
更详细地说,在调用fit()之前不会设置coef_u2;属性