recommenders / rival Goto Github PK
View Code? Open in Web Editor NEWRiVal recommender system evaluation toolkit
Home Page: rival.recommenders.net
License: Apache License 2.0
RiVal recommender system evaluation toolkit
Home Page: rival.recommenders.net
License: Apache License 2.0
Fix basic documentation for new metrics.
We have single and multiple runners, but right now there is no clear relation between them (i.e., if we change something in the single runner we will have to modify that also in the runner to parse multiple strategies, for instance).
We should generalize the multiple runners so that they use the code implemented in the single runners.
Should each sub-module contain main methods or should we move these out to a separate sub-module (e.g. rival-examples which would provide example instances of the various functions of rival).
In the use case of including rival as a dependency to perform eval on an external project, the main methods are redundant. Probably we need to rethink how we're instantiating the different processes.
Create rival-wevapp.
Should include:
possibly for v0.3 or above.
We should figure out what to prepare for a first release.
My thoughts are that the core, split, recommend modules are in a state that is "releasable". We need to have some structure in the eval module.
@abellogin can you create and assign issues for metrics in eval that we should implement?
(use the comments for discussion).
Extract all property reading to class in core instead of current management in each class using properties.
Fix authorship of your classes.
I propose to use: Name making links appear in properly in javadoc.
Example in net.recommenders.rival.core.DataModel
Related with split subproject
Implement evaluation according to http://graphlab.com/files/lsrs2013/paper_12.pdf
This will likely have to be an evaluation strategy taking a different strategy as input since the per-user evaluation does "standard" evaluation for each user and then averages the results.
Update wiki, provde example code.
I propose we do a feature freeze for the current master branch, any additions should/could go into a v2.0 branch that we merge into the master once it's tagged/released.
The only thing left prior to 0.1 is to finalize the maven-site stuff (see 917788f), although I think most of the stuff I want to add (github maven-site plugin https://github.com/github/maven-plugins) could go in to v0.2
(answer and close issue if there are no questions)
Write basic javadoc for variables.
[WARNING] /workspace/rival/rival-split/src/main/java/net/recommenders/rival/split/parser/LastfmCelma1KParser.java:17: warning - Tag @inheritdoc cannot be used in class documentation. It can only be used in the following types of documentation: method, inline text.
[WARNING] /workspace/rival/rival-split/src/main/java/net/recommenders/rival/split/parser/LastfmCelma1KParser.java:39: warning - Tag @inheritdoc cannot be used in constructor documentation. It can only be used in the following types of documentation: method, inline text.
[WARNING] /workspace/rival/rival-split/src/main/java/net/recommenders/rival/split/parser/LastfmCelma360KParser.java:15: warning - Tag @inheritdoc cannot be used in class documentation. It can only be used in the following types of documentation: method, inline text.
[WARNING] /workspace/rival/rival-split/src/main/java/net/recommenders/rival/split/parser/LastfmCelma360KParser.java:37: warning - Tag @inheritdoc cannot be used in constructor documentation. It can only be used in the following types of documentation: method, inline text.
[WARNING] /workspace/rival/rival-recommend/src/main/java/net/recommenders/rival/recommend/frameworks/mahout/GenericRecommenderBuilder.java:55: warning - [at]return tag has no arguments.
[WARNING] /workspace/rival/rival-recommend/src/main/java/net/recommenders/rival/recommend/frameworks/mahout/GenericRecommenderBuilder.java:70: warning - [at]return tag has no arguments.
[WARNING] /workspace/rival/rival-recommend/src/main/java/net/recommenders/rival/recommend/frameworks/mahout/GenericRecommenderBuilder.java:85: warning - [at]return tag has no arguments.
[WARNING] /workspace/rival/rival-recommend/src/main/java/net/recommenders/rival/recommend/frameworks/mahout/GenericRecommenderBuilder.java:102: warning - [at]return tag has no arguments.
[WARNING] /workspace/rival/rival-recommend/src/main/java/net/recommenders/rival/recommend/frameworks/mahout/GenericRecommenderBuilder.java:115: warning - [at]return tag has no arguments.
[WARNING] /workspace/rival/rival-evaluate/src/main/java/net/recommenders/rival/evaluation/metric/error/AbstractErrorMetric.java:46: warning - Tag @inheritdoc cannot be used in constructor documentation. It can only be used in the following types of documentation: method, inline text.
[WARNING] /workspace/rival/rival-evaluate/src/main/java/net/recommenders/rival/evaluation/metric/error/MAE.java:20: warning - Tag @inheritdoc cannot be used in constructor documentation. It can only be used in the following types of documentation: method, inline text.
[WARNING] /workspace/rival/rival-evaluate/src/main/java/net/recommenders/rival/evaluation/metric/error/MAE.java:28: warning - Tag @inheritdoc cannot be used in constructor documentation. It can only be used in the following types of documentation: method, inline text.
[WARNING] /workspace/rival/rival-evaluate/src/main/java/net/recommenders/rival/evaluation/metric/error/MAE.java:38: warning - [at]return tag cannot be used in method with void return type.
[WARNING] /workspace/rival/rival-evaluate/src/main/java/net/recommenders/rival/evaluation/metric/error/RMSE.java:20: warning - Tag @inheritdoc cannot be used in constructor documentation. It can only be used in the following types of documentation: method, inline text.
[WARNING] /workspace/rival/rival-evaluate/src/main/java/net/recommenders/rival/evaluation/metric/error/RMSE.java:28: warning - Tag @inheritdoc cannot be used in constructor documentation. It can only be used in the following types of documentation: method, inline text.
[WARNING] /workspace/rival/rival-evaluate/src/main/java/net/recommenders/rival/evaluation/metric/error/RMSE.java:38: warning - [at]return tag cannot be used in method with void return type.
[WARNING] /workspace/rival/rival-evaluate/src/main/java/net/recommenders/rival/evaluation/metric/ranking/AbstractRankingMetric.java:30: warning - Tag @inheritdoc cannot be used in constructor documentation. It can only be used in the following types of documentation: method, inline text.
[WARNING] /workspace/rival/rival-evaluate/src/main/java/net/recommenders/rival/evaluation/metric/ranking/MAP.java:21: warning - Tag @inheritdoc cannot be used in constructor documentation. It can only be used in the following types of documentation: method, inline text.
[WARNING] /workspace/rival/rival-evaluate/src/main/java/net/recommenders/rival/evaluation/metric/ranking/NDCG.java:37: warning - Tag @inheritdoc cannot be used in constructor documentation. It can only be used in the following types of documentation: method, inline text.
[WARNING] /workspace/rival/rival-evaluate/src/main/java/net/recommenders/rival/evaluation/metric/ranking/Precision.java:21: warning - Tag @inheritdoc cannot be used in constructor documentation. It can only be used in the following types of documentation: method, inline text.
[WARNING] /workspace/rival/rival-evaluate/src/main/java/net/recommenders/rival/evaluation/metric/ranking/Recall.java:22: warning - Tag @inheritdoc cannot be used in constructor documentation. It can only be used in the following types of documentation: method, inline text.
[WARNING] /workspace/rival/rival-evaluate/src/main/java/net/recommenders/rival/evaluation/strategy/AllItems.java:16: warning - Tag @inheritdoc cannot be used in constructor documentation. It can only be used in the following types of documentation: method, inline text.
[WARNING] /workspace/rival/rival-evaluate/src/main/java/net/recommenders/rival/evaluation/strategy/TestItems.java:16: warning - Tag @inheritdoc cannot be used in constructor documentation. It can only be used in the following types of documentation: method, inline text.
[WARNING] /workspace/rival/rival-evaluate/src/main/java/net/recommenders/rival/evaluation/strategy/TrainItems.java:16: warning - Tag @inheritdoc cannot be used in constructor documentation. It can only be used in the following types of documentation: method, inline text.
[WARNING] /workspace/rival/rival-evaluate/src/main/java/net/recommenders/rival/evaluation/strategy/UserTest.java:17: warning - Tag @inheritdoc cannot be used in constructor documentation. It can only be used in the following types of documentation: method, inline text.
Write basic javadoc for variables.
Getting weird results for NDCG, please do unit tests
Like MultipleRecommendationRunner in recommend subproject
Parsers should be able to read compressed files.
Create JavaDoc for methods and classes
C# interface through IKVM or similar
http://www.ikvm.net/
At least the cross-validation script.
The error appears because the tail does not consider the reminder part of the splits.
Write basic javadoc for variables.
Write basic javadoc for variables.
This is in progress already
Please assign basic eval metric creation/classes to both of us.
We probably need to figure out how to start the implementation as well.
Create a module with examples, i.e. the complete process from data splitting to recommendation to evaluation.
This should contain at least one example for LensKit, one for Mahout, and a few data splitting strategies.
Think something similar to the examples in Mahout, just to help people get started.
Possibly aim at having this done for v0.2-M1
Create JavaDoc for methods and classes
More thorough test cases are needed (not only checking for 1.0)
Fix authorship of your classes.
I propose to use: Name making links appear in properly in javadoc.
Example in net.recommenders.rival.core.DataModel
Complete overhaul of tests.
Increase coverage of tests.
See b40a05f
Document the undocumented fields and exceptions
Implement a splitting strategy according to
http://graphlab.com/files/lsrs2013/paper_12.pdf
Python interface through JCC or similar
https://pypi.python.org/pypi/JCC/2.12
I suggest we should enforce checkstyle on build, i.e. let the build break if the code does not follow the style. (Or maybe just warn about it)
Test with "mvn checkstyle:checkstyle" and "mvn checkstyle:check"
Check all errors: "mvn checkstyle:checkstyle-aggregate" and look at output in rival/target/checkstyle-result.xml
Create JavaDoc for methods and classes
Create wiki pages containing information on main classes, how to run the steps, etc.
We ought to standardize our API so as to keep compatibility between versions.
Ideas? Comments?
Create JavaDoc for methods and classes
See b40a05f
There's a bunch of undocumented exceptions etc.
Now that there are metrics, there should be runners, or, at the very least, examples of how to use the, e.g. https://github.com/recsyschallenge/RSChallengeEval/blob/master/src/main/java/com/recsyschallenge/evaluate/Evaluator.java
We need to set up proper logging and make sure we log things in new (and already implemented) classes.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.