Frequent pattern mining aims to discover patterns that occur frequently in a dataset. It finds inherent regularities without any preconceptions. The frequent patterns can then be used for applications like association rule mining, classification, clustering, and more. Two major approaches for mining frequent patterns are the Apriori algorithm and FP-Growth. Apriori is a generate-and-test method while FP-Growth avoids candidate generation by building a compact data structure called an FP-tree to extract patterns directly.