pymc-devs / pymc-devs/pymc-examples

probabilistic matrix factorization

Open
#58 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

tracker id
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

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:
    • _norms in code cell 23 looks like it could be replaced by xr.apply_ufunc (using input_core_dims)

Notes

Exotic dependencies

None

Computing requirements

Model samples in roughly 1 hour

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.