embed
is a package that contains extra steps for the recipes
package for embedding categorical predictors into one or more numeric columns. All of the preprocessing methods are supervised.
These steps are contained in a separate package because the package dependencies, rstanarm
and keras
, are fairly heavy.
The steps included are:
-
step_embed
estimates the effect of each of the factor levels on the outcome and these estimates are used as the new encoding. The estimates are estimated by a generalized linear model. This step can be executed without pooling (viaglm
) or with partial pooling (stan_glm
). Currently implemented for numeric and two-class outcomes. -
step_tfembed
useskeras::layer_embedding
to translate the original C factor levels into a set of D new variables (< C). The model fitting routine optimizes which factor levels are mapped to each of the new variables as well as the corresponding regression coefficients (i.e., neural network weights) that will be used as the new encodings.
Some references for these methods are:
- Francois C and Allaire JJ (2018) Deep Learning with R, Manning
- Guo, C and Berkhahn F (2016) "Entity Embeddings of Categorical Variables"
- Zumel N and Mount J (2017) "
vtreat
: adata.frame
Processor for Predictive Modeling"
To install it, use:
require("devtools")
install_github("topepo/embed")