我有一个imblearn(不是 sklearn)管道,包括以下步骤:
- 列选择器
- 预处理管道(不同列上带有 OneHotEncoders 和 CountVectorizers 的 ColumnTransformer)
- imblearn 的 SMOTE
- XGB分类器
我有一个表格数据集,我正在尝试解释我的预测。我设法通过一些工作制定了特征重要性图,但无法让 eli5 或石灰工作。
Lime 要求我将数据转换为上次转换之前的状态(因为管道中的转换器(如自定义矢量化器)会创建新列)。原则上,我可以像这样分割我的管道: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)
我收到不支持分类器的消息。
将不胜感激有关如何进行此操作的任何想法。