Lime Explainer:ValueError:训练数据没有以下字段

问题描述 投票:0回答:1

我正在尝试使用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)维度训练集。这些列与训练和验证集相同。
  • 数据点:一个特定的验证点

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

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个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.