ker.score.classifier.holdout: RANKS held-out procedure for a single class

View source: R/RANKS.1.1.R

ker.score.classifier.holdoutR Documentation

RANKS held-out procedure for a single class

Description

Functions to perform an held-out procedure for a single class with a kernel-based score method

Usage

ker.score.classifier.holdout(K, ind.pos, ind.test, m = 5, p = 10, 
alpha = seq(from = 0.05, to = 0.6, by = 0.05), init.seed = 0, 
opt.fun = compute.F, fun = KNN.score, ...)
ker.score.holdout (K, ind.pos, ind.test, fun=KNN.score, ...)

Arguments

K

matrix. Kernel matrix or any valid symmetric matrix

ind.pos

indices of the positive examples of the training set. They are the indices the row of RW corresponding to positive examples of the training set

ind.test

indices of the examples of the test set. They are the indices the row of RW corresponding to examples of the test set

m

number of folds for the cross-validation on the training set

p

number of repeated cross-validations on the training set

alpha

vector of the quantiles to be tested

init.seed

nitial seed for the random generator (def: 0)

opt.fun

Function implementing the metric to select the optimal threshold. The F-score (compute.F) is the default. Available functions:

- compute.F: F-score (default)

- compute.acc:accuracy.

Any function having two arguments representing the vector of predicted and true labels can be in principle used.

fun

function. It must be a kernel-based score method (default KNN.score)

...

optional arguments for the function fun

Details

ker.score.classifier.holdout is a function to classify labels according to an hold-out procedure with a kernel-based score method. The optimal threshold for a given class is obtained by (possibly multiple) internal cross-validation on the training set. Scores of the held-out nodes are computed. Thresholds are computed on the training set by cross-validation and then are used to classify the held-out nodes in the test set. The optimal quantile and corresponding threshold are selected by internal cross-validation using the F-score as metrics. Note the test examples are given as indices of the rows of the input matrix.

ker.score.holdout provides a ranking according to an hold-out procedure with a kernel-based score method.

Value

ker.score.classifier.holdout returns a list with four components: A list with 4 components:

labels

vector of the predicted labels for the test set(1 represent positive, 0 negative)

av.scores

a vector with the scores computed on the test set. Elements of the vector av.scores correspond to ind.test rows of RW

opt.alpha

the optimal quantile alpha

opt.thresh

the optimal threshold

ker.score.holdout returns a vector of the predicted scores for the test set

See Also

rw.kernel-methods, Kernel functions, ker.score.classifier.cv

Examples

# Node label classification of the DrugBank category Penicillins
# on the Tanimoto chemical structure similarity network (1253 drugs)
# with eav-score with 1-step random walk kernel
# using held-out with 5-fold CV repeated 10 times on the training set 
# to set the "optimal" threshold for classifiaction
library(bionetdata);
data(DD.chem.data);
data(DrugBank.Cat);
labels <- DrugBank.Cat[,"Penicillins"];
ind.test <- 1:300;
ind.train <- 301:length(labels);
ind.pos <- which(labels==1);
ind.pos <- ind.pos[ind.pos>300];
K <- rw.kernel(DD.chem.data);
res <- ker.score.classifier.holdout(K, ind.pos, ind.test, m = 5, p = 10, fun = eav.score);

RANKS documentation built on Sept. 21, 2022, 9:06 a.m.