2. План лекции
● Недостатки ассоциативного анализа
● Общие понятия секвенциального анализа
● Основные правила секвенциального
анализа
● Алгоритм AprioriAll
● Алгоритм GSP
Цель лекции — овладеть основами и
инструментами секвенциального анализа 2
3. Ассоциативный анализ
● Объект анализа — множество транзакции
● Предмет анализа — выявление частых
наборов
● И построение на основании этих наборов
полезных правил
3
4. Ограничения
● Не рассматриваются повторяющиеся
элементы в наборе
● Не рассматривается время
4
5. Секвенциальный анализ
● Объект анализа — множество транзакции
● Предмет анализа — выявление частых
последовательностей
● И построение на основании этих
последовательностей полезных правил
5
6. Применение
● Интернет-магазины(с аккаунтами)
● Системы анализа посещаемости
– rating.auditory.ru
● Традиционные магазины (с картами
покупателей)
● И другие виды анализа
последовательностей
6
7. Основные понятия
● Набор
● Идентификатор сущности
● Последовательность
● Поддержка последовательности
● Вхождение последовательности в другую
7
15. Подготовительные фазы
● Сортировки
● Генерация одноэлементных кандидатов
– Сразу проверка на поддержку
● Трансформации
– Превращаем наши транзакции в
последовательности
15
16. Фаза трансформации
● Записываем в строчку транзакции
последовательно
● Исключаем нечастые элементы
● Заменяем элементы максимально
возможным числом одноэлементных
последовательностей
16
18. Пример(веб-страницы)
Сущность По ID
1 ({1,5,6}, {1,3,10,9}, {1,5,3,9})
2 ({1,3,9}, {1,2,5},{1,4,9})
3 ({10,9,2,5},{5,2,3,9})
4 {5,2,6,3,9}
5 {3,9,10,2}
Сущность По ID
1 ({5}, {3}{9}{10}{3,9}{9,10}{3,9,10}, {3}{5}{9}{3,9}{3,5}{5,9}{3,5,9})
2 ({3}{9}{3,9}, {2}{5}{2,5}, {9})
3 ({2}{5}{9}{10}{2,5}{2,9}{5,9}{9,10}, {2}{3}{5}{9}{2,3}{2,5}{2,9}{3,5}{3,9}{5,9}
{2,3,9}{3,5,9})
4 ({2}{3}{5}{9}{2,3}{2,5}{2,9}{3,5}{3,9}{5,9}{2,3,9}{3,5,9})
5
18
19. Пример(веб-страницы)
Сущность По ID
1 ({1,5,6}, {1,3,10,9}, {1,5,3,9})
2 ({1,3,9}, {1,2,5},{1,4,9})
3 ({10,9,2,5},{5,2,3,9})
4 {5,2,6,3,9}
5 {3,9,10,2}
Сущность По ID
1 ({5}, {3}{9}{10}{3,9}{9,10}{3,9,10}, {3}{5}{9}{3,9}{3,5}{5,9}{3,5,9})
2 ({3}{9}{3,9}, {2}{5}{2,5}, {9})
3 ({2}{5}{9}{10}{2,5}{2,9}{5,9}{9,10}, {2}{3}{5}{9}{2,3}{2,5}{2,9}{3,5}{3,9}{5,9}
{2,3,9}{3,5,9})
4 ({2}{3}{5}{9}{2,3}{2,5}{2,9}{3,5}{3,9}{5,9}{2,3,9}{3,5,9})
5 ({2}{3}{9}{10}{2,3}{2,9}{3,9}{9,10}{2,3,9})
19
20. Пример(веб-страницы)
Сущность По ID
1 ({5}, {3}{9}{10}{3,9}{9,10}{3,9,10}, {3}{5}{9}{3,5}{3,9}{5,9}{3,5,9})
2 ({3}{9}{3,9}, {2}{5}{2,5}, {9})
3 ({2}{5}{9}{10}{2,5}{2,9}{5,9}{9,10}, {2}{3}{5}{9}{2,3}{2,5}{2,9}{3,5}{3,9}{5,9}
{2,3,9}{3,5,9})
4 ({2}{3}{5}{9}{2,3}{2,5}{2,9}{3,5}{3,9}{5,9}{2,3,9}{3,5,9})
5 ({2}{3}{9}{10}{2,3}{2,9}{3,9}{9,10}{2,3,9})
Сущность По ID
1 ({c},{b,d,e,j,l,o},{b,c,d,i,j,k,n})
2
3
4 ({a,b,c,d,f,g,h,i,j,k,m,n})
5
20
21. Алгоритм AprioriALL -
недостатки
● Учитывает последовательность, но не
учитывает временные рамки
21
22. Временные рамки
● Максимальное время между
транзакциями(max-gap)
● Минимальное время между
транзакциями(min-gap)
● Временное окно, в котором две транзакции
можно слить(window)
22
23. Алгоритм GSP
● Итеративный
● Учитывает время между транзакциями
● Смежные последовательности
● Каждую итерацию — фазы
– Генерации кандидатов
● Подфаза объединения
● Подфаза очистки
– Подсчет поддержки
23
24. Подфаза объединения
● Объединяем последовательности в том
случае, если удаление первого элемента из
одной и последнего из другой дает одну и ту
же последовательность
24
25. Подфаза очистки
● Удаляем те из объединенных
последовательностей, которые содержат
смежные подпоследовательности на 1
меньшего размера, не удовлетворяющие
минимальному значению поддержки
25
26. Подсчет поддержки
● Подсчет поддержки происходит для каждого
из кандидатов путем итеративного поиска по
выборке следующего составляющего
кандидата с учетом min-gap, max-gap,
window и повышении поддержки на 1 при
нахождении
26