accuracy: Accuracy Measures Fort Predicted Responses

Description Usage Arguments Details Value Author(s) See Also Examples

View source: R/accuracy.R

Description

This function computes accuracy measures for predicted numerical or binary responses.

Usage

1
assessModel(pred, obs, type=c("linear","logit"), verbose=TRUE, prednames=NULL)

Arguments

pred

Vector or matrix of predicted responses. Each column corresponds to a different lambda value

obs

Vector or observed binary responses

type

Type of prediction model

verbose

logical, defaults to TRUE

prednames

Optional vector of names for the different sets of predictions

Details

For linear regression, the function simply returns the root mean square error (RMSE) of the predicted responses. For logistic regression, the function computes the negative log-likelihood using the original vector pred whose values should be in $(0,1)$ (soft classification). For the purpose of hard classification, the function also converts this vector to binary values and computes the following classification measures: sensitivity a.k.a. true positive rate (TP/(TP+FN)), specificity a.k.a. true negative rate (TN/(FP+TN)), accuracy (TP+TN)/(TP+TN+FP+FN), and precision a.k.a. positive predictive value (TP/(TP+FP)). Two cutoff values are considered for the binary conversion: 0.5 and the proportion of 1's in obs.

Value

If type="linear", the RMSE of the predictions.
If type="logit", a list with components

prior

proportion of 1's in obs

ll

negative log-likelihoods

classif

classification measures for the cutoff value 0.5

classif.adj

classification measures for the adjusted cutoff value prior

Author(s)

David Degras

See Also

creSGL, predictSGL, runPredictions

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
n = 50; p = 100; size.groups = 10
index <- ceiling(1:p / size.groups)
X = matrix(rnorm(n * p), ncol = p, nrow = n)
beta = (-2:2)
y = X[,1:5] %*% beta + 0.1*rnorm(n)
y = ifelse((exp(y) / (1 + exp(y))) > 0.5, 1, 0)
data = list(x = X, y = y)
weights = rep(1, size.groups)
fit = creSGL(data, index, weights, type = "linear", maxit = 1000, thresh = 0.001, 
	min.frac = 0.05, nlam = 100, gamma = 0.8, standardize = TRUE, verbose = FALSE, 
	step = 1, reset = 10, alpha = 0.05, lambdas = NULL)

pred = predict(Fit, X, 5)
prednames = substr(fit$lambdas,1,4)
accuracy(pred, y, type="logit", prednames=prednames)

kouroshz/creNet documentation built on Aug. 4, 2017, 4:13 a.m.