Agregasi

Analisis Market Basket dengan Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Menjelajahi data

import pandas as pd

# Muat data novelty gift.
gifts = pd.read_csv('datasets/novelty_gifts.csv')

# Pratinjau data dengan head().
print(gifts.head())
  InvoiceNo                          Description
0    562583      IVORY STRING CURTAIN WITH POLE 
1    562583        PINK AND BLACK STRING CURTAIN
2    562583                PSYCHEDELIC TILE HOOK
3    562583                ENAMEL COLANDER CREAM
4    562583  SMALL FOLDING SCISSOR(POINTED EDGE)
Analisis Market Basket dengan Python

Menjelajahi data

# Cetak jumlah transaksi.
print(len(gifts['InvoiceNo'].unique()))
9709
# Cetak jumlah item.
print(len(gifts['Description'].unique()))
3461
Analisis Market Basket dengan Python

Pruning dan agregasi

Pruning Diagram menampilkan daftar item, beberapa dicoret untuk menunjukkan bahwa item tersebut dipangkas.

Agregasi Diagram menunjukkan daftar item dipetakan ke daftar yang lebih kecil untuk menunjukkan bahwa

Analisis Market Basket dengan Python

Mengagregasi data

# Muat data one-hot encoded
onehot = pd.read_csv('datasets/online_retail_onehot.csv')

# Cetak pratinjau DataFrame
print(onehot.head(2))
    50'S CHRISTMAS GIFT BAG LARGE   DOLLY GIRL BEAKER ...  ZINC WILLIE WINKIE  CANDLE STICK
0                           False               False                               False
1                           False               False                               True
Analisis Market Basket dengan Python

Mengagregasi data

# Pilih nama kolom untuk bags dan boxes
bag_headers = [i for i in onehot.columns if i.lower().find('bag')>=0]
box_headers = [i for i in onehot.columns if i.lower().find('box')>=0]
# Identifikasi header kolom
bags = onehot[bag_headers]
boxes = onehot[box_headers]
print(bags)
       50'S CHRISTMAS GIFT BAG LARGE   RED SPOT GIFT BAG LARGE  
0                              False                     False   
1                              False                     False
...                             ...                      ...
Analisis Market Basket dengan Python

Mengagregasi data

# Jumlahkan per kolom
bags = (bags.sum(axis=1) > 0.0).values
boxes = (boxes.sum(axis=1) > 0.0).values
print(bags)
[False  True False ... False  True False]
Analisis Market Basket dengan Python

Mengagregasi data

# Tambahkan hasil ke DataFrame
aggregated = pd.DataFrame(np.vstack([bags, boxes]).T, columns = ['bags', 'boxes'])
print(aggregated.head())
    bags  boxes
0  False  False
1   True  False
2  False  False
3  False  False
4   True  False
Analisis Market Basket dengan Python

Analisis keranjang belanja dengan agregat

  • Proses agregasi:
    • Item -> Kategori
    • Hitung metrik
    • Identifikasi aturan
# Hitung support
print(aggregated.mean())
bags     0.130075
boxes    0.071429
Analisis Market Basket dengan Python

Ayo berlatih!

Analisis Market Basket dengan Python

Preparing Video For Download...