|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectprea.recommender.etc.FastNPCA
public class FastNPCA
This is a class implementing Fast Nonparametric Principal Component Analysis (NPCA). Technical detail of the algorithm can be found in Kai Yu et al, Fast Nonparametric Matrix Factorization for Large-scale Collaborative Filtering, Proceedings of the 32nd international ACM SIGIR conference on Research and development in information retrieval, 2009.
Field Summary | |
---|---|
int |
itemCount
The number of items. |
private SparseMatrix |
K
|
int |
maxIter
Maximum number of iteration. |
double |
maxValue
Maximum value of rating, existing in the dataset. |
double |
minValue
Minimum value of rating, existing in the dataset. |
private SparseVector |
mu
|
SparseMatrix |
rateMatrix
Rating matrix for each user (row) and item (column) |
boolean |
showProgress
Indicator whether to show progress of iteration. |
int |
userCount
The number of users. |
private SparseMatrix |
validationMatrix
Rating matrix for items which will be used during the validation phase. |
double |
validationRatio
Proportion of dataset, using for validation purpose. |
Constructor Summary | |
---|---|
FastNPCA(int uc,
int ic,
double max,
double min,
double vr,
int iter)
Construct a Fast NPCA model with the given data. |
Method Summary | |
---|---|
void |
buildModel(SparseMatrix rm)
Build a model with the given data and algorithm. |
EvaluationMetrics |
evaluate(SparseMatrix testMatrix)
Evaluate the designated algorithm with the given test data. |
private SparseVector |
getEstimation(int u,
int[] testItems)
Estimate of ratings for a given user and a set of test items. |
private void |
makeValidationSet(double validationRatio)
Items which will be used for validation purpose are moved from rateMatrix to validationMatrix. |
private void |
restoreValidationSet()
Items in validationMatrix are moved to original rateMatrix. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public SparseMatrix rateMatrix
private SparseMatrix validationMatrix
public int userCount
public int itemCount
public double maxValue
public double minValue
public int maxIter
public double validationRatio
public boolean showProgress
private SparseMatrix K
private SparseVector mu
Constructor Detail |
---|
public FastNPCA(int uc, int ic, double max, double min, double vr, int iter)
uc
- The number of users in the dataset.ic
- The number of items in the dataset.max
- The maximum rating value in the dataset.min
- The minimum rating value in the dataset.vr
- The proportion of dataset which will be used for validation.iter
- The maximum number of iteration.Method Detail |
---|
public void buildModel(SparseMatrix rm)
buildModel
in interface Recommender
rm
- The rating matrix with train data.public EvaluationMetrics evaluate(SparseMatrix testMatrix)
evaluate
in interface Recommender
testMatrix
- The rating matrix with test data.
private SparseVector getEstimation(int u, int[] testItems)
u
- The user number.testItems
- The list of items to be predicted.
private void makeValidationSet(double validationRatio)
validationRatio
- Proportion of dataset, using for validation purpose.private void restoreValidationSet()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |