Skip to content
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

Merged
merged 10 commits into from
Apr 25, 2019
Merged

Conversation

pratikjawanpuria
Copy link
Collaborator

@pratikjawanpuria pratikjawanpuria commented Apr 10, 2019

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:

  • My code follows the code style of this project, as detailed in our contribution guidelines.
  • I have added tests.
  • I have updated the documentation accordingly.

Added RLRMC algorithm code and a working notebook
@review-notebook-app
Copy link

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.

@msftclas
Copy link

msftclas commented Apr 10, 2019

CLA assistant check
All CLA requirements met.

Copy link
Collaborator

@gramhagen gramhagen left a 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.

reco_utils/recommender/rlrmc/RLRMCalgorithm.py Outdated Show resolved Hide resolved
reco_utils/recommender/rlrmc/RLRMCalgorithm.py Outdated Show resolved Hide resolved
Copy link
Collaborator

@loomlike loomlike left a 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:

pratikjawanpuria and others added 9 commits April 12, 2019 16:17
…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
@gramhagen
Copy link
Collaborator

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.

@pratikjawanpuria
Copy link
Collaborator Author

pratikjawanpuria commented Apr 24, 2019

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.

@miguelgfierro miguelgfierro merged commit 6dc4b01 into staging Apr 25, 2019
@miguelgfierro miguelgfierro deleted the rlrmc-algorithm branch April 25, 2019 13:17
yueguoguo pushed a commit that referenced this pull request Sep 9, 2019
Added RLRMC algorithm code to staging branch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants