Creates NMFStrategy objects that wraps implementation of NMF algorithms into a unified interface.
NMFStrategy(name, method, ...) S4 (NMFStrategy,matrix,NMFfit) `run`(object, y, x, ...) S4 (NMFStrategy,matrix,NMF) `run`(object, y, x, ...) S4 (NMFStrategyFunction,matrix,NMFfit) `run`(object, y, x, ...) S4 (NMFStrategyIterative,matrix,NMFfit) `run`(object, y, x, .stop = NULL, maxIter = nmf.getOption("maxIter") %||% 2000, ...) S4 (NMFStrategyIterativeX,matrix,NMFfit) `run`(object, y, x, maxIter, ...) S4 (NMFStrategyOctave,matrix,NMFfit) `run`(object, y, x, ...)
new
.maxIter
.
nmf.stop.stationary
;
(object="NMFStrategy", i="integer", y="matrix", x="NMF", ...)
,
where object
is the NMFStrategy
object that describes the algorithm being run,
i
is the current iteration, y
is the target matrix and x
is the current value of
the NMF model.
signature(name = "character", method = "function")
: Creates an NMFStrategyFunction
object that wraps the function method
into a unified interface.
method
must be a function with signature (y="matrix", x="NMFfit", ...)
,
and return an object of class NMFfit-class
.
signature(name = "character", method = "NMFStrategy")
: Creates an NMFStrategy
object based on a template object (Constructor-Copy).
signature(name = "NMFStrategy", method = "missing")
: Creates an NMFStrategy
based on a template object (Constructor-Copy),
in particular it uses the same name.
signature(name = "missing", method = "character")
: Creates an NMFStrategy
based on a registered NMF algorithm that is used
as a template (Constructor-Copy), in particular it uses the same name.
It is a shortcut for NMFStrategy(nmfAlgorithm(method, exact=TRUE), ...)
.
signature(name = "NULL", method = "NMFStrategy")
: Creates an NMFStrategy
based on a template object (Constructor-Copy)
but using a randomly generated name.
signature(name = "character", method = "character")
: Creates an NMFStrategy
based on a registered NMF algorithm that is used
as a template.
signature(name = "NULL", method = "character")
: Creates an NMFStrategy
based on a registered NMF algorithm (Constructor-Copy)
using a randomly generated name.
It is a shortcut for NMFStrategy(NULL, nmfAlgorithm(method), ...)
.
signature(name = "character", method = "missing")
: Creates an NMFStrategy, determining its type from the extra arguments passed
in ...
: if there is an argument named Update
then an
NMFStrategyIterative
is created, or if there is an argument
named algorithm
then an NMFStrategyFunction
is created.
Calls other than these generates an error.
signature(object = "NMFStrategy", y = "matrix", x = "NMFfit")
: Pure virtual method defined for all NMF algorithms to ensure
that a method run
is defined by sub-classes of NMFStrategy
.
It throws an error if called directly.
signature(object = "NMFStrategy", y = "matrix", x = "NMF")
: Method to run an NMF algorithm directly starting from a given NMF model.
signature(object = "NMFStrategyFunction", y = "matrix", x = "NMFfit")
: Runs the NMF algorithms implemented by the single R function -- and stored in slot 'algorithm'
of object
, on the data object y
, using x
as starting point.
It is equivalent to calling object@algorithm(y, x, ...)
.
This method is usually not called directly, but only via the function nmf
, which
takes care of many other details such as seeding the computation, handling RNG settings, or setting up
parallelisation.
signature(object = "NMFStrategyIterative", y = "matrix", x = "NMFfit")
: Runs an NMF iterative algorithm on a target matrix y
.
signature(object = "NMFStrategyOctave", y = "matrix", x = "NMFfit")
: Runs the NMF algorithms implemented by the Octave/Matlab function associated with the
strategy -- and stored in slot 'algorithm'
of object
.
This method is usually not called directly, but only via the function nmf
, which
takes care of many other details such as seeding the computation, handling RNG settings,
or setting up parallel computations.