- •Анализ ассоциаций
- •Анализ рыночной корзины
- •Ассоциативные правила
- •Цели и задачи анализа ассоциаций
- •Обобщенные ассоциативные правила
- •Другие виды ассоциативных правил
- •Применение анализа ассоциаций
- •Модель данных
- •Модель ассоциативных правил
- •Алгоритм Apriori
- •Алгоритмы для больших объемов выборок
- •Алгоритм Partition
- •Список использованных источников
Алгоритм Apriori
Принцип Apriori
Все возможные наборы элементов из I можно представить в виде решетки, начинающейся с пустого множества, затем на 1 уровне 1-элементные наборы, на 2-м – 2-элементные и т.д. На k уровне представлены k-элементные наборы, связанные со всеми своими (k-1)-элементными подмножествами.
Рассмотрим рисунок 3.1, иллюстрирующий набор элементов I – {a, b, c, d, e}. Предположим, что набор из элементов {a, b} имеет поддержку ниже заданного порога и, соответственно, не является часто встречающимся. Тогда, согласно свойству антимонотонности, все его супермножества также не являются часто встречающимися и отбрасываются. Вся эта ветвь, начиная с {a, b}, вычеркивается. Использование этой эвристики позволяет существенно сократить пространство поиска.
Рисунок 3.1 – Демонстрация принципа Apriori
Алгоритм Apriori
На первом шаге алгоритма подсчитываются 1-элементные часто встречающиеся наборы. Для этого необходимо пройтись по всему набору данных и подсчитать для них поддержку, т.е. сколько раз встречается в базе.
Работа данного алгоритма состоит из нескольких шагов, каждый из следующих шагов состоит из следующих этапов:
а) формирование кандидатов;
б) подсчет кандидатов.
Формирование кандидатов (candidate generation) – этап, на котором алгоритм, сканируя базу данных, создает множество i-элементных кандидатов (i – номер этапа). На этом этапе поддержка кандидатов не рассчитывается.
Подсчет кандидатов (candidate counting) – этап, на котором вычисляется поддержка каждого i-элементного кандидата. Здесь же осуществляется отсечение кандидатов, поддержка которых меньше минимума, установленного пользователем (minsupp). Оставшиеся i-элементные наборы называем часто встречающимися.
Алгоритмы для больших объемов выборок
При обработке больших объемов данных приходится сталкиваться с двумя основными проблемами:
1) управление и обработка экспоненциально возрастающих объемов данных, которые часто поступают в реальном времени в виде потоков данных от массивов сенсоров или приборов, или генерируются в ходе имитационного моделирования;
2) существенное сокращение времени анализа данных, чтобы исследователи имели возможность своевременного принятия решений.
Приложения, ориентированные исключительно на обработку больших объемов данных, имеют дело с наборами данных объемом от нескольких терабайт до петабайта. Как правило, эти данные поступают в нескольких разных форматах и часто распределены между несколькими местоположениями. Обработка подобных наборов данных обычно происходит в режиме многошагового аналитического конвейера, включающего стадии преобразования и интеграции данных. Требования к вычислениям обычно почти линейно возрастают при росте объема данных, и вычисления часто поддаются простому распараллеливанию. К основным исследовательским проблемам относятся управление данными, методы фильтрации и интеграции данных, эффективная поддержка запросов и распределенности данных.
Одним из направлений повышения эффективности обработки популярных предметных наборов является сокращение необходимого числа сканирований базы данных транзакций. Алгоритм Apriori сканирует базу данных несколько раз, в зависимости от числа элементов в предметных наборах. Существует ряд алгоритмов, позволяющих уменьшить необходимое число сканирований набора данных или количество популярных предметных наборов, генерируемые на каждом сканировании, либо оба этих показателя.
К усовершенствованным алгоритмам относятся: PARTITION, DIC, алгоритм случайной выборки.
