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 = 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.