walbcglgh's picture
Upload folder using huggingface_hub
3c5cae5 verified
Raw History Blame Contribute Delete
519 Bytes
"""Shared dataset splitting so every script uses the same held-out events."""
import numpy as np
def split_by_event(df, test_frac=0.15, seed=42):
"""Return (train_mask, test_mask, test_events) grouped by whole events."""
rng = np.random.default_rng(seed)
events = np.array(df["event"].unique())
rng.shuffle(events)
n_test = max(1, int(len(events) * test_frac))
test_events = set(events[:n_test].tolist())
mask = df["event"].isin(test_events).to_numpy()
return ~mask, mask, test_events