<dependencies>
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-math</artifactId>
<version>0.13.0</version>
</dependency>
</dependencies>
import org.apache.mahout.math.DenseMatrix;
import org.apache.mahout.math.RandomAccessSparseVector;
import org.apache.mahout.math.SparseMatrix;
import org.apache.mahout.math.Vector;
import org.apache.mahout.math.decomposer.SingularValueDecomposition;
public class RecommenderSystem {
public static void main(String[] args) {
Vector user1 = new RandomAccessSparseVector(3);
user1.setQuick(0, 3.5);
user1.setQuick(1, 4.0);
user1.setQuick(2, 5.0);
Vector user2 = new RandomAccessSparseVector(3);
user2.setQuick(0, 2.5);
user2.setQuick(1, 4.5);
user2.setQuick(2, 3.0);
Vector user3 = new RandomAccessSparseVector(3);
user3.setQuick(0, 4.0);
user3.setQuick(1, 3.0);
user3.setQuick(2, 4.5);
Matrix ratingsMatrix = new SparseMatrix(new Vector[]{user1, user2, user3});
SingularValueDecomposition decomposition = new SingularValueDecomposition(ratingsMatrix, 2, false, true, 0.01);
Matrix userMatrix = decomposition.getUserMatrix();
for (int i = 0; i < userMatrix.numRows(); i++) {
Vector user = userMatrix.viewRow(i);
}
}
}