def METHOD_NAME(self, k, repeat=0):
    repeat_str = f"_repeat_{repeat}" if self.repeats > 1 else ""
    train_index_file = os.path.join(
        self._results_path, "folds", f"fold_{k}{repeat_str}_train_indices.npy"
    )
    validation_index_file = os.path.join(
        self._results_path, "folds", f"fold_{k}{repeat_str}_validation_indices.npy"
    )
    train_index = np.load(train_index_file)
    validation_index = np.load(validation_index_file)
    X = load_data(self._X_path)
    y = load_data(self._y_path)
    y = y["target"]
    sample_weight = None
    if self._sample_weight_path is not None:
        sample_weight = load_data(self._sample_weight_path)
        sample_weight = sample_weight["sample_weight"]
    sensitive_features = None
    if self._sensitive_features_path is not None:
        sensitive_features = load_data(self._sensitive_features_path)
    train_data = {"X": X.loc[train_index], "y": y.loc[train_index]}
    validation_data = {"X": X.loc[validation_index], "y": y.loc[validation_index]}
    if sample_weight is not None:
        train_data["sample_weight"] = sample_weight.loc[train_index]
        validation_data["sample_weight"] = sample_weight.loc[validation_index]
    if sensitive_features is not None:
        train_data["sensitive_features"] = sensitive_features.loc[train_index]
        validation_data["sensitive_features"] = sensitive_features.loc[
            validation_index
        ]
    return (train_data, validation_data)