एडवांस्ड Apriori रिजल्ट्स प्रूनिंग

Python में Market Basket Analysis

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

एप्लिकेशन्स

क्रॉस-प्रमोशन

यह चित्र क्रॉस-प्रमोशन का उदाहरण दिखाता है.

एग्रीगेशन

यह चित्र एग्रीगेशन का उदाहरण दिखाता है.

Python में Market Basket Analysis

Apriori एल्गोरिदम

लिस्ट ऑफ लिस्ट्स

यह चित्र ट्रांजैक्शन्स में आइटम्स की लिस्ट ऑफ लिस्ट्स का उदाहरण दिखाता है.

वन-हॉट एन्कोडिंग

यह चित्र ट्रांजैक्शन्स की वन-हॉट एन्कोडिंग दिखाता है.

Apriori एल्गोरिदम

यह चित्र 4 सामान्य आइटम्स के सेट पर Apriori एल्गोरिदम लागू होते हुए दिखाता है.

Python में Market Basket Analysis

Apriori एल्गोरिदम

import pandas as pd
import numpy as np
from mlxtend.preprocessing import TransactionEncoder
from mlxtend.frequent_patterns import apriori
itemsets = np.load('itemsets.npy')
print(itemsets)
[['EASTER CRAFT 4 CHICKS'],
['CERAMIC CAKE DESIGN SPOTTED MUG', 'CHARLOTTE BAG APPLES DESIGN'],
['SET 12 COLOUR PENCILS DOLLY GIRL'],
...
['JUMBO BAG RED RETROSPOT', ... 'LIPSTICK PEN FUSCHIA']]
Python में Market Basket Analysis

Apriori एल्गोरिदम

# One-hot encode data
encoder = TransactionEncoder()
onehot = encoder.fit(itemsets).transform(itemsets)
onehot = pd.DataFrame(onehot, columns = encoder.columns_)
# Apply Apriori algorithm and print
frequent_itemsets = apriori(onehot, use_colnames=True, min_support=0.001)
print(frequent_itemsets)
      support                                           itemsets
0    0.001504                               ( DOLLY GIRL BEAKER)
1    0.002256                         ( RED SPOT GIFT BAG LARGE)
...
428  0.001504  (BIRTHDAY CARD, RETRO SPOT, JUMBO BAG RED RETR...
Python में Market Basket Analysis

Apriori एल्गोरिदम के परिणाम

print(len(data.columns))
4201
print(len(frequent_itemsets))
2328
rules = association_rules(frequent_itemsets)
Python में Market Basket Analysis

एसोसिएशन रूल्स

print(rules['consequents'])
0                   (DOTCOM POSTAGE)
                        ... 
9                 (HERB MARKER THYME)
                        ...
234        (JUMBO BAG RED RETROSPOT)
235         (WOODLAND CHARLOTTE BAG)
236    (RED RETROSPOT CHARLOTTE BAG)
237       (STRAWBERRY CHARLOTTE BAG)
238      (CHARLOTTE BAG SUKI DESIGN)
Name: consequents, Length: 239, dtype: object
Python में Market Basket Analysis

मल्टिपल मेट्रिक्स से फ़िल्टरिंग

targeted_rules = rules[rules['consequents'] == {'HERB MARKER THYME'}].copy()
filtered_rules = targeted_rules[(targeted_rules['antecedent support'] > 0.01) &
                        (targeted_rules['support'] > 0.009) &
                        (targeted_rules['confidence'] > 0.85) &
                        (targeted_rules['lift'] > 1.00)]
print(filtered_rules['antecedents'])
9        (HERB MARKER BASIL)
25     (HERB MARKER PARSLEY)
27    (HERB MARKER ROSEMARY)
Name: antecedents, dtype: object
Python में Market Basket Analysis

प्रोडक्ट्स को ग्रुप करना

चित्र में स्टोर का फ़्लोरप्लान है जहाँ बॉक्स बैग्स के साथ और साइन्स कैंडल्स के साथ ग्रुप किए गए हैं.

चित्र में स्टोर का फ़्लोरप्लान है जहाँ बॉक्स कैंडल्स के साथ और साइन्स बैग्स के साथ ग्रुप किए गए हैं.

चित्र में स्टोर का फ़्लोरप्लान है जहाँ बॉक्स साइन्स के साथ और कैंडल्स बैग्स के साथ ग्रुप किए गए हैं.

Python में Market Basket Analysis

एग्रीगेशन और डिसोसिएशन

# Load aggregated data
aggregated = pd.read_csv('datasets/online_retail_aggregated.csv')

# Compute frequent itemsets
onehot = encoder.fit(aggregated).transform(aggregated)
data = pd.DataFrame(onehot, columns = encoder.columns_)
frequent_itemsets = apriori(data, use_colnames=True)

# Compute standard metrics
rules = association_rules(frequent_itemsets)
# Compute Zhang's rule
rules['zhang'] = zhangs_rule(rules)
Python में Market Basket Analysis

Zhang का नियम

# Print rules that indicate dissociation
print(rules[rules['zhang'] < 0][['antecedents','consequents']])
  antecedents consequents
2       (bag)    (candle)
3    (candle)       (bag)
4      (sign)       (bag)
5       (bag)      (sign)
Python में Market Basket Analysis

फ़्लोरप्लान चुनना

चित्र में स्टोर का फ़्लोरप्लान है जहाँ बॉक्स बैग्स के साथ और साइन्स कैंडल्स के साथ ग्रुप किए गए हैं.

चित्र में स्टोर का फ़्लोरप्लान है जहाँ बॉक्स बैग्स के साथ और साइन्स कैंडल्स के साथ ग्रुप किए गए हैं.

चित्र में स्टोर का फ़्लोरप्लान है जहाँ बॉक्स बैग्स के साथ और साइन्स कैंडल्स के साथ ग्रुप किए गए हैं.

Python में Market Basket Analysis

अभ्यास करते हैं!

Python में Market Basket Analysis

Preparing Video For Download...