Python 3.x 查看单个预测的模型系数

Python 3.x 查看单个预测的模型系数,python-3.x,machine-learning,scikit-learn,logistic-regression,Python 3.x,Machine Learning,Scikit Learn,Logistic Regression,我有一个逻辑回归模型,包含在scikit学习管道中,使用以下方法: pipeline=make\u pipeline( StandardScaler(), 逻辑回归( 解算器='lbfgs', cv=10, 得分='roc_auc', class_weight='balanced' ) ) 管道安装(X_系列、y_系列) y_pred=管道预测(X_测试) 我可以用这个代码查看整个预测模型的系数 查看模型的系数,看看哪些特性最重要 plt.rcParams['figure.dpi']=50 模

我有一个逻辑回归模型,包含在scikit学习管道中,使用以下方法:

pipeline=make\u pipeline(
StandardScaler(),
逻辑回归(
解算器='lbfgs',
cv=10,
得分='roc_auc',
class_weight='balanced'
)
)
管道安装(X_系列、y_系列)
y_pred=管道预测(X_测试)
我可以用这个代码查看整个预测模型的系数

查看模型的系数,看看哪些特性最重要 plt.rcParams['figure.dpi']=50 模型=管道。命名的_步骤['logisticregressioncv'] 系数=pd系列(模型系数[0],X列) plt.图(figsize=(10,12)) 系数.sort_values().plot.barh(color='grey'); 返回特征及其系数的条形图


我想做的是能够看到单个观测的不同输入值如何影响其预测。其想法是能够对样本人群进行预测,并用“低”预测检验群体。。。例如,如果我对10个观察值进行预测,我想看看不同的输入值如何分别影响这10个预测值。

回忆说,我可以通过以下方法实现这一点(但使用
LinearExplainer
而不是
treeeexplainer
):

#在管道外实例化模型和编码器
#与shap一起使用
模型=RandomForestClassifier(随机_状态=25)
#适合在火车上,在val上得分
模型拟合(X_序列编码,y_序列2)
y_pred_shap=model.predict(X_val_编码)
#获得一个单独的观察来解释。
row=X_test_encoded.iloc[-3]]
#为什么模型预测到了这一点?
#看看Shapley值力图
导入形状
解释者=形状树解释者(模型)
形状值=解释者。形状值(行)
shap.initjs()
形状力图(
基本\u值=解释者。预期的\u值[1],
形状值=形状值[1],
特征=行
)```

@desertnaut因此“我不完全确定这是否可能,这可能会暴露出对这些系数是如何生成的/它们代表什么的误解”。。。谢谢你的澄清!尊敬的谢绝,因为我认为其他人肯定可能对此话题感到困惑,并从提供的解释/澄清中获益。Shap值与模型系数无关。这并不能回答这个问题。“SHAP衡量变量的影响,同时考虑与其他变量的相互作用。Shapley值通过比较模型预测的有无特征来计算特征的重要性。但是,由于模型看到特征的顺序可能会影响其预测,因此会按每个可能的顺序进行,以便公平地比较特征。“这确实是我想要的-我使用了系数作为一个术语,因为这是我以前使用过的,但最终我想了解各种输入对预测的影响我知道形状值是什么,我再说一遍:这不是被问到的问题。我还要再说一遍:我对我原来问题的措辞表示困惑。我想要了解的是,个体观察的不同输入值是如何影响个体预测的。我希望听到关于如何实现这一目标的指导,而不是简单地被告知我试图实现这一目标的方式是不正确的,因为这无助于我解决问题。你是说Shap值不会告诉我个体观察的不同输入值是如何影响个体预测的?