package librec.undefined; import java.util.List; import librec.data.DenseMatrix; import librec.data.DenseVector; import librec.data.SparseMatrix; import librec.intf.IterativeRecommender; /** * Pan and Chen, CoFiSet: Collaborative Filtering via Learning Pairwise * Preferences over Item-sets, SDM 2013. * * @author guoguibing * */ public class CoFiSet extends IterativeRecommender { public CoFiSet(SparseMatrix trainMatrix, SparseMatrix testMatrix, int fold) { super(trainMatrix, testMatrix, fold); isRankingPred = true; } @Override protected void initModel() throws Exception { super.initModel(); itemBias = new DenseVector(numItems); itemBias.init(0.01); } @Override protected void buildModel() throws Exception { // outer loop for (int iter = 1; iter < numIters; iter++) { // inner loop for (int t = 0; t < numUsers; t++) { } } } @Override protected double predict(int u, int j) { return itemBias.get(j) + DenseMatrix.rowMult(P, u, Q, j); } protected double predict(int u, List<Integer> items) { double sum = 0; for (int j : items) { sum += predict(u, j); } return sum / items.size(); } }