Skip to content

Instantly share code, notes, and snippets.

View abhijeet-talaulikar's full-sized avatar

Abhijeet Talaulikar abhijeet-talaulikar

View GitHub Profile
@abhijeet-talaulikar
abhijeet-talaulikar / utilities-variance.py
Last active June 29, 2020 11:24
Utilities for measuring variance of statistical model
def _draw_bootstrap_sample(rng, X, y, frac = 1.0):
"""
Function to draw a single bootstrap sub-sample from given data.
Use frac to adjust the size of the sample as a fraction of data. Defaults to size of given data.
"""
sample_indices = np.arange(X.shape[0])
bootstrap_indices = rng.choice(sample_indices,
size=int(sample_indices.shape[0] * frac),
replace=True)
return X[bootstrap_indices], y[bootstrap_indices]
@abhijeet-talaulikar
abhijeet-talaulikar / fp-skeleton.py
Last active October 27, 2021 23:42
fp-skeleton
def fp_growth(transaction_db, min_sup, fp_list, prefix = []):
# Step A code to be filled here
# Step B code to be filled here
# Step C code to be filled here
if cpb_db.shape[0] > 0:
fp_growth(cpb_db, min_sup, fp_list, prefix + [item])
@abhijeet-talaulikar
abhijeet-talaulikar / get_one_itemsets.py
Created October 27, 2021 22:01
get_one_itemsets.py
def get_one_itemsets(transaction_db, min_sup):
items = {}
for t_tup in transaction_db.list_items:
for i in new_t:
if i in items.keys():
items[i] += t_tup[1]
else:
@abhijeet-talaulikar
abhijeet-talaulikar / fp-skeleton-partA.py
Last active October 27, 2021 23:42
fp-skeleton-partA.py
def fp_growth(transaction_db, min_sup, fp_list, prefix = []):
####### STEP A: CONCATENATE #######
# Get one itemsets which meet minimum support
one_itemset_dict = get_one_itemsets(transaction_db, min_sup)
# Concanenate frequent patterns with prefix
freq_patterns = []
for key,val in one_itemset_dict.items():
pattern = prefix + [key]
@abhijeet-talaulikar
abhijeet-talaulikar / fp-skeleton-partB.py
Last active October 28, 2021 04:54
fp-skeleton-partB.py
def fp_growth(transaction_db, min_sup, fp_list, prefix = []):
####### STEP A: CONCATENATE #######
# Get one itemsets which meet minimum support
one_itemset_dict = get_one_itemsets(transaction_db, min_sup)
# Concanenate frequent patterns with prefix
freq_patterns = []
for key,val in one_itemset_dict.items():
pattern = prefix + [key]
@abhijeet-talaulikar
abhijeet-talaulikar / sort_transaction.py
Created October 27, 2021 22:29
sort_transaction.py
def sort_transaction(t, one_itemset_dict):
sorted_t = sorted(one_itemset_dict.keys(), key=one_itemset_dict.get, reverse=True)
return [i for i in sorted_t if i in t]
@abhijeet-talaulikar
abhijeet-talaulikar / tree_contains_node.py
Created October 27, 2021 22:49
tree_contains_node.py
def tree_contains_node(name, parent, fp_tree):
for node in fp_tree:
if (node['name'] == name) and (node['parent'] is parent):
return node
return False
@abhijeet-talaulikar
abhijeet-talaulikar / insert_tree.py
Last active October 28, 2021 04:56
insert_tree.py
def insert_tree(prefix, suffix, current_root, fp_tree, node_link_dict, transaction_count):
# Check if route to the prefix node exists in tree
# If exists, get the node
new_root = tree_contains_node(prefix, current_root, fp_tree)
if new_root == False:
# If route doesn't exist, create new child node to current root
new_root = {'name':prefix, 'count':transaction_count, 'parent': current_root}
@abhijeet-talaulikar
abhijeet-talaulikar / fp-skeleton-partC.py
Last active October 28, 2021 04:55
fp-skeleton-partC.py
def fp_growth(transaction_db, min_sup, fp_list, prefix = []):
####### STEP A: CONCATENATE #######
# Get one itemsets which meet minimum support
one_itemset_dict = get_one_itemsets(transaction_db, min_sup)
# Concanenate frequent patterns with prefix
freq_patterns = []
for key,val in one_itemset_dict.items():
pattern = prefix + [key]
lag = {
"CTV": 2,
"DISPLAY": 2,
"DIRECT_MAIL": 2,
"EMAIL": 2,
"PAID_SOCIAL": 2,
"PAID_SEARCH": 1,
"TV": 3
}