-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added RLRMC algorithm code to staging branch #729
Conversation
Added RLRMC algorithm code and a working notebook
Check out this pull request on ReviewNB: https://app.reviewnb.com/Microsoft/Recommenders/pull/729 Visit www.reviewnb.com to know how we simplify your Jupyter Notebook workflows. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks pretty good Pratik, just some suggestions.
We've been using black to maintain consistent code style, can you run that on the RMLRCalgorithm and dataset files?
Additionally adding docstrings can really help others understand the top-level functionality of different methods and what kinds (and types) of inputs they accept. would be helpful to fill those in for each method.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Love to have new algo! I couldn't find more time to look into, but have few comments:
…her comments. Added docstrings in RLRMC files, formatted them via black, added logger in _init_train function, and resolved a few other comments.
Added fit_and_evaluate method for validation
added provision for validation set in the notebook
Resolved a few issues in rlrmc_movielens notebook
Added parameter tags in notebook, sample code for cases when validation/test sets are present/absent. Added provisions for the same cases in rlrmcdataset.py file.
Added example code for evaluating the prediction.
A pip installation of pymanopt is now required, thereby removing dependency on availablity of pymanopt code in local folder. Only conjugate_gradients_ms.py code is required in rlrmc folder. The notebook and RLRMCalgorithm files have been modified accordingly.
…unit test for notebook, applying black formatting
I added a unit test for the notebook, put pymanopt as a dependency when the conda environment is created, and did some minor formatting / import cleanup. Also, merged in latest changes from staging. @pratikjawanpuria please look over the changes and make sure everything looks good to you. |
Thanks a lot @gramhagen . I am fine with the changes. Please let me know the next steps. |
Added RLRMC algorithm code to staging branch
Added RLRMC algorithm code and a working notebook
Description
Added RLRMC algorithm, Pymanopt code in reco_utils/recommender folder. Pymanopt has been added temporarily to ensure that the notebook runs without error. Pymanopt can be removed later when things are finalized.
Related Issues
Checklist: