根本原因并解决返回 R 的 'lime' 库的 'explain' 函数的错误

root cause and resolve an error returned R's 'lime' library's, 'explain' function

在 h2o 随机森林上使用“lime”库中的 "explain" 函数时出现此错误。

Error in elnet(x, is.sparse, ix, jx, y, weights, offset, type.gaussian,  : 
  y is constant; gaussian glmnet fails at standardization step

我找不到在线文档,也找不到有关此问题的在线帮助。你能帮我找到根本原因并解决它吗?

这是我的代码:

explainer_h2o_rf  <- lime(x=big_df, 
                          model=fit_rf.hex, 
                          bin_continuous = FALSE,
                          use_density = T, 
                          quantile_bins = F)

# for(i in 1:25){
i <- c(1,2)
explanation_rf <- explain(x = x_lime[i,],
                          explainer = explainer_h2o_rf,
                          n_features = 15,
                          feature_select = "auto",
                          labels = "1")

备注:

这里 sites/questions 没有包含我的答案:

Error in elnet(x, is.sparse, ix, jx, y, weights, offset, type.gaussian, :

y is constant; gaussian glmnet fails at standardization step

只是阅读错误,您的训练数据似乎有问题,或者可能是用于训练 glmnet 模型的数据的某些子集(elnet() 在内部使用glmnet() 函数)。

具体来说,错误表明响应列是常量,因此无法训练 glmnet 模型——训练 glmnet 模型是 model_permutations() 函数内部的一个步骤,它本身在 explain() 函数内。

您应该检查您的回复栏以确保它不是恒定的。

我遇到了类似的错误。

我将 labels = "Yes" 更改为 labels = "Response",以匹配解决我问题的目标变量。