es.uam.eps.ir.ranksys.mf.Factorizer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of RankSys-mf Show documentation
Show all versions of RankSys-mf Show documentation
RankSys module, providing matrix factorization recommendation algorithms.
The newest version!
/*
* Copyright (C) 2015 Information Retrieval Group at Universidad Autónoma
* de Madrid, http://ir.ii.uam.es
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package es.uam.eps.ir.ranksys.mf;
import es.uam.eps.ir.ranksys.fast.preference.FastPreferenceData;
/**
* Factorizer. Abstract class for matrix factorization algorithms.
*
* @author Saúl Vargas ([email protected])
*
* @param type of the users
* @param type of the items
*/
public abstract class Factorizer {
/**
* Global loss of the factorization.
*
* @param factorization matrix factorization
* @param data preference data
* @return the global loss
*/
public abstract double error(Factorization factorization, FastPreferenceData data);
/**
* Creates and calculates a factorization.
*
* @param K size of the latent feature space.
* @param data preference data
* @return a matrix factorization
*/
public abstract Factorization factorize(int K, FastPreferenceData data);
/**
* Calculates the factorization by using a previously generate matrix
* factorization.
*
* @param factorization matrix factorization
* @param data preference data
*/
public abstract void factorize(Factorization factorization, FastPreferenceData data);
}