Remarks: If you'd like to make contributes to LibRec, please contact me without any hesitations.
- LLORMA, CoFiSet, Ensemble models
- New recommenders added
- CPTF
- Dependent package
happy.coding.utils.*.jar
merged into packagelibrec.util
to be self-inclusive - LibRec data structure
- SparseTensor: sparse tensor structure
- LibRec configurations
- option
--measures-only
removed fieldoutput.setup
- options
--to-clipboard
,--to-file
added to fieldoutput.setup
- options
--as-tensor
,-headline
added to fieldratings.setup
- option
-b
added to recommender GPLSA
- option
- New recommenders added
- WBPR, UserCluster, ItemCluster, LDA, URP, BHfree, BUCM, GPLSA, LDCC, LRMF, AoBPR
- External (used to evaluate the performance of rating predictions generated by extenal recomemnders)
- New interface
GraphicRecommender
is added for probabilistic graphic models - Recommender RegSVD renamed to PMF, while old PMF is removed.
- Demos are added to the folder
demo
- Class
Demo
added to the packagelibrec.main
- Datasets and configurations added to sub-folders
- Class
- LibRec commands & configuration
- Configuration entries in
librec.conf
improved and reformatted - Item recommendation results can be outputed
- For iterative models, early-stop criterion can be specified by
--early-stop RMSE (Prec@5, Loss, etc)
- Configuration entries in
- Class improvements
- Java annotation
Configuration
is added to annotate general configuration of recommender interfaces - Java annotation
AddConfiguration
is added to annotate additional configuration of specific algorithms - Sparse Matrix
- It will always keep both CCS and CRS structures for simpicity
- New static method
reshape
added to remove zero entries and reshape dimensions - New method
matString
added to print in matrix-like format, useful for debug purpose
- A few utility functions are added to DenseMatrix, DenseVector
- New measures added for
rating prediction
rMAE
andrRMSE
measure the MAE and RMSE after rounding prediction to the closest rating levels.MPE
measures the percentage of predictions which differ from the actual rating valuesPerplexity
is added for some probabilistic graphic modelsASYMM
is deprecated and removed
LineConfiger
is added to encapsulate the line of parameter with options- some bugs fixed
- Java annotation
- Datasets
- The columns of dataset to use can be specified by
-columns
- More dataset split approaches are added, including time-based ones
- The columns of dataset to use can be specified by
- Cache employed
- rowCache(), columnCache(), rowColumnsCache(), columnRowsCache() methods added to SparseMatrix
- employing cache technique can greatly improve the speed of recommendation
- new config item "guava.cache.spec" used to specify cache configuration
- Support more configurations
- Rating predictions can be outputed now (is.prediction.out), thanks to disc5's comment.
- Data conversion from real-valued ratings to binary ones (val.binary.threshold)
- A number of command line arguments:
- -c configFile: set alternative configuration files, java -jar librec.jar -c yourConfigFile.conf;
- -v/--version: print out version information
- --dataset-spec: print out dataset specifications
- New recommendation methods implemented:
- SLIM, FISM, SBPR, GBPR, TrustSVD, timeSVD++
- Interface for context-aware recommender systems added
- Context, UserContext, ItemContext, RatingContext -- Data Class
- ContextRecommender -- Generic Interface
- Others
- Codes refactored & improved
- SortMap/SortList performance improved, dependent library updated
- Rename BRPMF to BPR
- Utility methods (e.g., data standardization) added to data structure
- bugs fixed
- critical bug: set isCCSUsed = true (see SparseMatrix, copyCCS() method)
- thanks to the comments of albe91, Victoria Lin
- Codes refactored & improved
- New recommendation methods implemented:
- WRMF, AR, PD, RankALS, SoRec, SoReg, RSTE
- Support a number of testing views of the testing set:
- all: the ratings of all users are used.
- cold-start: the ratings of cold-start users who rated less than 5 items (in the training set) are used.
- Support two new validation methods:
- Given N: For each user, N ratings will be preserved as training set, while the rest are used as test set.
- Given ratio: Similarly as Given N, a ratio of users' ratings will be used for training and others for testing.
- val.ratio: Its meaning is changed to the ratio of data for training, rather than the ratio of data for testing.
- Data Structure:
- DiagMatrix: diagonal matrix added
- DataConvertor: is added to convert data files from one format to our supporting formats.
- A number of enhancement functions are added to matrix, vector class
- Package Refactor:
- Package librec.core is split into two packages:
- librec.rating: algorithms for rating predictions; supporting rating-based item ranking.
- librec.ranking: algorithms for item ranking.
- Package librec.core is split into two packages:
- Others
- Code improved
- Some bugs fixed
- A set of recommendations have been implemented.