Learn R Programming

aucm (version 2016.1-2)

dcsauc: AUC optimization with DCA

Description

optimizes SAUC using a smoothed DCA algorithm.

Usage

dcsauc (formula, data, ...) srauc (formula, data, ...) auc.dca (formula, data, type="srauc", kernel="linear", para=NULL, lambda=.1, zeta=.1, b=10, s=1, epsilon=1e-3, method="tron", decomposition=TRUE, dca.control =  list(maxit=1e3, abstol=1e-5, coef.init=NULL, lincomb.init=NULL), tron.control = list(q=50, maxfev=1e3, gtol=1e-2, frtol=1e-12, K.thresh=1, verbose=0), return.K=FALSE, verbose = FALSE )

Arguments

formula
formula, e.g. y~x1+x2
data
a data frame
type
string. Either srauc or dcsauc
kernel
See getK for more details
para
See getK for more details
lambda
scale parameter of the penalty function, defaults to 1
zeta
parameter (->0+) in writing sigmoid function as differene of two convex functions.
b
'decay rate' parameter in sigmoid function $1/(exp(bx))$
s
the parameter in rauc
epsilon
the parameter in the approximation of a hinge function
method
the optimizer to use, "tron", or an optim method
decomposition
Boolean. If TRUE, decomposition strategy is used if tron is the method
dca.control
list of control parameters for the DCA algorithm
tron.control
list of control parameters to 'tron' optimizer
return.K
logical, whether to return the Kernel matrix
verbose
logical, whether to print info as alg. progresses
...
parameters passed to auc.dca

Details

dcsauc and srauc pass directly to auc.dca with the name-sake type.

Examples

Run this code
#
#
#dat = sim.dat.1(n=100,seed=1)
#dat.test = sim.dat.1(n=1e3,seed=1000)
#
#t.1 = system.time({
#    fit.1=sauc.dca(y~x1+x2, dat, zeta=.1)
#})
#
#t.2 = system.time({
#    fit.2=sauc.dca(y~x1+x2, dat, zeta=1)
#})
#
## compare time
#rbind(t.1, t.2)[,3]
#
## compare performance
#RUnit::checkEqualsNumeric(
#    c(fit.1$train.auc, fit.2$train.auc)
#, c(0.7291917, 0.7282913), tolerance=1e-6)
#



Run the code above in your browser using DataLab