pymc-devs / pymc-devs/pymc-examples
probabilistic matrix factorization
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 398
- Forks
- 325
- Avg merge
- 9d 15m
- Merged PRs (30d)
- 1
Description
File: https://github.com/pymc-devs/pymc-examples/blob/main/examples/case_studies/probabilistic_matrix_factorization.ipynb
Reviewers: @colcarroll
Known changes needed
Changes listed in this section should all be done at some point in order to get this
notebook to a "Best Practices" state. However, these are probably not enough!
Make sure to thoroughly review the notebook and search for other updates.
General updates
- Use numpy Generator. See also https://numpy.org/doc/stable/reference/random/index.html?highlight=random%20sampling%20numpy%20random#quick-start
Changes for discussion
Changes listed in this section are up for discussion, these are ideas on how to improve
the notebook but may not have a clear implementation, or fix some know issue only partially.
ArviZ related
- Use ArviZ and xarray for postprocessing. This will probably be challenging. I'd recommend familiarizing with xarray before working on that. Some ideas:
_normsin code cell 23 looks like it could be replaced byxr.apply_ufunc(usinginput_core_dims)
Notes
Exotic dependencies
None
Computing requirements
Model samples in roughly 1 hour
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with examples/case_studies/probabilistic_matrix_factorization.ipynb and review the full notebook, beginning with the requested NumPy Generator update. Inspect code cell 23 and research the suggested ArviZ/xarray postprocessing approach, including xr.apply_ufunc. Done means the notebook reaches a Best Practices state, with the listed updates and any additional issues found during review addressed; model samples take roughly one hour.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- jupyter-notebook, numpy, python
- Domain
- machine-learning
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100