为了账号安全,请及时绑定邮箱和手机立即绑定

如何解释 imblearn 管道的预测?

如何解释 imblearn 管道的预测?

慕工程0101907 2024-01-16 15:40:23
我有一个imblearn(不是 sklearn)管道,包含以下步骤:列选择器预处理管道(不同列上具有 OneHotEncoders 和 CountVectorizers 的 ColumnTransformer)imblearn 的 SMOTEXGB分类器我有一个表格数据集,我正在尝试解释我的预测。我设法通过一些工作绘制出特征重要性图,但无法让 eli5 或 Lime 工作。Lime 要求我将数据转换为上次转换之前的状态(因为管道中的转换器(如自定义矢量化器)会创建新列)。原则上,我可以像这样分割我的 Pipeline:pipeline[:-1].predict(instance)。但是,我收到以下错误:{AttributeError}'SMOTE' object has no attribute 'predict'。我还尝试了 eli5 解释器,因为据说它可以与 Sklearn Pipelines 配合使用。但是,运行后eli5.sklearn.explain_prediction.explain_prediction_sklearn_not_supported(pipeline, instance_to_explain)我收到不支持分类器的消息。将不胜感激有关如何继续此操作的任何想法。
查看完整描述

1 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

Imblearn 的采样器在预测期间实际上是无操作(即身份)转换器。因此,在安装管道后删除它们应该是安全的。

尝试以下工作流程:

  1. 构建 Imblearn 管道并安装它。

  2. 将已安装的 Imblearn 管道的步骤提取到新的 Scikit-Learn 管道。

  3. 删除 SMOTE 步骤。

  4. 使用标准 Scikit-Learn 管道解释工具解释您的预测。


查看完整回答
反对 回复 2024-01-16
  • 1 回答
  • 0 关注
  • 72 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信