## ----setup, include=FALSE-----------------------------------------------------
knitr::opts_chunk$set(collapse = TRUE, comment = "#>")
library(ReSurv)

## ----data---------------------------------------------------------------------
claims <- data_generator(
  random_seed = 1964, scenario = "alpha", time_unit = 1,
  years = 4, period_exposure = 100
)
individual <- IndividualDataPP(
  claims, categorical_features = "claim_type",
  accident_period = "AP", calendar_period = "RP",
  input_time_granularity = "years", output_time_granularity = "years",
  years = 4
)
head(individual$training.data)

## ----cox----------------------------------------------------------------------
fit <- ReSurv(individual, hazard_model = "COX", eta = 0)
prediction <- predict(fit)
summary(prediction)
head(predictReserve(fit, granularity = "output"))

## ----xgb----------------------------------------------------------------------
cv <- ReSurvCV(
  individual, model = "XGB",
  hparameters_grid = list(
    booster = "gbtree", eta = c(0.05, 0.1), max_depth = 1,
    subsample = 1, alpha = 0, lambda = 1, min_child_weight = 0,
    nthread = 1
  ),
  folds = 2, random_seed = 1, nrounds = 2
)
cv$out.cv.best.oos
xgb_fit <- ReSurv(
  individual, hazard_model = "XGB", eta = 0,
  hparameters = cv$hparameters.best
)
predict(xgb_fit)$predicted_counts

## ----nn, eval=FALSE-----------------------------------------------------------
# nn_fit <- ReSurv(
#   individual, hazard_model = "NN", eta = 0,
#   hparameters = list(
#     num_layers = 1, num_nodes = 8, activation = "relu",
#     optim = "Adam", lr = 0.01, xi = 0.5, eps = 0,
#     early_stopping = TRUE, patience = 5, epochs = 20,
#     verbose = FALSE, num_workers = 0
#   )
# )
# predictReserve(nn_fit)

