Return a new dataset with a random subset of examples.
(self, n, seed=42)
| 209 | return SliceWrapper(_slicer) |
| 210 | |
| 211 | def sample(self, n, seed=42): |
| 212 | """Return a new dataset with a random subset of examples.""" |
| 213 | rng = random.Random(seed) |
| 214 | if n < len(self.examples): |
| 215 | examples = rng.sample(self.examples, n) |
| 216 | else: |
| 217 | logging.warning( |
| 218 | 'Requested sample %d is larger than dataset size %d; returning full' |
| 219 | ' dataset.', |
| 220 | n, |
| 221 | len(self.examples), |
| 222 | ) |
| 223 | examples = list(self.examples) |
| 224 | return Dataset(examples=examples, base=self) |
| 225 | |
| 226 | def filter(self, predicate: Callable[[JsonDict], bool]): |
| 227 | selected_examples = list(filter(predicate, self.examples)) |
no test coverage detected