如何解决基于不同列的值数据提取和基于不同列的复杂数据处理
需要从下面提供的数据框中提取值
我有一个密码
d2f/
以下代码的
我需要基于y值提取x列 ,这样,基于前5个最大值,我需要提取x值,这样我就只需要列名而没有其他内容
例如,如果对应的Y值位于 Y的前5个最大值中,则我仅需要 Change_LTV ,而不需要Change_LTV = -0.633700109225944
一旦有了,我就需要再次运行瀑布代码,并对另一个输入数字值为9
重复相同的过程r<-showWaterfall(xgb,explainer,k1,X_test,1,type = "binary")
这些数字i / p值将改变,并且在上述情况下将是随机的,现在是 9 ,输入值将持续变化超过1000+,我需要存储所有结果来自一个数据帧中的不同输入
以上输出仅供参考,我如何需要o / p只是一个示例
我需要将值从1更改为9,100,25 ...,依此类推,然后将所有结果堆叠到一个数据帧中,如输出所示
需要迭代相同的代码
r<-showWaterfall(xgb,9,type = "binary")
针对不同的输入值(将更改)
我尝试了这种方法,但是没有得到所需格式的结果
r<-showWaterfall(xgb,type = "binary")
解决方法
这是个主意。我按y
排序输出(绝对值最高),取前五个x
并清理了名称。 count_test
的值和x
中的名称被写入预定义的数据帧(df
)中。
因此,结果可能像您的输出图像中那样组织。
library(tidyverse)
df <- data.frame(Inpuvalue = NA,Attribut1 = NA,Attribut2 = NA,Attribut3 = NA,Attribut4 = NA,Attribut5 = NA)
count_test<-c(1,9,100,22,45)
for (i in count_test)
{
r<-showWaterfall(xgb,explainer,k1,X_test,i,type = "binary")
attribut <-as.data.frame(r$data) %>%
arrange(desc(y)) %>%
filter(x != "intercept") %>%
slice(1:5) %>%
pull(x) %>%
str_remove(.,"\\s=.*")
df[which(i == count_test),] <- c(i,attribut)
}
´´´
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。