XGBoost regression
Sources: https://www.datatechnotes.com/2020/08/regression-example-with-xgboost-in-r.html
# XG Boost running
library(xgboost)
library(caret)
library(tidyverse)
boston = MASS::Boston
str(boston)
dat = scale(boston) %>% as.data.frame()
head(dat)
str(dat)
set.seed(12)
indexes = createDataPartition(dat$medv, p = .85, list = F)
train = dat[indexes, ]
test = dat[-indexes, ]
train_x = data.matrix(train[, -13])
train_y = train[,13]
test_x = data.matrix(test[, -13])
test_y = test[, 13]
xgb_train = xgb.DMatrix(data = train_x, label = train_y)
xgb_test = xgb.DMatrix(data = test_x, label = test_y)
xgbc = xgboost(data = xgb_train, max.depth = 2, nrounds = 50)
print(xgbc)
pred_y = predict(xgbc, xgb_test)
data.frame(obs = test_y,
pred = pred_y) -> m
m %>%
ggplot(aes(obs, pred)) +
geom_point()
mean((m$obs - m$pred)^2)