HarryZhu-7harryprince
library(xgboost)
eta <- c(0.05, 0.1, 0.2)
max_depth <- c(1, 4, 8, 12)
min_child_weight <- c(1, 4, 8, 12)
gamma <- c(0, 0.4, 0.8, 1.2)
#performance_matrix <- matrix(rep(0, 1152), ncol = 6)
i <- 1
for(a in eta){
for(b in max_depth){
for(c in min_child_weight){
for(d in gamma){
params <- list(eta = a, max_depth = b, min_child_weight = c, gamma = d)
cv <- xgb.cv(data = X_train, label = Y_train, params = params, nfold = 10, nrounds = 10000, objective = "reg:linear", eval_metric = "mae", early_stopping_rounds = 20, maximize = F)
#performance_matrix[i, 1] <- a
#performance_matrix[i, 2] <- b
#performance_matrix[i, 3] <- c
#performance_matrix[i, 4] <- d
#performance_matrix[i, 5] <- cv$evaluation_log$test_mae_mean[cv$best_iteration]
#performance_matrix[i, 6] <- cv$best_iteration
i <- i + 1
if(a == 0.1 & b == 1 & c == 1 & d == 0){
n_bst <- cv$evaluation_log$test_mae_mean[cv$best_iteration]
}
else{
n <- cv$evaluation_log$test_mae_mean[cv$best_iteration]
if(n < n_bst){
n_bst <- n
bst_eta <- a
bst_max_depth <- b
bst_min_child_weight <- c
bst_gamma <- d
bst_iteration <- cv$best_iteration
}
}
}
}
}
}
#> Error in xgb.cv(data = X_train, label = Y_train, params = params, nfold = 10, : object 'X_train' not found
colnames(performance_matrix) <- c("eta", "max_depth", "min_child_weight", "gamma", "test_mae_mean", "best_iteration")
#> Error in colnames(performance_matrix) <- c("eta", "max_depth", "min_child_weight", : object 'performance_matrix' not found
print(performance_matrix)
#> Error in print(performance_matrix): object 'performance_matrix' not found
params_bst <- list(eta = bst_eta, max_depth = bst_max_depth, min_child_weight = bst_min_child_weight, gamma = bst_gamma)
#> Error in eval(expr, envir, enclos): object 'bst_eta' not found
model_xgb <- xgboost(data = X_train, label = Y_train, booster= "gbtree", params = params_bst, nrounds = bst_iteration, objective = "reg:linear", eval_metric = "mae")
#> Error in xgb.get.DMatrix(data, label, missing, weight): object 'X_train' not found
Y_star_xgb= predict(model_xgb,X_test)
#> Error in predict(model_xgb, X_test): object 'model_xgb' not found
R2_xgb= cor(as.vector(Y_test),as.vector(Y_star_xgb))2
#> Error in as.vector(Y_star_xgb): object 'Y_star_xgb' not found
R2_xgb
#> Error in eval(expr, envir, enclos): object 'R2_xgb' not found