【发布时间】: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