Розширені правила

Маркет-баcкет аналіз у Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Огляд market basket analysis

  • Стандартна процедура для market basket analysis.
    1. Згенеруйте великий набір правил.
    2. Відфільтруйте правила за метриками.
    3. Застосуйте інтуїцію та здоровий глузд.
Маркет-баcкет аналіз у Python

Генерування правил

  • Кількість правил зростає експоненційно з кількістю товарів.
    • Більшість правил не корисні.
  • Потрібне початкове фільтрування.
    • Розглянемо в розділі 3 через алгоритм Apriori
Маркет-баcкет аналіз у Python

Як працює фільтрування?

ID antecedents consequents support Lift
1 Harry Potter The Hunger Games 0,001 1,01
2 Hunger Games Twilight 0,020 1,23
3 Pride and Prejudice The Hobbit 0,030 1,05
4 The Hobbit Twilight 0,015 0,85
5 Harry Potter The Hobbit 0,010 1,07
Маркет-баcкет аналіз у Python

Багатометричне фільтрування

ID antecedents consequents support zhang
1 Harry Potter The Hunger Games 0,001 -0,05
2 Hunger Games Twilight 0,020 0,17
3 Pride and Prejudice The Hobbit 0,030 0,06
4 The Hobbit Twilight 0,015 -0,04
5 Harry Potter The Hobbit 0,010 0,34
Маркет-баcкет аналіз у Python

Виконання багатометричного фільтрування

print(rules.head())
  antecedents consequents  antecedent support  ... support  confidence  ... conviction  
0 Potter      Hunger       0.48                ...  0.12  ... 0.26      ...  0.92
1 Potter      Hunger       0.32                ...  0.12  ... 0.26      ...  0.92 
2 Twilight    Hunger       0.26                ...  0.09  ... 0.35      ...  1.04
3 Hunger      Twilight     0.32                ...  0.09  ... 0.28      ...  1.03 
4 Mockingbird Hunger       0.48                ...  0.10  ... 0.20      ...  0.85
Маркет-баcкет аналіз у Python

Виконання багатометричного фільтрування

# Select subset of rules with low consequent support.
rules = rules[rules['consequent support'] < 0.05]
print(len(rules))
12
# Select subset of rules with lift > 1.5.
rules = rules[rules['lift'] > 1.5]
print(len(rules))
2
Маркет-баcкет аналіз у Python

Давайте потренуємось!

Маркет-баcкет аналіз у Python

Preparing Video For Download...