поиск ассоциативных правил машинное обучение

Анализ рыночной корзины и ассоциативные правила

В продолжении темы о Data Mining поговорим о том, с чего все начиналось. А начиналось все с анализа рыночной корзины (market basket analysis).

Анализ рыночной корзины — процесс поиска наиболее типичных шаблонов покупок в супермаркетах. Он производится путем анализа баз данных транзакций с целью определения комбинаций товаров, связанных между собой. Иными словами, выполняется обнаружение товаров, наличие которых в транзакции влияет на вероятность появления других товаров или их комбинаций.

Результаты, полученные с помощью анализа рыночной корзины, позволяют оптимизировать ассортимент товаров и запасы, размещение их в торговых залах, увеличивать объемы продаж за счет предложения клиентам сопутствующих товаров. Например, если в результате анализа будет установлено, что совместная покупка макарон и кетчупа является типичным шаблоном, то разместив эти товары на одной и той же витрине можно «спровоцировать» покупателя на их совместное приобретение.

Ассоциативные правила

Для решения задачи анализа рыночной корзины используются ассоциативные правила вида «если… то. ». Например, «если клиент купил пиво, то он купит и чипсы». Каждая покупка именуется «транзакцией», на основании большего набора таких транзакций и строят исследования поведения клиента.

Ассоциативные правила являются очень простой и удобной формой записи знаний. Еще раз хочу уточнить, что информация о транзакциях является исходными данными, а вот полученные ассоциативные правила являются теми знаниями, которые помогли в 80-х большим супермаркетам сэкономить большие деньги.

Для характеристики правила используются некоторые метрики:

Правило X->Y имеет поддержку s (support), если s транзакций из D, содержат пересечение множеств X и Y. Достоверность правила показывает какова вероятность того, что из X следует Y. Правило X->Y справедливо с достоверностью c (confidence), если c транзакций из D, содержащих X, также содержат Y, conf(X-> Y) = supp(X->Y)/supp(X ).

Как правило, очевидные правила имеют поддержку и достоверность высокую (60% и больше), но не являются знаниями де-факто. Основное внимание необходимо уделять правилам, имеющим поддержку 5-10%, именно они могут стать источником идеи промоакции или услуги.

Алгоритм Apriori

Основным алгоритмом, который применяется для получения ассоциативных правил, является алгоритм apriori. Его автором является Ракеш Агравал (Rakesh Agrawal, сейчас сотрудник Microsoft Research).

Алгоритм Apriori предназначен для поиска всех частых множеств признаков. Он является поуровневым, использует стратегию поиска в ширину и осуществляет его снизу-вверх.

Алгоритм перебора следующий (источник):
поиск ассоциативных правил машинное обучение
поиск ассоциативных правил машинное обучение

Основная особенность алгоритма — свойство антимонотонности (источник):
поиск ассоциативных правил машинное обучение

Apriori использует одно из свойств поддержки, гласящее: поддержка любого набора элементов не может превышать минимальной поддержки любого из его подмножеств. Например, поддержка 3-элементного набора <Хлеб, Масло, Молоко>будет всегда меньше или равна поддержке 2-элементных наборов <Хлеб, Масло>, <Хлеб, Молоко>, <Масло, Молоко>. Дело в том, что любая транзакция, содержащая <Хлеб, Масло, Молоко>, также должна содержать <Хлеб, Масло>, <Хлеб, Молоко>, <Масло, Молоко>, причем обратное не верно.

Благодаря этому свойству перебор не является «жадным» и позволяет обрабатывать большие массивы информации за секунды.
Классический алгоритм apriori уже был несколько раз модифицирован, работы по улучшению скорости ведутся и сейчас.

Источник

Методы поиска ассоциативных правил

В этой лекции мы подробно рассмотрим следующие вопросы:

Часто встречающиеся приложения с применением ассоциативных правил:

Введение в ассоциативные правила

Впервые задача поиска ассоциативных правил ( association rule mining) была предложена для нахождения типичных шаблонов покупок, совершаемых в супермаркетах, поэтому иногда ее еще называют анализом рыночной корзины (market basket analysis ).

