from _api_doc_utils import *FTRL
Online-style follow-the-regularized-leader classifier
1 Where it fits
Group: Regression
FTRL is an online-style regularized classifier. The update combines adaptive learning rates with L1/L2 regularization, making it useful for sparse or streaming-style binary prediction problems.
The exposed class is deliberately simple: fit once on a design matrix and binary labels, then predict scores for new rows.
2 Python API
Constructor: cm.FTRL
Call FTRL(alpha, beta, l1_ratio, l2_ratio), then fit(x, y_int32). predict(x) returns scores in [0, 1]; summary() returns coefficient estimates and standard errors.
print(inspect.signature(cm.FTRL))(alpha=0.1, beta=1.0, l1_ratio=1.0, l2_ratio=1.0)
cls = cm.FTRL
display(HTML(html_table(["Public method"], public_methods(cls))))| Public method |
|---|
bootstrap(self, /, n_bootstrap, seed=None) |
fit(self, /, x, y) |
predict(self, /, x) |
summary(self, /) |
3 Minimal example
rng=np.random.default_rng(8)
x=rng.normal(size=(220,4)); p=1/(1+np.exp(-(x@np.array([.7,-.4,.2,.3])))); y=rng.binomial(1,p,size=220).astype(np.int32)
model=cm.FTRL(); model.fit(x,y)
print(model.summary()["coef"])
print(model.predict(x[:5]))[ 0.09565982 -0.09368399 0.08623364 0.07773544]
[0.45369145 0.44605938 0.50578946 0.48307955 0.441618 ]
4 summary() contract
The table below is generated by fitting the live class in this repository and then inspecting summary(). Shapes are shown because most values are plain NumPy arrays or scalars.
rng=np.random.default_rng(108); x=rng.normal(size=(100,4)); y=rng.binomial(1,.5,size=100).astype(np.int32)
model=cm.FTRL(); model.fit(x,y)
summary = model.summary()
display(HTML(html_table(["summary() key", "shape"], summary_shape_rows(summary))))| summary() key | shape |
|---|---|
coef |
(4,) |
coef_se |
(4,) |