group shuffle helpers
- Dominant language
- HTML
- Stars
- 9
- Forks
- 1
- Avg merge
- 10h 23m
- Merged PRs (30d)
- 4
Description
Hi @julianesiebourg, related to your group shuffle use-case and #51 .
I wanted to capture directions on which we can improve the library to accommodate for this case.
1. Do you think this is a common problem? Intuitively I see that keeping replicates distributed across batches is usually a better strategy.
2. We can introduce a simple scoring function which will penalize separated samples and use strict improvement. The downside is that it will make shuffling very difficult. I.e., if you want samples 1 and 2 moved from batch X to batch Y, a) we would need to shuffle at least two samples in one iteration (`n_shuffle` >= 2), b) 1 and 2 should be chosen together at random (quite unlikely) c) destination should be the same batch (probability `1/n_batches`). So probably shuffling will be very slow.
3. Some shuffle with constraints procedure could be a solution. We could try to generalize the example I shared with you. Basically by specifying what's the sample group column. The difficulty is that we could run into a pathological configuration from which there is no way back (without breaking the constraint).
At this stage I think we should just capture this and maybe if you already have an idea of how frequent this is and what other types of group shuffle we might need that would be great.
Contributor guide
No contributing guide indexed for this repository
Research direction
Read issue #51 for the related group-shuffle use case and inspect linked pull request #59. Clarify which group constraints and shuffle behavior the library should support; the issue is done only after a concrete, agreed scope replaces the open design questions.
Written by the indexing model from the issue text.
Assessment
- Domain
- data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100