shuffleInPlace<T> function
Shuffle data and labels together (Fisher–Yates)
Implementation
void shuffleInPlace<T>(List<T> data, List<T> labels, {int? seed}) {
if (data.length != labels.length) {
throw ArgumentError('Data and labels must have the same length.');
}
final random = seed != null ? Random(seed) : Random();
for (int i = data.length - 1; i > 0; i--) {
final j = random.nextInt(i + 1);
final tempX = data[i];
final tempY = labels[i];
data[i] = data[j];
labels[i] = labels[j];
data[j] = tempX;
labels[j] = tempY;
}
}