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 multiplerun fit and a list of heterogenous fits
performed with the function nmf
.
1 2 3 4 
object 
an NMF object. See available methods in section Methods. 
... 
extra arguments passed to the next

class 
known classes/cluster of samples specified
in one of the formats that is supported by the functions

target 
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
superclass 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
sparseness
.
Purity of the
clustering, with respect to known classes, computed by
the function purity
.
Entropy of the clustering, with respect to
known classes, computed by the function
entropy
.
Residual Sum of
Squares computed by the function rss
.
Explained variance computed by the function
evar
.
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
:
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
NMFfit
objects, this element is always equal to
the value in “cpu”, but will be different for
multiplerun fits.
Number of runs performed
to fit the model. This is always equal to 1 for
NMFfit
objects, but will vary for multiplerun
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 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
).
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,NMFmethod
#
# 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,NMFfitmethod
#
# 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)

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
Please suggest features or report bugs with the GitHub issue tracker.
All documentation is copyright its authors; we didn't write any of that.