【问题标题】:Lime Explainer: ValueError: training data did not have the following fieldsLime Explainer:ValueError:训练数据没有以下字段
【发布时间】:2019-11-27 00:59:39
【问题描述】:

我正在尝试使用 LIME 从我的 XGBoost 分类模型中收集 ID 级别驱动程序,但遇到了一些奇怪的错误。我用这个link 作为参考。

这是我正在使用的整体代码:

explainer = lime.lime_tabular.LimeTabularExplainer(Xs_train.values, class_names = [1.0, 0.0], kernel_width = 3)

predict_fn_xgb = lambda x: trained_model.predict_proba(x).astype(float)
data_point = Xs_val.values[5]

exp = explainer.explain_instance(data_point, predict_fn_xgb, num_features = 10)
exp.show_in_notebook(show_all = False)

键:

  • trained_model:经过训练的 xgboost 分类模型
  • 类名:这是一个二元分类模型
  • Xs_train:这是一个 (73548, 84) 维度的训练集。这用于构建 training_model
  • Xs_val:这是一个 (4910, 84) 维度的训练集。这些列与训练和验证集相同。
  • data_point:一个特定的验证点

现在,当我运行此代码时,我收到以下错误:

ValueError: expected res_time, email_views...training data did not have the following fields: f6, f49, f34, f21,...

我不知道f# 列名来自哪里。看起来真的很奇怪,我相信我正确地遵循了这个例子。

任何帮助将不胜感激。让我知道是否需要任何其他信息。

【问题讨论】:

    标签: machine-learning xgboost inference lime


    【解决方案1】:

    您尚未提供有关数据集中字段的任何信息。

    但是,您似乎没有将“feature_names”传递给 LimeTabularExplainer。尝试这样做。 祝你好运

    【讨论】:

      猜你喜欢
      • 2023-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-01
      • 2019-04-11
      • 2014-07-22
      • 2018-01-08
      • 1970-01-01
      相关资源
      最近更新 更多