Транзакции являются достаточно характерными операциями, ими, например, могут описываться результаты посещений различных магазинов.

Таблица 15.1. Транзакционная база данных

TIDПриобретенные покупки
100хлеб, молоко, печенье
200Молоко, сметана
300Молоко, хлеб, сметана, печенье
400Колбаса, сметана
500Хлеб, молоко, печенье, сметана

На основе имеющейся базы данных нам нужно найти закономерности между событиями, то есть покупками.

Источник

Методы поиска ассоциативных правил

Пример решения задачи поиска ассоциативных правил

Рассмотрим процесс построения ассоциативных правил в аналитическом пакете Deductor.

поиск ассоциативных правил машинное обучение

Далее вызываем мастер обработки и выбираем метод » Ассоциативные правила «. На втором шаге мастера проверяем назначения исходных столбцов данных, они должны иметь тип » ID » и «элемент».

поиск ассоциативных правил машинное обучение

поиск ассоциативных правил машинное обучение

На следующем шаге для просмотра полученных результатов предлагается выбрать визуализаторы из списка; мы выберем такие: «Популярные наборы», «Правила», » Дерево правил», «Что-если». Рассмотрим, что они из себя представляют.

Таблица 15.3. Визуализатор «Популярные наборы»

NМножество поиск ассоциативных правил машинное обучениеПоддержка
%Кол-во
6ХЛЕБ И БУЛКИ54,5524
3МАСЛО52,2723
5СОКИ50,0022
10МАСЛО И ХЛЕБ И БУЛКИ45,4520
4МОЛОКО43,1819
2КЕФИР31,8214
1ЙОГУРТЫ31,8214
12СОКИ И ХЛЕБ И БУЛКИ22,7310
11МОЛОКО И ХЛЕБ И БУЛКИ22,7310
8МАСЛО И МОЛОКО22,7310
7ЙОГУРТЫ И КЕФИР22,7310
13МАСЛО И МОЛОКО И ХЛЕБ И БУЛКИ20,459
9МАСЛО И СОКИ20,459

Визуализатор «Правила»

Таблица 15.4. Визуализатор «Правила»

NУсловиеСледствиеПоддержкаДостоверность, %
%Кол-во
1ЙОГУРТЫКЕФИР22,731071,43
2КЕФИРЙОГУРТЫ22,731071,43
3МАСЛОМОЛОКО22,731043,48
4МОЛОКОМАСЛО22,731052,63
5СОКИМАСЛО20,45940,91
6МАСЛОХЛЕБ И БУЛКИ45,452086,96
7ХЛЕБ И БУЛКИМАСЛО45,452083,33
8МОЛОКОХЛЕБ И БУЛКИ22,731052,63
9ХЛЕБ И БУЛКИМОЛОКО22,731041,67
10СОКИХЛЕБ И БУЛКИ22,731045,45
11ХЛЕБ И БУЛКИСОКИ22,731041,67
12МАСЛО И МОЛОКОХЛЕБ И БУЛКИ20,45990,00
13МАСЛО И ХЛЕБ И БУЛКИМОЛОКО20,45945,00
14МОЛОКО И ХЛЕБ И БУЛКИМАСЛО20,45990,00
15МОЛОКОМАСЛО И ХЛЕБ И БУЛКИ20,45947,37

При большом количестве найденных правил и широком ассортименте товаров анализировать полученные правила достаточно сложно. Для удобства анализа таких наборов правил предлагаются визуализаторы «Дерево правил» и «Что-если».

Визуализатор «что-если» удобен, если нам необходимо ответить на вопрос, какие следствия могут получиться из данного условия.

поиск ассоциативных правил машинное обучение

Рассмотренный пример поиска ассоциативных правил является типичной иллюстрацией задачи анализа покупательской корзины. В результате ее решения определяются часто встречающиеся наборы товаров, а также наборы товаров, совместно приобретаемые покупателями. Найденные правила могут быть использованы для решения различных задач, в частности для размещения товаров на прилавках магазинов, предоставления скидок на пары товаров для повышения объема продаж и, следовательно, прибыли и других задач.

Источник

