Train a model by Stochastic Gradient Descent using sgd::sgd
s.SGD(x, y = NULL, x.test = NULL, y.test = NULL, x.name = NULL,
y.name = NULL, model = NULL, model.control = list(lambda1 = 0,
lambda2 = 0), sgd.control = list(method = "ai-sgd"),
print.plot = TRUE, plot.fitted = NULL, plot.predicted = NULL,
plot.theme = getOption("rt.fit.theme", "lightgrid"), question = NULL,
verbose = TRUE, outdir = NULL, save.mod = ifelse(!is.null(outdir),
TRUE, FALSE), ...)
Numeric vector or matrix / data frame of features i.e. independent variables
Numeric vector of outcome, i.e. dependent variable
Numeric vector or matrix / data frame of testing set features
Columns must correspond to columns in x
Numeric vector of testing set outcome
Character: Name for feature set
Character: Name for outcome
character specifying the model to be used: "lm"
(linear
model), "glm"
(generalized linear model), "cox"
(Cox
proportional hazards model), "gmm"
(generalized method of moments),
"m"
(M-estimation). See ‘Details’.
a list of parameters for controlling the model.
family
("glm"
)a description of the error distribution and
link function to be used in the model. This can be a character string
naming a family function, a family function or the result of a call to
a family function. (See family
for details of
family functions.)
rank
("glm"
)logical. Should the rank of the design matrix be checked?
fn
("gmm"
)a function \(g(\theta,x)\) which returns a
\(k\)-vector corresponding to the \(k\) moment conditions. It is a
required argument if gr
not specified.
gr
("gmm"
)a function to return the gradient. If unspecified, a finite-difference approximation will be used.
nparams
("gmm"
)number of model parameters. This is automatically determined for other models.
type
("gmm"
)character specifying the generalized method of
moments procedure: "twostep"
(Hansen, 1982), "iterative"
(Hansen et al., 1996). Defaults to "iterative"
.
wmatrix
("gmm"
)weighting matrix to be used in the loss function. Defaults to the identity matrix.
loss
("m"
)character specifying the loss function to be used in the estimating equation. Default is the Huber loss.
lambda1
L1 regularization parameter. Default is 0.
lambda2
L2 regularization parameter. Default is 0.
an optional list of parameters for controlling the estimation.
method
character specifying the method to be used: "sgd"
,
"implicit"
, "asgd"
, "ai-sgd"
, "momentum"
,
"nesterov"
. Default is "ai-sgd"
. See ‘Details’.
lr
character specifying the learning rate to be used:
"one-dim"
, "one-dim-eigen"
, "d-dim"
,
"adagrad"
, "rmsprop"
. Default is "one-dim"
.
See ‘Details’.
lr.control
vector of scalar hyperparameters one can
set dependent on the learning rate. For hyperparameters aimed
to be left as default, specify NA
in the corresponding
entries. See ‘Details’.
start
starting values for the parameter estimates. Default is random initialization around zero.
size
number of SGD estimates to store for diagnostic purposes (distributed log-uniformly over total number of iterations)
reltol
relative convergence tolerance. The algorithm stops
if it is unable to change the relative mean squared difference in the
parameters by more than the amount. Default is 1e-05
.
npasses
the maximum number of passes over the data. Default is 3.
pass
logical. Should tol
be ignored and run the
algorithm for all of npasses
?
shuffle
logical. Should the algorithm shuffle the data set including for each pass?
verbose
logical. Should the algorithm print progress?
Logical: if TRUE, produce plot using mplot3
Takes precedence over plot.fitted
and plot.predicted
Logical: if TRUE, plot True (y) vs Fitted
Logical: if TRUE, plot True (y.test) vs Predicted.
Requires x.test
and y.test
String: "zero", "dark", "box", "darkbox"
String: the question you are attempting to answer with this model, in plain language.
Logical: If TRUE, print summary to screen.
Path to output directory.
If defined, will save Predicted vs. True plot, if available,
as well as full model output, if save.mod
is TRUE
Logical. If TRUE, save all output as RDS file in outdir
save.mod
is TRUE by default if an outdir
is defined. If set to TRUE, and no outdir
is defined, outdir defaults to paste0("./s.", mod.name)
Additional arguments to be passed to sgd.control
Object of class rtemis
From sgd::sgd
:
"Models: The Cox model assumes that the survival data is ordered when passed in, i.e.,
such that the risk set of an observation i is all data points after it."
elevate for external cross-validation
Other Supervised Learning: s.ADABOOST
,
s.ADDTREE
, s.BART
,
s.BAYESGLM
, s.BRUTO
,
s.C50
, s.CART
,
s.CTREE
, s.DA
,
s.ET
, s.EVTREE
,
s.GAM.default
, s.GAM.formula
,
s.GAMSEL
, s.GAM
,
s.GBM3
, s.GBM
,
s.GLMNET
, s.GLM
,
s.GLS
, s.H2ODL
,
s.H2OGBM
, s.H2ORF
,
s.IRF
, s.KNN
,
s.LDA
, s.LM
,
s.MARS
, s.MLRF
,
s.MXN
, s.NBAYES
,
s.NLA
, s.NLS
,
s.NW
, s.POLYMARS
,
s.PPR
, s.PPTREE
,
s.QDA
, s.QRNN
,
s.RANGER
, s.RFSRC
,
s.RF
, s.SPLS
,
s.SVM
, s.TFN
,
s.XGBLIN
, s.XGB