Cea mai simplă metrică

Analiza coșului de cumpărături în Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Metrici și reducere

  • O metrică este o măsură a performanței regulilor.
    • {humor} $\rightarrow$ {poetry}
      • 0.81
    • {fiction} $\rightarrow$ {travel}
      • 0.23
  • Reducerea reprezintă utilizarea metricilor pentru a elimina reguli.
    • Păstrată: {humor} $\rightarrow$ {poetry}
    • Eliminată: {fiction} $\rightarrow$ {travel}
Analiza coșului de cumpărături în Python

Cea mai simplă metrică

  • Metrica suport măsoară ponderea tranzacțiilor care conțin un set de elemente.

 

$$\frac{\text{numărul tranzacțiilor cu element(e)}}{\text{numărul total de tranzacții}}$$

 

$$\frac{\text{numărul tranzacțiilor cu lapte}}{\text{total tranzacții}}$$

Analiza coșului de cumpărături în Python

Suport pentru language

TID Tranzacție
0 travel, humor, fiction
1 humor, language
2 humor, biography, cooking
3 cooking, language
4 travel

 

Suport pentru {language} = 2 / 10 = 0.2

TID Tranzacție
5 poetry, health, travel, history
6 humor
7 travel
8 poetry, fiction, humor
9 fiction, biography
Analiza coșului de cumpărături în Python

Suport pentru {Humor} $\rightarrow$ {Language}

TID Tranzacție
0 travel,humor,fiction
1 humor,language
2 humor,biography,cooking
3 cooking,language
4 travel

 

SUPORT pentru {language} $\rightarrow$ {humor} = 0.1

TID Tranzacție
5 poetry,health,travel,history
6 humor
7 travel
8 poetry,fiction,humor
9 fiction,biography
Analiza coșului de cumpărături în Python

Pregătirea datelor

print(transactions)
[['travel', 'humor', 'fiction'],
...
['fiction', 'biography']]
from mlxtend.preprocessing import TransactionEncoder
# Instantiate transaction encoder
encoder = TransactionEncoder().fit(transactions)
Analiza coșului de cumpărături în Python

Pregătirea datelor

# One-hot encode itemsets by applying fit and transform
onehot = encoder.transform(transactions)
# Convert one-hot encoded data to DataFrame
onehot = pd.DataFrame(onehot, columns = encoder.columns_)
print(onehot)
   biography  cooking  ...  poetry  travel
0  False      False   ...   False    True
...
9  True       False   ...   False    False
Analiza coșului de cumpărături în Python

Calculul suportului pentru elemente individuale

print(onehot.mean())
biography    0.2
cooking      0.2
fiction      0.3
health       0.1
history      0.1
humor        0.5
language     0.2
poetry       0.2
travel       0.4
dtype: float64
Analiza coșului de cumpărături în Python

Calculul suportului pentru mai multe elemente

import numpy as np

# Define itemset that contains fiction and poetry
onehot['fiction+poetry'] = np.logical_and(onehot['fiction'],onehot['poetry'])

print(onehot.mean())
biography         0.2
cooking           0.2
...               ...
travel            0.4
fiction+poetry    0.1
dtype: float64
Analiza coșului de cumpărături în Python

Vamos praticar!

Analiza coșului de cumpărături în Python

Preparing Video For Download...