Random_c (methods.seeding.random_c)
Random C [Albright2006] is inexpensive initialization method for nonnegative
matrix factorization. It is inspired by the C matrix in of the CUR decomposition.
The Random C initialization is similar to the Random Vcol method (see
mod:methods.seeding.random_vcol) except it chooses p columns at random from
the longest (in 2-norm) columns in target matrix (V), which generally means the
most dense columns of target matrix.
Initialization of each column of basis matrix is done by averaging p random
columns of l longest columns of target matrix. Initialization
of mixture matrix is similar except for row operations.
-
class nimfa.methods.seeding.random_c.Random_c
Bases: object
-
initialize(V, rank, options)
Return initialized basis and mixture matrix. Initialized matrices are
of the same type as passed target matrix.
Parameters: |
- V (One of the scipy.sparse sparse matrices types or or
numpy.matrix) – Target matrix, the matrix for MF method to estimate.
- rank (int) – Factorization rank.
- options (dict) –
Specify the algorithm and model specific options (e.g. initialization of
extra matrix factor, seeding parameters).
Option p_c represents the number of columns of target matrix
used to average the column of basis matrix. Default
value for p_c is 1/5 * (target.shape[1]).
Option p_r represents the number of rows of target matrix used
to average the row of basis matrix. Default value for
p_r is 1/5 * (target.shape[0]).
Option l_c represents the first l_c columns of target matrix sorted
descending by length (2-norm). Default value for l_c is 1/2 * (target.shape[1]).
Option l_r represent first l_r rows of target matrix sorted
descending by length (2-norm). Default value for
l_r is 1/2 * (target.shape[0]).
|