Spaces:
Running
Running
| import numpy as np | |
| def systematic_sampling(l: list, n: int) -> list: | |
| """ | |
| l - (ordered) list to be sampled from | |
| n - number of samples to fetch | |
| returns a list of samples (far apart) | |
| """ | |
| skip = len(l)/n | |
| s = np.random.uniform(0, skip) | |
| out = [] | |
| for _ in range(n): | |
| out.append(l[np.floor(s).astype(int)]) | |
| s += skip | |
| return out | |
| def close_sampling(l:list, n: int) -> list: | |
| """ | |
| returns a sampled list (close together) | |
| """ | |
| w = np.floor(n/2 + 2).astype(int) | |
| s = np.floor(np.random.uniform(w, len(l) - w)).astype(int) | |
| subset = [l[i] for i in range(s-w, s+w)] | |
| return np.random.choice(subset, n, replace=False).tolist() | |