def METHOD_NAME(self, X):
    """Learn unique column names from transaction DataFrame
    Parameters
    ------------
    X : list of lists
      A python list of lists, where the outer list stores the
      n transactions and the inner list stores the items in each
      transaction.
      For example,
      [['Apple', 'Beer', 'Rice', 'Chicken'],
       ['Apple', 'Beer', 'Rice'],
       ['Apple', 'Beer'],
       ['Apple', 'Bananas'],
       ['Milk', 'Beer', 'Rice', 'Chicken'],
       ['Milk', 'Beer', 'Rice'],
       ['Milk', 'Beer'],
       ['Apple', 'Bananas']]
    """
    unique_items = set()
    for transaction in X:
        for item in transaction:
            unique_items.add(item)
    self.columns_ = sorted(unique_items)
    columns_mapping = {}
    for col_idx, item in enumerate(self.columns_):
        columns_mapping[item] = col_idx
    self.columns_mapping_ = columns_mapping
    return self