# brulee The R `brulee` package contains several basic modeling functions that use the `torch` package infrastructure, such as: - [neural networks](https://brulee.tidymodels.org/reference/brulee_mlp.html) - [linear regression](https://brulee.tidymodels.org/reference/brulee_linear_reg.html) - [logistic regression](https://brulee.tidymodels.org/reference/brulee_logistic_reg.html) - [multinomial regression](https://brulee.tidymodels.org/reference/brulee_multinomial_reg.html) - [residual networks (ResNet)](https://brulee.tidymodels.org/reference/brulee_resnet.html) - [regularization learning networks (RLN)](https://brulee.tidymodels.org/reference/brulee_rln.html) - [AutoInt](https://brulee.tidymodels.org/reference/brulee_auto_int.html) - [Self-Attention and Inter-sample Attention Transformer (Saint)](https://brulee.tidymodels.org/reference/brulee_saint.html) - [Chronos2](https://brulee.tidymodels.org/reference/brulee_chronos.html) foundational model for forecasting - Transformer-based foundation model TabICL Chronos2 and TabICL are pretrained models, requiring a one-time download of about 500MB and 400MB, respectively. ## Installation You can install the released version of brulee from [CRAN](https://CRAN.R-project.org) with: ``` r install.packages("brulee") ``` And the development version from [GitHub](https://github.com/tidymodels/brulee) with: ``` r # install.packages("pak") pak::pak("tidymodels/brulee") ``` ## Example `brulee` has formula, x/y, and recipe user interfaces for each function. For example: ``` r library(brulee) library(recipes) library(yardstick) data(bivariate, package = "modeldata") set.seed(20) nn_log_biv <- brulee_mlp(Class ~ log(A) + log(B), data = bivariate_train, hidden_units = 3) # We use the tidymodels semantics to always return a tibble when predicting predict(nn_log_biv, bivariate_test, type = "prob") #> # A tibble: 710 × 2 #> .pred_One .pred_Two #> #> 1 0.675 0.325 #> 2 0.673 0.327 #> 3 0.679 0.321 #> 4 0.688 0.312 #> 5 0.685 0.315 #> 6 0.679 0.321 #> 7 0.674 0.326 #> 8 0.681 0.319 #> 9 0.697 0.303 #> 10 0.675 0.325 #> # ℹ 700 more rows ``` A recipe can also be used if the data require some sort of preprocessing (e.g., indicator variables, transformations, or standardization): ``` r library(recipes) rec <- recipe(Class ~ ., data = bivariate_train) |> step_YeoJohnson(all_numeric_predictors()) |> step_normalize(all_numeric_predictors()) set.seed(20) nn_rec_biv <- brulee_mlp(rec, data = bivariate_train, epochs = 150, hidden_units = 3) # A little better predict(nn_rec_biv, bivariate_test, type = "prob") |> bind_cols(bivariate_test) |> roc_auc(Class, .pred_One) #> # A tibble: 1 × 3 #> .metric .estimator .estimate #> #> 1 roc_auc binary 0.867 ``` ## Code of Conduct Please note that the brulee project is released with a [Contributor Code of Conduct](https://contributor-covenant.org/version/2/0/CODE_OF_CONDUCT.html). By contributing to this project, you agree to abide by its terms. # Package index ## All functions - [`autoplot(`*``*`)`](https://brulee.tidymodels.org/reference/brulee-autoplot.md) [`autoplot(`*``*`)`](https://brulee.tidymodels.org/reference/brulee-autoplot.md) [`autoplot(`*``*`)`](https://brulee.tidymodels.org/reference/brulee-autoplot.md) [`autoplot(`*``*`)`](https://brulee.tidymodels.org/reference/brulee-autoplot.md) [`autoplot(`*``*`)`](https://brulee.tidymodels.org/reference/brulee-autoplot.md) [`autoplot(`*``*`)`](https://brulee.tidymodels.org/reference/brulee-autoplot.md) [`autoplot(`*``*`)`](https://brulee.tidymodels.org/reference/brulee-autoplot.md) [`autoplot(`*``*`)`](https://brulee.tidymodels.org/reference/brulee-autoplot.md) : Plot model loss over epochs - [`coef(`*``*`)`](https://brulee.tidymodels.org/reference/brulee-coefs.md) [`coef(`*``*`)`](https://brulee.tidymodels.org/reference/brulee-coefs.md) [`coef(`*``*`)`](https://brulee.tidymodels.org/reference/brulee-coefs.md) [`coef(`*``*`)`](https://brulee.tidymodels.org/reference/brulee-coefs.md) [`coef(`*``*`)`](https://brulee.tidymodels.org/reference/brulee-coefs.md) [`coef(`*``*`)`](https://brulee.tidymodels.org/reference/brulee-coefs.md) : Extract Model Coefficients - [`brulee_activations()`](https://brulee.tidymodels.org/reference/brulee_activations.md) : Activation functions for neural networks in brulee - [`brulee_auto_int()`](https://brulee.tidymodels.org/reference/brulee_auto_int.md) : Fit AutoInt models for tabular data - [`brulee_chronos()`](https://brulee.tidymodels.org/reference/brulee_chronos.md) : Chronos-2 pretrained forecasting model - [`brulee_linear_reg()`](https://brulee.tidymodels.org/reference/brulee_linear_reg.md) : Fit a linear regression model - [`brulee_logistic_reg()`](https://brulee.tidymodels.org/reference/brulee_logistic_reg.md) : Fit a logistic regression model - [`brulee_mlp()`](https://brulee.tidymodels.org/reference/brulee_mlp.md) [`brulee_mlp_two_layer()`](https://brulee.tidymodels.org/reference/brulee_mlp.md) : Fit neural networks - [`brulee_multinomial_reg()`](https://brulee.tidymodels.org/reference/brulee_multinomial_reg.md) : Fit a multinomial regression model - [`brulee_resnet()`](https://brulee.tidymodels.org/reference/brulee_resnet.md) : Fit residual neural networks (ResNet) - [`brulee_rln()`](https://brulee.tidymodels.org/reference/brulee_rln.md) : Fit Regularization Learning Networks (RLN) - [`brulee_saint()`](https://brulee.tidymodels.org/reference/brulee_saint.md) : Fit SAINT models for tabular data - [`brulee_tab_icl()`](https://brulee.tidymodels.org/reference/brulee_tab_icl.md) : Fit a TabICL tabular foundation model - [`matrix_to_dataset()`](https://brulee.tidymodels.org/reference/matrix_to_dataset.md) : Convert data to torch format - [`predict(`*``*`)`](https://brulee.tidymodels.org/reference/predict.brulee_auto_int.md) : Predict from a `brulee_auto_int` - [`predict(`*``*`)`](https://brulee.tidymodels.org/reference/predict.brulee_chronos.md) : Predict from a `brulee_chronos` model - [`predict(`*``*`)`](https://brulee.tidymodels.org/reference/predict.brulee_linear_reg.md) : Predict from a `brulee_linear_reg` - [`predict(`*``*`)`](https://brulee.tidymodels.org/reference/predict.brulee_logistic_reg.md) : Predict from a `brulee_logistic_reg` - [`predict(`*``*`)`](https://brulee.tidymodels.org/reference/predict.brulee_mlp.md) : Predict from a `brulee_mlp` - [`predict(`*``*`)`](https://brulee.tidymodels.org/reference/predict.brulee_multinomial_reg.md) : Predict from a `brulee_multinomial_reg` - [`predict(`*``*`)`](https://brulee.tidymodels.org/reference/predict.brulee_resnet.md) : Predict from a `brulee_resnet` - [`predict(`*``*`)`](https://brulee.tidymodels.org/reference/predict.brulee_rln.md) : Predict from a `brulee_rln` - [`predict(`*``*`)`](https://brulee.tidymodels.org/reference/predict.brulee_saint.md) : Predict from a `brulee_saint` - [`predict(`*``*`)`](https://brulee.tidymodels.org/reference/predict.brulee_tab_icl.md) : Predict from a `brulee_tab_icl` - [`schedule_decay_time()`](https://brulee.tidymodels.org/reference/schedule_decay_time.md) [`schedule_decay_expo()`](https://brulee.tidymodels.org/reference/schedule_decay_time.md) [`schedule_step()`](https://brulee.tidymodels.org/reference/schedule_decay_time.md) [`schedule_cyclic()`](https://brulee.tidymodels.org/reference/schedule_decay_time.md) [`set_learn_rate()`](https://brulee.tidymodels.org/reference/schedule_decay_time.md) : Change the learning rate over time - [`summary(`*``*`)`](https://brulee.tidymodels.org/reference/summary.brulee.md) [`summary(`*``*`)`](https://brulee.tidymodels.org/reference/summary.brulee.md) [`summary(`*``*`)`](https://brulee.tidymodels.org/reference/summary.brulee.md) [`summary(`*``*`)`](https://brulee.tidymodels.org/reference/summary.brulee.md) [`summary(`*``*`)`](https://brulee.tidymodels.org/reference/summary.brulee.md) : Summarize the architecture of a brulee model - [`tab_icl_download_weights()`](https://brulee.tidymodels.org/reference/tab_icl_download_weights.md) [`tab_icl_weights_available()`](https://brulee.tidymodels.org/reference/tab_icl_download_weights.md) : Download and cache pretrained TabICL weights - [`training_efficiency`](https://brulee.tidymodels.org/reference/training_efficiency.md) : Training Efficiency