A Java's Collaborative Filtering library to carry out experiments in research of Collaborative Filtering based Recommender Systems (visit GitHub project's page).
Packages 
Package Description
es.upm.etsisi.cf4j.data
This package contains data classes of CF4J.
es.upm.etsisi.cf4j.data.types
This package contains types classes used by data objects of CF4J.
es.upm.etsisi.cf4j.examples
This package contains examples of CF4J usage.
es.upm.etsisi.cf4j.examples.gridSearch
This package contains examples showing how to use GridSearch tool of CF4J.
es.upm.etsisi.cf4j.examples.plot
This package contains examples showing how to plot with CF4J
es.upm.etsisi.cf4j.examples.recommender
This package contains examples showing how to compare different Recommenders with CF4J.
es.upm.etsisi.cf4j.qualityMeasure
Contains the implementation of different quality measures for collaborative filtering based recommender systems.
es.upm.etsisi.cf4j.qualityMeasure.prediction
Contains the implementation of different quality measures oriented to predictions.
es.upm.etsisi.cf4j.qualityMeasure.recommendation
Contains the implementation of different quality measures oriented to recommendations.
es.upm.etsisi.cf4j.recommender
This package contains the implementation of different collaborative filtering based recommenders.
es.upm.etsisi.cf4j.recommender.knn
This package contains the implementation of different knn based collaborative filtering recommenders.
es.upm.etsisi.cf4j.recommender.knn.itemSimilarityMetric
This package contains different implementations of item-to-item similarity metrics used in the item-to-item knn based collaborative filtering algorithm.
es.upm.etsisi.cf4j.recommender.knn.userSimilarityMetric
This package contains different implementations of user-to-user similarity metric used in the user-to-user knn based collaborative filtering algorithm.
es.upm.etsisi.cf4j.recommender.matrixFactorization
This package contains the implementation of different matrix factorization based collaborative filtering recommenders.
es.upm.etsisi.cf4j.recommender.neural
This package contains the implementation of different neural networks based collaborative filtering recommenders.
es.upm.etsisi.cf4j.util
This package contains different utilities used by the CF4J.
es.upm.etsisi.cf4j.util.optimization
This package includes optimization utils designed to tune recommenders' hyper-parameters.
es.upm.etsisi.cf4j.util.plot
This package includes plotting utils designed to analyze data of results obtained as consequence of collaborative filtering research.
es.upm.etsisi.cf4j.util.process
This package includes processing utils designed to parallelize fitting processes.