class NMFactorization extends Reducer
The NMFactorization
class factors a matrix 'x' into two non negative matrices
'w' and 'h' such that 'x = wh' approximately.
- See also
en.wikipedia.org/wiki/Non-negative_matrix_factorization
- Alphabetic
- By Inheritance
- NMFactorization
- Reducer
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
NMFactorization(x: MatriD, loops: Int = 10, r: Int = 0)
- x
the matrix to be factored
- loops
the number of iterations before checking the termination condition
- r
factor the m-by-n matrix 'x' in to two factors: an m-by-r and r-by-n matrix
Value Members
-
def
factorReduce(): (MatrixD, MatrixD)
Factor and reduce the original matrix 'x' into left 'w' and right 'h' matrices by iteratively calling the 'update' method until the difference between 'x' and its reduced approximation 'xr = w * h' is sufficiently small.
Factor and reduce the original matrix 'x' into left 'w' and right 'h' matrices by iteratively calling the 'update' method until the difference between 'x' and its reduced approximation 'xr = w * h' is sufficiently small.
- Definition Classes
- NMFactorization → Reducer
- var r: Int
-
def
recover(): MatriD
Approximately recover the original matrix.
Approximately recover the original matrix. The new matrix will have the same dimensionality, but will have some lose of information.
- Definition Classes
- NMFactorization → Reducer
-
def
reduce(): MatriD
Reduce the original data matrix by producing a lower dimensionality matrix that maintains most of the descriptive power of the original matrix.
Reduce the original data matrix by producing a lower dimensionality matrix that maintains most of the descriptive power of the original matrix.
- Definition Classes
- NMFactorization → Reducer