## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  eval = FALSE
)

## ----install------------------------------------------------------------------
# install.packages("cuda.ml")
# 
# library(cuda.ml)
# cuda_ml_install()

## ----backend-info-------------------------------------------------------------
# info <- cuda_ml_backend_info()
# 
# info[c(
#   "package_version",
#   "platform",
#   "cuda_version",
#   "rapids_version",
#   "minimum_driver",
#   "runtime_installed"
# )]

## ----supervised---------------------------------------------------------------
# train <- mtcars[1:25, ]
# test <- mtcars[26:32, ]
# 
# fit <- cuda_ml_ols(
#   mpg ~ .,
#   data = train,
#   method = "qr"
# )
# 
# test_predictors <- subset(test, select = -mpg)
# predictions <- predict(fit, new_data = test_predictors)
# 
# cbind(
#   actual = test$mpg,
#   predicted = predictions$.pred
# )

## ----pca----------------------------------------------------------------------
# oils <- modeldata::oils
# oil_predictors <- oils |>
#   subset(select = -class) |>
#   scale()
# 
# pca_fit <- cuda_ml_pca(
#   oil_predictors,
#   n_components = 2
# )
# 
# head(pca_fit$transformed_data)
# pca_fit$explained_variance_ratio

