This is an R package of the FTRL Proximal algorithm for online learning of elastic net logistic regression models.
For more info on the algorithm please see Ad Click Prediction: a View from the Trenches by McMahan et al. (2013).
Easiest way to install is from within R
using the latest CRAN version:
install.packages("FTRLProximal")
If you want the latest build from git you can install it directly from github using devtools
:
devtools::install_github("while/FTRLProximal")
Simplest use case is to use the model similar to normal glm with a model formula.
# Set up dataset
p <- mlbench::mlbench.2dnormals(100,2)
dat <- as.data.frame(p)
# Train model
mdl <- ftrlprox(classes ~ ., dat, lambda = 1e-2, alpha = 1, a = 0.3)
# Print resulting coeffs
print(mdl)
It is also possible to update the trained model object once it is trained.
# Set up first dataset
p <- mlbench.2dnormals(100,2)
dat <- as.data.frame(p)
# Convert data.frame to model.matrix
X <- model.matrix(classes ~ ., dat)
# Train on first dataset
mdl <- ftrlprox(X, dat$classes, lambda = 1e-2, alpha = 1, a = 0.3)
# Generate more of the same data after the first training session
p <- mlbench.2dnormals(100,2)
dat <- as.data.frame(p)
# Update model using the new data.
mdl <- update(mdl, X, dat$classes)
For more example please see the documentation.
- Added prediction type "class".
- Changed from using explicit
lambda1
andlambda2
parameters to usinglambda
and mixing parameteralpha
.