APRIORI ALGORITHM IMPLEMENTATION IN PYTHON
The Apriori algorithm says "All the subsets of a frequent itemset should be frequent. And all the supersets of infrequent itemset should be infrequent"
Here's the code for Apriori algorithm in python:
#install mlxtend to use apriori command
pip install mlxtend
from mlxtend.frequent_patterns import apriori
dataset = [['Milk', 'Onion', 'Nutmeg', 'Kidney Beans', 'Eggs', 'Yogurt'],
['Dill', 'Onion', 'Nutmeg', 'Kidney Beans', 'Eggs', 'Yogurt'],
['Milk', 'Apple', 'Kidney Beans', 'Eggs'],
['Milk', 'Unicorn', 'Corn', 'Kidney Beans', 'Yogurt'],
['Corn', 'Onion', 'Onion', 'Kidney Beans', 'Ice cream', 'Eggs']]
import pandas as pd
from mlxtend.preprocessing import TransactionEncoder
t = TransactionEncoder()
x = t.fit(dataset).transform(dataset)
df = pd.DataFrame(x, columns=t.columns_)
df
from mlxtend.frequent_patterns import apriori
apriori(df, min_support=0.6)
apriori(df, min_support=0.6, use_colnames=True)
frequent_itemsets = apriori(df, min_support=0.6, use_colnames=True)
frequent_itemsets['length'] = frequent_itemsets['itemsets'].apply(lambda x: len(x))
frequent_itemsets
frequent_itemsets[ (frequent_itemsets['length'] == 2) &(frequent_itemsets['support'] >= 0.8) ]





Comments
Post a Comment