def METHOD_NAME(self, table: pd.DataFrame) -> Tuple[pd.DataFrame, pd.DataFrame, pd.DataFrame]:
    """Generate train, valid, test splits.
    Following https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9458712,
    we select 10% of rows to be our test set. One column of this data will be
    imputed. Of the remaining 90% of the data, 20% is validation and 80% is training.
    """
    # Split into datasets
    test = table.sample(frac=0.1, random_state=self.seed)
    remaining = table.drop(test.index)
    valid = remaining.sample(frac=0.2, random_state=self.seed)
    train = remaining.drop(valid.index)
    return train, valid, test