Factory Method for NMFStrategy Objects
Creates NMFStrategy objects that wraps implementation of NMF algorithms into a unified interface.
NMFStrategy(name, method, ...) ## S4 method for signature 'NMFStrategy,matrix,NMFfit' run(object, y, x, ...) ## S4 method for signature 'NMFStrategy,matrix,NMF' run(object, y, x, ...) ## S4 method for signature 'NMFStrategyFunction,matrix,NMFfit' run(object, y, x, ...) ## S4 method for signature 'NMFStrategyIterative,matrix,NMFfit' run(object, y, x, .stop = NULL, maxIter = nmf.getOption("maxIter") %||% 2000, ...) ## S4 method for signature 'NMFStrategyIterativeX,matrix,NMFfit' run(object, y, x, maxIter, ...) ## S4 method for signature 'NMFStrategyOctave,matrix,NMFfit' run(object, y, x, ...)
name |
name/key of an NMF algorithm. |
method |
definition of the algorithm |
... |
extra arguments passed to |
.stop |
specification of a stopping criterion, that is used instead of the one associated to the NMF algorithm. It may be specified as:
|
maxIter |
maximum number of iterations to perform. |
object |
an object computed using some algorithm, or that describes an algorithm itself. |
y |
data object, e.g. a target matrix |
x |
a model object used as a starting point by the algorithm, e.g. a non-empty 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
.
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.
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.