Gelişmiş Apriori sonuç budama

Python ile Market Basket Analysis

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Uygulamalar

Çapraz Tanıtım

Bu görsel çapraz tanıtıma bir örnek gösteriyor.

Toplulaştırma

Bu görsel toplulaştırmaya bir örnek gösteriyor.

Python ile Market Basket Analysis

Apriori algoritması

Listelerin Listesi

Bu görsel işlemlerdeki ürünlerin listelerin listesi örneğini gösteriyor.

One-Hot Encoding

Bu görsel işlemlerin one-hot encoding gösterimini içeriyor.

Apriori Algoritması

Bu görsel, 4 öğeden oluşan genel bir kümeye Apriori algoritmasının uygulanışını gösteriyor.

Python ile Market Basket Analysis

Apriori algoritması

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 ile Market Basket Analysis

Apriori algoritması

# 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 ile Market Basket Analysis

Apriori algoritması sonuçları

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

Birliktelik kuralları

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 ile Market Basket Analysis

Birden çok metrikle filtreleme

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 ile Market Basket Analysis

Ürünleri gruplama

Görselde kutuların çantalarla, tabelaların mumlarla gruplandığı bir mağaza planı gösteriliyor.

Görselde kutuların mumlarla, tabelaların çantalarla gruplandığı bir mağaza planı gösteriliyor.

Görselde kutuların tabelalarla, mumların çantalarla gruplandığı bir mağaza planı gösteriliyor.

Python ile Market Basket Analysis

Toplulaştırma ve ayrışma

# 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 ile Market Basket Analysis

Zhang kuralı

# 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 ile Market Basket Analysis

Bir mağaza planı seçme

Görselde kutuların çantalarla, tabelaların mumlarla gruplandığı bir mağaza planı gösteriliyor.

Görselde kutuların çantalarla, tabelaların mumlarla gruplandığı bir mağaza planı gösteriliyor.

Görselde kutuların çantalarla, tabelaların mumlarla gruplandığı bir mağaza planı gösteriliyor.

Python ile Market Basket Analysis

Hadi pratik yapalım!

Python ile Market Basket Analysis

Preparing Video For Download...