public abstract class AbstractSvd extends Object implements MatrixFactorization
Matrix
data members
corresponding to the U,S,and V matrices resulting from the SVD. It also
automatically computes U*S when calling dataClasses
and S*Vt when
calling classFeatures
, both of which are done lazily and then cached
so that the multiplication is done only once.
Subclasses need only implement MatrixFactorization.factorize(MatrixFile, int)
and factorization(SparseMatrix, int)
, and MatrixFactorization.getBuilder()
.Modifier and Type | Field and Description |
---|---|
protected Matrix |
classFeatures
The class by feature type matrix.
|
protected Matrix |
dataClasses
The data point by class matrix.
|
protected boolean |
scaledClassFeatures
Set to true when
classFeatures has been accessed the first time
to mark that the singular values have been applied to each value in the
matrix. |
protected boolean |
scaledDataClasses
Set to true when
dataClasses has been accessed the first time to
mark that the singular values have been applied to each value in the
matrix. |
protected double[] |
singularValues
The singular values computed during factorization.
|
Constructor and Description |
---|
AbstractSvd() |
Modifier and Type | Method and Description |
---|---|
Matrix |
classFeatures()
Returns the latent class by feature
Matrix . |
Matrix |
dataClasses()
Returns the data point by latent class
Matrix . |
double[] |
singularValues()
Returns a double array of the singular values.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
factorize, factorize, getBuilder
protected Matrix classFeatures
protected boolean scaledClassFeatures
classFeatures
has been accessed the first time
to mark that the singular values have been applied to each value in the
matrix.protected Matrix dataClasses
protected boolean scaledDataClasses
dataClasses
has been accessed the first time to
mark that the singular values have been applied to each value in the
matrix.protected double[] singularValues
public Matrix dataClasses()
Matrix
. This matrix
represents the degree by which each data point can be explained by the
discovered latent classes. Actual interpretations of the latent classes
depends on the actual algorithm used. This Matrix
can be used as
a reduced representation of the data points themselves.dataClasses
in interface MatrixFactorization
public Matrix classFeatures()
Matrix
. This matrix
represents the degree by which each feature affects each latent class.
Actual interpretations of this interaction depends on the actual
algorithm used. This Matrix
can be used as a reduced
representation of the features.classFeatures
in interface MatrixFactorization
public double[] singularValues()
Copyright © 2012. All Rights Reserved.