this.maxIterations = maxIterations;
}
public void seed(DoubleMatrix2D A, DoubleMatrix2D U, DoubleMatrix2D V)
{
KMeansMatrixFactorization kMeansMatrixFactorization = new KMeansMatrixFactorization(
A);
kMeansMatrixFactorization.setK(U.columns());
kMeansMatrixFactorization.setMaxIterations(maxIterations);
kMeansMatrixFactorization.compute();
U.assign(kMeansMatrixFactorization.getU());
for (int r = 0; r < U.rows(); r++)
{
for (int c = 0; c < U.columns(); c++)
{
if (U.getQuick(r, c) < 0.001)
{
U.setQuick(r, c, 0.05);
}
}
}
V.assign(kMeansMatrixFactorization.getV());
for (int r = 0; r < V.rows(); r++)
{
for (int c = 0; c < V.columns(); c++)
{
if (V.getQuick(r, c) == 0)