class_docstr: A method for determining frequent itemsets in a transactional database. 
  This is done by building a so called FP Growth tree, which can then be mined
  to collect the frequent itemsets. More effective than Apriori for large transactional
  databases.
  
  Parameters:
  -----------
  min_sup: float
      The minimum fraction of transactions an itemets needs to
      occur in to be deemed frequent
class_docstr_tok: ["A","method","for","determining","frequent","itemsets","in","a","transactional","database",".","This","is","done","by","building","a","so","called","FP","Growth","tree",",","which","can","then","be","mined","to","collect","the","frequent","itemsets",".","More","effective","than","Apriori","for","large","transactional","databases",".","Parameters",":","--","--","--","--","--","-","min_sup",":","float","The","minimum","fraction","of","transactions","an","itemets","needs","to","occur","in","to","be","deemed","frequent"]
code: def find_frequent_itemsets(
      self, transactions, suffix=None, show_tree=False
  ):
      self.transactions = transactions
  
      # Build the FP Growth Tree
      self.tree_root = self._construct_tree(transactions)
      if show_tree:
          print("FP-Growth Tree:")
          self.print_tree(self.tree_root)
  
      self._determine_frequent_itemsets(transactions, suffix=None)
  
      return self.frequent_itemsets
  
file_path: ML-From-Scratch/mlfromscratch/unsupervised_learning/fp_growth.py
imports: from __future__ import division, print_function
  import numpy
  import itertools
label_desc: Use image node_id 11 for calling the FPGrowth obj's underlying member method code with example usage: obj.find_frequent_itemsets(transactions, suffix, show_tree) and returns: self