def METHOD_NAME(self, k=0, repeat=0):
    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)
    stratify = None
    if self.stratify:
        stratify = y
    if self.shuffle == False:
        stratify = None
    input_data = [X, y]
    if sample_weight is not None:
        input_data += [sample_weight]
    if sensitive_features is not None:
        input_data += [sensitive_features]
    output_data = train_test_split(
        *input_data,
        train_size=self.train_ratio,
        test_size=1.0 - self.train_ratio,
        shuffle=self.shuffle,
        stratify=stratify,
        random_state=self.random_seed + repeat,
    )
    X_train = output_data[0]
    X_validation = output_data[1]
    y_train = output_data[2]
    y_validation = output_data[3]
    if sample_weight is not None:
        sample_weight_train = output_data[4]
        sample_weight_validation = output_data[5]
        if sensitive_features is not None:
            sensitive_features_train = output_data[6]
            sensitive_features_validation = output_data[7]
    else:
        if sensitive_features is not None:
            sensitive_features_train = output_data[4]
            sensitive_features_validation = output_data[5]
    train_data = {"X": X_train, "y": y_train}
    validation_data = {"X": X_validation, "y": y_validation}
    if sample_weight is not None:
        train_data["sample_weight"] = sample_weight_train
        validation_data["sample_weight"] = sample_weight_validation
    if sensitive_features is not None:
        train_data["sensitive_features"] = sensitive_features_train
        validation_data["sensitive_features"] = sensitive_features_validation
    repeat_str = f"repeat_{repeat}_" if self.repeats > 1 else ""
    train_data_file = os.path.join(
        self._results_path, f"split_{repeat_str}train_indices.npy"
    )
    validation_data_file = os.path.join(
        self._results_path, f"split_{repeat_str}validation_indices.npy"
    )
    np.save(train_data_file, X_train.index)
    np.save(validation_data_file, X_validation.index)
    return train_data, validation_data