【发布时间】:2018-04-06 05:38:06
【问题描述】:
xgb.fi() 是一个新函数,它与 xgboost 一起使用来检测变量之间的交互。
文档可以在这里找到:https://rdrr.io/github/RSimran/RXGBfi/man/xgb.fi.html
这是一个重要的主题,我尝试测试该功能,但遇到了异常。
请参阅下面的可重现示例:
library(data.table)
library(xgboost)
library(RXGBfi)
data(mtcars)
X = as.matrix(mtcars[, -9])
Y = mtcars$am
dtrain = xgb.DMatrix(data = X, label = Y)
model = xgb.train(data = dtrain,
eval = "auc",
verbose =0, maximize = TRUE,
params = list(objective = "binary:logistic",
eta = 0.1,
max_depth = 6,
subsample = 0.8,
lambda = 0.1 ),
nrounds = 10)
features = names(mtcars)[-9]
xgb.fi(model = model, features = features)
Listening on http://127.0.0.1:7333
Warning: Error in :=: Check that is.data.table(DT) == TRUE. Otherwise, := and `:=`(...) are defined for use in j, once only and in particular ways. See help(":=").
Stack trace (innermost first):
95: :=
94: [.data.frame
93: [.data.table
92: [
91: tableVars1
90: base::rownames
89: datatable
88: eval
87: eval
86: %>%
85: exprFunc
84: widgetFunc
83: func
82: origRenderFunc
81: renderFunc
80: origRenderFunc
79: output$tableVars1
4: <Anonymous>
3: do.call
2: print.shiny.appobj
1: <Promise>
【问题讨论】:
-
您找到解决方案了吗?
标签: r xgboost interaction