Learn R Programming

rFTRLProximal (version 1.0.0)

FTRLProx_train: FTRL-Proximal Linear Model Training

Description

An advanced interface for training FTRL-Proximal online learning model.

Usage

FTRLProx_train(x, y, family = c("gaussian", "binomial", "poisson"), params = list(alpha = 0.1, beta = 1, l1 = 1, l2 = 1), epoch = 1, bagging_seeds = NULL, verbose = TRUE)

Arguments

x
a transposed dgCMatrix.
y
a vector containing labels.
family
link function to be used in the model. "gaussian", "binomial" and "poisson" are avaliable.
params
a list of parameters of FTRL-Proximal Algorithm.
  • alpha alpha in the per-coordinate learning rate
  • beta beta in the per-coordinate learning rate
  • l1 L1 regularization parameter
  • l2 L2 regularization parameter
epoch
The number of iterations over training data to train the model.
bagging_seeds
a vector containing random seeds for shuffling data. If provided, use parallel foreach to fit each model. Must register parallel before hand, such as doParallel or others.
verbose
logical value. Indicating if the progress bar is displayed or not.

Value

a FTRL-Proximal linear model object

References

H. B. McMahan, G. Holt, D. Sculley, et al. "Ad click prediction: a view from the trenches". In: _The 19th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD 2013, Chicago, IL, USA, August 11-14, 2013_. Ed. by I. S.Dhillon, Y. Koren, R. Ghani, T. E. Senator, P. Bradley, R. Parekh, J. He, R. L. Grossman and R. Uthurusamy. ACM, 2013, pp. 1222-1230. DOI: 10.1145/2487575.2488200. http://doi.acm.org/10.1145/2487575.2488200>.

Examples

Run this code
library(data.table)
library(FeatureHashing)
library(MLmetrics)
data(ipinyou)
m.train <- FTRLProx_Hashing(~ 0 + ., ipinyou.train[, -"IsClick", with = FALSE],
                            hash.size = 2^13, signed.hash = FALSE, verbose = TRUE)
m.test <- FTRLProx_Hashing(~ 0 + ., ipinyou.test[,-"IsClick", with = FALSE],
                           hash.size = 2^13, signed.hash = FALSE, verbose = TRUE)
ftrl_model <- FTRLProx_train(m.train, y = as.numeric(ipinyou.train$IsClick),
                             family = "binomial",
                             params = list(alpha = 0.01, beta = 0.1, l1 = 1.0, l2 = 1.0),
                             epoch = 10, verbose = TRUE)
ftrl_model_bagging <- FTRLProx_train(m.train, y = as.numeric(ipinyou.train$IsClick),
                                     family = "binomial",
                                     params = list(alpha = 0.01, beta = 0.1, l1 = 1.0, l2 = 1.0),
                                     epoch = 10, bagging_seeds = 1:10, verbose = FALSE)
pred_ftrl <- FTRLProx_predict(ftrl_model, newx = m.test)
pred_ftrl_bagging <- FTRLProx_predict(ftrl_model_bagging, newx = m.test)
AUC(pred_ftrl, as.numeric(ipinyou.test$IsClick))
AUC(pred_ftrl_bagging, as.numeric(ipinyou.test$IsClick))

Run the code above in your browser using DataLab