Продвинутые правила

Анализ рыночных корзин на Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Обзор анализа рыночной корзины

  • Стандартный процесс анализа рыночной корзины.
    1. Генерация большого набора правил.
    2. Фильтрация правил по метрикам.
    3. Применение интуиции и здравого смысла.
Анализ рыночных корзин на Python

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

  • Число правил растёт экспоненциально с ростом числа товаров.
    • Большинство правил бесполезны.
  • Необходима первичная фильтрация.
    • Рассматривается в главе 3 с помощью алгоритма Apriori
Анализ рыночных корзин на 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
Анализ рыночных корзин на 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
Анализ рыночных корзин на 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
Анализ рыночных корзин на 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
Анализ рыночных корзин на Python

Давайте потренируемся!

Анализ рыночных корзин на Python

Preparing Video For Download...