Введение в анализ ассоциативных правил

поиск ассоциативных правил машинное обучение

Объемы современных баз данных, которые весьма внушительны, вызвали устойчивый спрос на новые масштабируемые алгоритмы анализа данных. Одним из популярных методов обнаружения знаний стали алгоритмы поиска ассоциативных правил. Ассоциативные правила позволяют находить закономерности между связанными событиями. Примером такого правила, служит утверждение, что покупатель, приобретающий «Хлеб», приобретет и «Молоко» с вероятностью 75%.

Внушительные объемы современных баз данных вызвали устойчивый спрос на новые масштабируемые алгоритмы анализа данных. Одним из популярных методов обнаружения знаний стали алгоритмы поиска ассоциативных правил.

Ассоциативные правила позволяют находить закономерности между связанными событиями. Примером такого правила служит утверждение, что покупатель, приобретающий «Хлеб», приобретет и «Молоко» с вероятностью 75%. Первый алгоритм поиска ассоциативных правил был разработан в 1993 году сотрудниками исследовательского центра IBM Almaden и назывался AIS [1]. С этой пионерской работы возрос интерес к ассоциативным правилам. На середину 90-х годов прошлого века пришелся пик исследовательских работ в этой области, и с тех пор каждый год появлялось по несколько алгоритмов.

Ассоциативные правила (Association Rules)

Впервые задача поиска ассоциативных правил была предложена для нахождения типичных шаблонов покупок, совершаемых в супермаркетах, поэтому иногда ее еще называют анализом рыночной корзины (market basket analysis).

Пусть имеется база данных, состоящая из покупательских транзакций. Каждая транзакция — это набор товаров, купленных покупателем за один визит. Такую транзакцию еще называют рыночной корзиной.

Покажем на конкретном примере: 75% транзакций, содержащих хлеб, также содержат молоко. 3% от общего числа всех транзакций содержат оба товара». 75% — это достоверность (confidence) правила, 3% это поддержка (support), или «Хлеб» «Молоко» с вероятностью 75%.

Задача нахождения ассоциативных правил разбивается на две подзадачи:

Один из первых алгоритмов, эффективно решающих подобный класс задач, — это алгоритм APriori [2]. Кроме него были разработаны и другие алгоритмы: DHP[5], Partition[6], DIC[7] и другие.

Значения для параметров минимальная поддержка и минимальная достоверность выбираются таким образом, чтобы ограничить количество найденных правил. Если поддержка имеет большое значение, то алгоритмы будут находить правила, хорошо известные аналитикам или настолько очевидные, что нет никакого смысла проводить такой анализ.

С другой стороны, низкое значение поддержки ведет к генерации огромного количества правил, что, конечно, требует существенных вычислительных ресурсов. Тем не менее, большинство интересных правил находится именно при низком значении порога поддержки. Хотя слишком низкое значение поддержки ведет к генерации статистически необоснованных правил.

Поиск ассоциативных правил совсем не тривиальная задача, как может показаться на первый взгляд. Одна из проблем — алгоритмическая сложность при нахождении часто встречающихся наборов элементов, т.к. с ростом числа элементов в I (| I |) экспоненциально растет число потенциальных наборов элементов.

Обобщенные ассоциативные правила (Generalized Association Rules)

При поиске ассоциативных правил мы предполагали, что все анализируемые элементы однородны. Возвращаясь к анализу рыночной корзины, это товары, имеющие совершенно одинаковые атрибуты, за исключением названия. Однако не составит большого труда дополнить транзакцию информацией о том, в какую товарную группу входит товар и построить иерархию товаров. Приведем пример такой группировки (таксономии) в виде иерархической модели.

поиск ассоциативных правил машинное обучение

Пример иерахической модели

Пусть нам дана база транзакций D и известно в какие группы (таксоны) входят элементы. Тогда можно извлекать из данных правила, связывающие группы с группами, отдельные элементы с группами и т.д.

Например, если Покупатель купил товар из группы «Безалкогольные напитки», то он купит и товар из группы «Молочные продукты» или «Сок» «Молочные продукты». Эти правила носят название обобщенных ассоциативных правил.

