Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- import matplotlib.pyplot as plt
- import pandas as pd
- import os
- df= pd.read_csv(r"C:/Users/chava/Downloads/Groceries_dataset.csv")
- print(df.head())
- basket = df.groupby(['Member_number', 'Date'])['itemDescription'].apply(list).reset_index()
- transactions = basket['itemDescription'].tolist()
- print(transactions)
- from mlxtend.preprocessing import TransactionEncoder
- te = TransactionEncoder()
- te_array = te.fit(transactions).transform(transactions)
- df_encoded = pd.DataFrame(te_array, columns=te.columns_)
- from mlxtend.frequent_patterns import apriori
- frequent_itemsets = apriori(df_encoded, min_support=0.01, use_colnames=True)
- print("Total Frequent Itemsets:", frequent_itemsets.shape[0])
- from mlxtend.frequent_patterns import association_rules
- def generate_rules(frequent_itemsets, metric="confidence", min_threshold=0.1):
- rules = association_rules(frequent_itemsets, metric=metric, min_threshold=min_threshold)
- return rules
- rules = generate_rules(frequent_itemsets.copy(), metric="confidence", min_threshold=0.1)
- print("Total Rules Generated:", rules.shape[0])
- print(rules[['antecedents', 'consequents', 'support', 'confidence', 'lift']].head(10))
Advertisement
Add Comment
Please, Sign In to add comment