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
- rules = association_rules(frequent_itemsets, metric="confidence", min_threshold=0.1)
- rules = rules[rules['antecedents'].apply(lambda x: len(x) >= 1) & rules['consequents'].apply(lambda x: len(x) >= 1)]
- print("Association Rules:", rules.shape[0])
- rules[['antecedents', 'consequents', 'support', 'confidence', 'lift']].head(5)
- -------------------------------------------------------------------------------
- import matplotlib.pyplot as plt
- top_items = df['itemDescription'].value_counts().head(10)
- top_items.plot(kind='bar', title='Top 10 Most Purchased Items')
- plt.xlabel("Item")
- plt.ylabel("Count")
- plt.show()
Advertisement
Add Comment
Please, Sign In to add comment