Learn R Programming

FTRL Proximal

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).

Installation

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")

Usage

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.

Changelog

0.2

  • Changed from using explicit lambda1 and lambda2 parameters to using lambda and mixing parameter alpha.

Copy Link

Version

Install

install.packages('FTRLProximal')

Monthly Downloads

4

Version

0.3.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Vilhelm von Ehrenheim

Last Published

January 3rd, 2017

Functions in FTRLProximal (0.3.0)

predict.ftrlprox

Predict function for FTRLProx models
ftrlprox

FTRL Proximal
coef.ftrlprox

coef.ftrlprox
print.ftrlprox

Print a ftrlprox model
update.ftrlprox

Update FTRL Proximal model
ftrlprox.default

FTRL Proximal for matrix class
ftrlprox.formula

FTRL Proximal formula
initialize.ftrlprox

Initialize empty FTRL Proximal class