NMF (version 0.20.6)

summary: Assessing and Comparing NMF Models

Description

The NMF package defines summary methods for different classes of objects, which helps assessing and comparing the quality of NMF models by computing a set of quantitative measures, e.g. with respect to their ability to recover known classes and/or the original target matrix.

The most useful methods are for classes NMF, NMFfit, NMFfitX and NMFList, which compute summary measures for, respectively, a single NMF model, a single fit, a multiple-run fit and a list of heterogenous fits performed with the function nmf.

Usage

summary(object, ...)
"summary"(object, class, target)

Arguments

object
an NMF object. See available methods in section Methods.
...
extra arguments passed to the next summary method.
class
known classes/cluster of samples specified in one of the formats that is supported by the functions entropy and purity.
target
target matrix specified in one of the formats supported by the functions rss and evar

Methods

summary
signature(object = "NMF"): Computes summary measures for a single NMF model. The following measures are computed:
sparseness
Sparseness of the factorization computed by the function sparseness.
entropy
Purity of the clustering, with respect to known classes, computed by the function purity.
entropy
Entropy of the clustering, with respect to known classes, computed by the function entropy.
RSS
Residual Sum of Squares computed by the function rss.
evar
Explained variance computed by the function evar.
summary
signature(object = "NMFfit"): Computes summary measures for a single fit from nmf. This method adds the following measures to the measures computed by the method summary,NMF:
residuals
Residual error as measured by the objective function associated to the algorithm used to fit the model.
niter
Number of iterations performed to achieve convergence of the algorithm.
cpu
Total CPU time required for the fit.
cpu.all
Total CPU time required for the fit. For NMFfit objects, this element is always equal to the value in “cpu”, but will be different for multiple-run fits.
nrun
Number of runs performed to fit the model. This is always equal to 1 for NMFfit objects, but will vary for multiple-run fits.
summary
signature(object = "NMFfitX"): Computes a set of measures to help evaluate the quality of the best fit of the set. The result is similar to the result from the summary method of NMFfit objects. See NMF for details on the computed measures. In addition, the cophenetic correlation (cophcor) and dispersion coefficients of the consensus matrix are returned, as well as the total CPU time (runtime.all).

Details

Due to the somehow hierarchical structure of the classes mentionned in Description, their respective summary methods call each other in chain, each super-class adding some extra measures, only relevant for objects of a specific class.

Examples

Run this code


#----------
# summary,NMF-method
#----------
# random NMF model
x <- rnmf(3, 20, 12)
summary(x)
summary(x, gl(3, 4))
summary(x, target=rmatrix(x))
summary(x, gl(3,4), target=rmatrix(x))

#----------
# summary,NMFfit-method
#----------
# generate a synthetic dataset with known classes: 50 features, 18 samples (5+5+8)
n <- 50; counts <- c(5, 5, 8);
V <- syntheticNMF(n, counts)
cl <- unlist(mapply(rep, 1:3, counts))

# perform default NMF with rank=2
x2 <- nmf(V, 2)
summary(x2, cl, V)
# perform default NMF with rank=2
x3 <- nmf(V, 3)
summary(x2, cl, V)

Run the code above in your browser using DataLab