Assessing and Comparing NMF Models
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
The most useful methods are for classes
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
1 2 3 4
an NMF object. See available methods in section Methods.
extra arguments passed to the next
known classes/cluster of samples specified
in one of the formats that is supported by the functions
target matrix specified in one of the
formats supported by the functions
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.
signature(object = "NMF"): Computes summary measures for a single NMF model.
The following measures are computed:
Sparseness of the factorization computed by the function
Purity of the clustering, with respect to known classes, computed by the function
Entropy of the clustering, with respect to known classes, computed by the function
Residual Sum of Squares computed by the function
Explained variance computed by the function
signature(object = "NMFfit"): Computes summary measures for a single fit from
This method adds the following measures to the measures computed by the method
Residual error as measured by the objective function associated to the algorithm used to fit the model.
Number of iterations performed to achieve convergence of the algorithm.
Total CPU time required for the fit.
Total CPU time required for the fit. For
NMFfitobjects, this element is always equal to the value in “cpu”, but will be different for multiple-run fits.
Number of runs performed to fit the model. This is always equal to 1 for
NMFfitobjects, but will vary for multiple-run fits.
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
NMFfor details on the computed measures. In addition, the cophenetic correlation (
dispersioncoefficients of the consensus matrix are returned, as well as the total CPU time (
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
#---------- # 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)
Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.