Hi. I am trying to understand xgboost, and in particular the label parameter. It seems to me label should be the target variable, but I am misunderstanding something. Below includes a few rows of my data. What should label equal in xgb.DMatrix? Also, do I need to declare variables as factors? Thank you.
library(xgboost)
df <- data.frame(
age = c(28,31,48,35,30,23),
sex = c(1,0,0,1,0,0),
education = c(2,3,2,1,1,1),
marriage = c(0,0,0,0,1,1),
assets = c(3,4,3,2,2,3),
missed_payment = c(1,1,2,2,1,2),
credit_utilize = c(.191,.196,1,1,.374,.970),
default = c(0,0,1,1,1,1))
df <- as.matrix(df)
dtrain <- xgb.DMatrix(data = df, label = df$default)
bst <- xgboost(data = dtrain, max_depth = 2, eta = 1, nthread = 2, nrounds = 2, objective = "binary:logistic", verbose = 2)
pred <- predict(bst, df)
Error in df$default : $ operator is invalid for atomic vectors
Calls: xgb.DMatrix -> append
Execution halted