Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

DMPR 1

import os
import numpy as np
from collections import defaultdict
import matplotlib
import matplotlib.pyplot as plt
import pandas as pd

def load_transactions(filepath):
transactions = []
with open(filepath, "r") as fd:
for line in fd:
transaction = set(line.strip().split(","))
transactions.append(transaction)
return transactions

filepath = r'C:\Users\Plaksha\Desktop\CSAI\DMPR\groceries.csv'
transactions = load_transactions(filepath)
print(transactions)

unique_items = set()
for transaction in transactions:
for item in transaction:
unique_items.add(item)
print("Number of unique items:", len(unique_items))

def load_transactions(filepath):
transactions = []
item_counts = defaultdict(int)
with open(filepath, "r") as fd:
for line in fd:
transaction = set(line.strip().split(","))
transactions.append(transaction)
for item in transaction:

DMPR 1 1
item_counts[item] += 1
num_items = len(item_counts)
return transactions, item_counts, num_items

transactions, item_counts, num_items = load_transactions("groceries.csv")


print(item_counts)
print(num_items)

def support(database):
item_counts = defaultdict(int)
for transaction in database:
for item in transaction:
item_counts[item] += 1
return item_counts

def confidence(database, itemset_counts, min_confidence):


item_counts = support(database)
rules_confidences = {}
for itemset in itemset_counts.keys():
item1, item2 = itemset
confidence = itemset_counts[itemset] / item_counts[item1]
if confidence >= min_confidence:
rules_confidences[(item1, item2)] = confidence
return rules_confidences

transactions, item_counts, num_items = load_transactions('groceries.csv')


b = support(transactions)
fi = confidence(transactions, b, 0.2)
print(fi)

from time import perf_counter

n_iter = 3
load_timer = 0
support1_timer = 0
support2_timer = 0
confidence_timer = 0

for x in range(n_iter):
t1_start = perf_counter()
transactions, item_counts, num_items = load_transactions('groceries.csv')
t1_stop = perf_counter()
load_timer += t1_stop - t1_start

DMPR 1 2
t2_start = perf_counter()
a = support(transactions)
t2_stop = perf_counter()
support1_timer += t2_stop - t2_start

t3_start = perf_counter()
b = support(transactions)
t3_stop = perf_counter()
support2_timer += t3_stop - t3_start

t4_start = perf_counter()
c = confidence(transactions, b, 0.4)
t4_stop = perf_counter()
confidence_timer += t4_stop - t4_start

load_timer /= n_iter
support1_timer /= n_iter
support2_timer /= n_iter
confidence_timer /= n_iter

print("load_timer =", load_timer)


print("support1_timer =", support1_timer)
print("support2_timer =", support2_timer)
print("confidence_timer =", confidence_timer)

DMPR 1 3

You might also like