Введение дополнительной информации о группировке элементов в виде иерархии даст следующие преимущества:

Для нахождения таких правил можно использовать любой из вышеназванных алгоритмов. Для этого каждую транзакцию нужно дополнить всеми предками каждого элемента, входящего в транзакцию. Однако, применение «в лоб» этих алгоритмов неизбежно приведет к следующим проблемам:

Для нахождения обобщенных ассоциативных правил желательно использование специализированного алгоритма[3], который устраняет вышеописанные проблемы и к тому же работает в 2-5 раз быстрее, чем стандартный APriori.

Группировать элементы можно не только по вхождению в определенную товарную группу, но и по другим характеристикам, например по цене (дешево, дорого), брэнду и т.д.

Численные ассоциативные правила (Quantitative Association Rules)

При поиске ассоциативных правил задача была существенно упрощена. По сути все сводилось к тому, присутствует в транзакции элемент или нет. Т.е. если рассматривать случай рыночной корзины, то мы рассматривали два состояния: куплен товар или нет, проигнорировав, например, информацию о том, сколько было куплено, кто купил, характеристики покупателя и т.д. И можно сказать, что рассматривали «булевские» ассоциативные правила. Если взять любую базу данных, каждая транзакция состоит из различных типов данных: числовых, категориальных и т.д. Для обработки таких записей и извлечения численных ассоциативных правил был предложен алгоритм поиска [4].

Пример численного ассоциативного правила: [Возраст: 30-35] и [Семейное положение: женат] [Месячный доход: 1000-1500 тугриков].

Помимо описанных выше ассоциативных правил существуют косвенные ассоциативные правила, ассоциативные правила c отрицанием, временные ассоциативные правила для событий связанных во времени и другие.

Как было сказано, задача поиска ассоциативных правил впервые была представлена для анализа рыночной корзины. Ассоциативные правила эффективно используются в сегментации покупателей по поведению при покупках, анализе предпочтений клиентов, планировании расположения товаров в супермаркетах, кросс-продажах, адресной рассылке. Однако, сфера применения этих алгоритмов не ограничивается лишь одной торговлей. Их также успешно применяют и в других областях: медицине, для анализа посещений веб-страниц (Web Mining), для анализа текста (Text Mining), для анализа данных по переписи населения[7], в анализе и прогнозировании сбоев телекоммуникационного оборудования и т.д.

Источник

Методы поиска ассоциативных правил

Часто встречающиеся шаблоны или образцы

Допустим, имеется транзакционная база данных D. Присвоим значениям товаров переменные (таблица 15.2).

Таблица 15.2. Часто встречающиеся наборы товаров

TIDПриобретенные покупки

поиск ассоциативных правил машинное обучение

TIDПриобретенные покупки
100Хлеб, молоко, печенье100a, b, c
200Молоко, сметана200b, d
300Молоко, хлеб, сметана, печенье300b, a, d, c
400Колбаса, сметана400e, d
500Хлеб, молоко, печенье, сметана500a, b, c, d
600Конфеты600f

Рассмотрим набор товаров (Itemset), включающий, например, <Хлеб, молоко, печенье>. Выразим этот набор с помощью переменных:

Поддержка

Этот набор товаров встречается в нашей базе данных три раза, т.е. поддержка этого набора товаров равна 3:

Поддержку иногда также называют обеспечением набора.

Таким образом, набор представляет интерес, если его поддержка выше определенного пользователем минимального значения ( min support ). Эти наборы называют часто встречающимися (frequent).

Характеристики ассоциативных правил

Ассоциативное правило имеет вид: «Из события A следует событие B».

Основными характеристиками ассоциативного правила являются поддержка и достоверность правила.

Правило имеет поддержку s, если s% транзакций из всего набора содержат одновременно наборы элементов A и B или, другими словами, содержат оба товара.

Достоверность правила показывает, какова вероятность того, что из события A следует событие B.

Границы поддержки и достоверности ассоциативного правила

Если уровень достоверности слишком мал, то ценность правила вызывает серьезные сомнения. Например, правило с достоверностью в 3% только условно можно назвать правилом.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *