Surya_from_1627

USML3

Sep 2nd, 2026
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.73 KB | None | 0 0
  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. import pandas as pd
  4. import os
  5.  
  6. df= pd.read_csv(r"C:/Users/chava/Downloads/Groceries_dataset.csv")
  7. -------------------------------------------------------------------------
  8. print(df.head())
  9. ----------------------------------------------------------------------
  10. basket = df.groupby(['Member_number', 'Date'])['itemDescription'].apply(list).reset_index()
  11. transactions = basket['itemDescription'].tolist()
  12. print(transactions)
  13. ------------------------------------------------------------------------
  14. from mlxtend.preprocessing import TransactionEncoder
  15. te = TransactionEncoder()
  16. te_array = te.fit(transactions).transform(transactions)
  17. df_encoded = pd.DataFrame(te_array, columns=te.columns_)
  18. --------------------------------------------------------------------------
  19. from mlxtend.frequent_patterns import apriori
  20. frequent_itemsets = apriori(df_encoded, min_support=0.01, use_colnames=True)
  21. print("Total Frequent Itemsets:", frequent_itemsets.shape[0])
  22. ------------------------------------------------------------------------
  23. from mlxtend.frequent_patterns import association_rules
  24. rules = association_rules(frequent_itemsets, metric="confidence", min_threshold=0.1)
  25. rules = rules[rules['antecedents'].apply(lambda x: len(x) >= 1) & rules['consequents'].apply(lambda x: len(x) >= 1)]
  26. print("Association Rules:", rules.shape[0])
  27. rules[['antecedents', 'consequents', 'support', 'confidence', 'lift']].head(5)
  28. -------------------------------------------------------------------------------
  29. import matplotlib.pyplot as plt
  30. top_items = df['itemDescription'].value_counts().head(10)
  31. top_items.plot(kind='bar', title='Top 10 Most Purchased Items')
  32. plt.xlabel("Item")
  33. plt.ylabel("Count")
  34. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment