Правило ассоциации добыча (или анализ корзины на рынке). Он имеет широкое использование в промышленности и является одним из моих любимых алгоритмов из-за его простоты и изобретательности. Сегодня мы покроем алгоритм априори, который используется для анализа корзины на рынке.
Сегодня мы покроем Априорский алгоритм , который используется для анализа корзины на рынке.
Хотя его часто достаточно для эксперта в любом другом традиционном предмете (например, математики или физики), чтобы знать их предметы, это определенно не так для программиста или ученого данных.
Важно иметь звуковую логику, навыки решения проблем, эффективные навыки программирования, знания домена и знания об алгоритмах.
Сохранение этого в виду, сегодня я принес что-то особенное для вас – ассоциация правила добычи добычи (или анализ корзины на рынке) Отказ
Он имеет широкое использование в промышленности и является одним из моих любимых алгоритмов из-за его простоты и изобретательности. Итак, давайте направимся в тему.
Ассоциативные правила
Что такое анализ корзины на рынке?
Рассмотрим сценарий – Вы являетесь генеральным директором огромного магазина (например, Amazon или Walmart).
Вы ищете способ увеличить ваши продажи, с наилучшими усилиями.
У вас есть история транзакции всех ваших клиентов, и вы наблюдаете, что когда люди покупают чай, 50% времени, которые они также покупают молоко. Точно так же, когда клиенты покупают пару брюк, они также имеют тенденцию искать рубашку.
И вы попадаете с идеей! Вы направляете своих сотрудников, чтобы перенести предметы, которые часто покупают, гораздо ближе друг к другу. Таким образом, клиенты более склонны рассмотреть возможность покупки этих предметов вместе.
И ваши распродажи Skyrocket … Win – Win Отказ
Это именно то, что используется каждым онлайн-сервисом Now – Netflix, Amazon, Flipkart … Вы называете его. Фактически, он также используется телеканалами (конкретные объявления наряду с IPL), страховыми компаниями и т. Д. Но в основном для покупок.
Это анализ рыночной корзины. Из набора данных транзакций можно найти и извлечь «правила», для которых элементы продаются вместе, а затем предметы могут быть сгруппированы вместе для получения дополнительной прибыли.
Есть много алгоритмов для добычи правила ассоциации, но два из самых популярных являются:
- Априори алгоритм
- ФП Древного алгоритма
Преимущества рыночной корзины
- Определение предметов, которые также могут быть куплены вместе и координация расположения таких предметов поблизости (например, в каталоге или на веб-сайте), чтобы позволить потребителю приобрести все продукты.
- Альтернативное использование для расположения физических товаров в магазине состоит в том, чтобы различать предметы, которые часто покупают одновременно и позволяют клиентам ходить по магазину и находить то, что они ищет теоретически увеличить возможность дополнительных продаж с импульсами.
- В то же время клиенты могут быть предсказаны на покупку кластерных товаров. Это помогает презентацию перекрестных товаров или может означать, что когда такие вещи упакованы вместе, потребители могут приобрести больше товаров.
- Представитель компании также может использовать анализ корзины на рынке для решения наилучших предложений, чтобы поддерживать бизнес клиента, когда потребители приближаются к бизнесу, чтобы нарушить отношения.
Реализация алгоритма априори в Python
Во-первых, мы делаем это прямо с нуля, чтобы вы получили концепции. Там, конечно, многие пакеты, которые вы можете использовать для реальных наборов данных, но концепции важнее:
003 Ассоциативные правила силами Python 3
- https://pypi.org/project/efficient-apriori/
- https://pypi.org/project/apyori/
- https://anaconda.org/auto/apriori
1. Создайте набор данных
Итак, давайте создадим наш набор транзакций!
df = pd.DataFrame() df[‘Transaction id’] = [‘T’+str(i) for i in range(9)]
df[‘items’] = [[‘A’,’B’,’E’], [‘B’,’D’], [‘B’,’C’], [‘A’,’B’,’D’], [‘A’,’C’], [‘B’,’C’], [‘A’,’C’], [‘A’,’B’,’C’,’E’], [‘A’,’B’,’C’]]
2. Подсчитайте каждый продукт в наборах (1-наборы)
Далее мы находим количество каждого элемента кандидата:
items = [] counts = <> for i in range(df.shape[0]): for item in df[‘items’][i]: if item not in items: items.append(item) counts[item]=1 else: counts[item] +=1
Теперь мы проверяем счет против Минимальная поддержка , который является нашим порогом. Итак, скажем, наша поддержка 2. Это означает, что мы рассматриваем только предметы, которые произошли два или более раз.
3. Сгруппировка предметов вместе (2-элементы)
Русские Блоги
Анализ принципов правил ассоциации (Association Rules) и пример реализации Python
каталог
1. Правила ассоциации
Правила ассоциации (Правила ассоциации) отражают взаимозависимость и корреляцию между вещью и другими вещами.Если существует определенная связь между двумя или более вещами, то одна из вещей может быть предсказана другими вещами. , Правила ассоциации — важная технология для интеллектуального анализа данных, используемая для определения корреляции между ценными элементами данных из большого объема данных. 。
Самым классическим примером майнинга правил ассоциации является история пива и подгузников Wal-Mart. Анализируя данные о корзинах для покупок в супермаркетах, то есть взаимосвязь между различными продуктами, которые покупатели вносят в корзину, анализ покупательских привычек покупателей и обнаружение американок Мужьям часто говорят, чтобы они покупали подгузники для своих детей после работы. 30-40% мужей также будут покупать свое любимое пиво одновременно. Супермаркеты собирают подгузники и пиво вместе, чтобы увеличить продажи. С этим открытием супермаркет изменил настройки полок и собрал подгузники и пиво для продажи, что значительно увеличило продажи 。
2. Общие случаи
Ранее мы говорили о примере майнинга правил связывания в корзинах для покупок в супермаркетах. Использование Apriori для частого майнинга наборов данных и создания правил связывания является очень полезной техникой. Среди них наши известные примеры:
( 1) Подгузники и пиво в супермаркете Walmart
( 2) Молоко и хлеб в супермаркете
( 3) Сопутствующие документы, рекомендованные библиотекой Baidu.
( 4) Taobao рекомендует соответствующие книги
( 5) Медицинское лечение рекомендует возможные комбинации лечения
( 6) Банки рекомендуют связанные бизнесы — это бизнес-аналитика и правила ассоциации в реальной жизни. Использование.
3. Уверенность и поддержка
какие Это правило ?
правило Сформированный как «Если . Тогда . », первое является условием, второе является результатом 。
Например Покупатель кока-колы также покупает сок.
Как Чтобы измерить, является ли правило достаточно хорошим ?
Have Две величины: доверие и поддержка, если в следующей таблице есть записи о покупках 。
TID | item |
001 | I1,I2,I5 |
002 | I2,I4 |
003 | I2,I3 |
004 | I1,I2,I4 |
Среди них I = представляет собой набор из m различных элементов, элементы в коллекции называютсяПункт (пункт)。
проект Набор I называется набором элементов, а элементы длиной k интегрируются в k-элементы.
устанавливать Связанные с задачей данные D представляют собой совокупность транзакций базы данных, где каждая транзакция T представляет собой совокупность элементов, например T⊆I. Каждая транзакция имеет идентификатор TID, пусть A — набор элементов, транзакция T содержит A тогда и только тогда, когда A⊆I, тогда форма правила ассоциации A => B (где A⊂I, B⊂I и A∩ B = ∅), число транзакций в наборе транзакций D записывается как | D |.
в В метриках правил ассоциации есть две важные метрики:
Поддержка и уверенность
для Правило ассоциации R: A => B, тогда:
поддержка (Suppport): количество транзакций и всех транзакций в наборе транзакций, которые содержат как A, так и B Коэффициент транзакций 。
Put Доверие: это отношение количества транзакций с участием A и B к количеству транзакций с участием A.
(3) Степень поддержки
поддержка (Поддержка) Рассчитайте вероятность того, что есть и A и B во всех наборах транзакций. Например, среди 5 записей есть 2 записи с апельсиновым соком и колой. Тогда степень поддержки этого правила будет 2/5 = 0,4, то есть:
Апельсиновый сок, моющее средство
в настоящее время Это правило может быть сформулировано следующим образом: если клиент покупает апельсиновый сок, существует вероятность 50% (доверия) купить кока-колу. В такой ситуации (то есть, если вы купите апельсиновый сок, вы купите колу), будет 40% (поддержка).
(4) Уровень доверия
Put Уверенность показывает, в какой степени это правило заслуживает доверия. Пусть набор условных элементов будет A и набор результатов B. Доверие рассчитывается в A, а также содержит вероятность B (то есть: вероятность, если A, то B). То есть ::
Например Рассчитайте доверие «Кока-колы, если апельсин». Из-за 4 транзакций, содержащих «апельсиновый сок», только 2 транзакции содержат «Кокс», а уровень достоверности составляет 0,5.
(5) Минимальная поддержка и частый сбор
открытие Правила ассоциации требуют, чтобы минимальный порог поддержки, которому должен соответствовать набор элементов, назывался минимальной поддержкой набора элементов (Minimum Support) и записывался как supmin. Набор элементов со степенью поддержки, большей или равной supmin, называется частым набором элементов, называемым частым набором, в противном случае он называется нечастым набором. Обычно, если набор k-элементов удовлетворяет supmin, он называется k-частым набором и обозначается как Lk. Минимальная достоверность правила ассоциации (Minimum Confidence) записывается как confmin, который представляет минимальную надежность, которой должно соответствовать правило ассоциации 。
(6) Правила ассоциации
Вообще говоря, только правила ассоциации с высокой поддержкой и доверием являются правилами, которые представляют интерес и полезны для пользователей.
(7) Сильные правила ассоциации
если Правило R: X => Y удовлетворяет поддержке (X => Y)> = supmin и доверительности (X => Y)> = confmin, правило ассоциации X => Y называется правилом сильной ассоциации, в противном случае правило ассоциации X => Y Слабые правила ассоциации.
в При разработке правил ассоциации майнинга сгенерированные правила ассоциации должны быть измерены с помощью supmin и confmin, а экранированные правила сильной ассоциации могут использоваться для принятия бизнес-решения. 。
(8) Априорный алгоритм майнинга частых наборов предметов . акцент
Правила ассоциации используются для майнинга корзин, обычно в два этапа:
a Узнайте все часто встречающиеся наборы элементов (я использую алгоритм Apriori> = минимально поддерживаемый набор элементов в статье)
б) Сильные правила ассоциации генерируются из частых наборов предметов, и эти правила должны быть больше или равны минимальной поддержке и минимальному доверию.
ниже В данной статье анализируется алгоритм Apriori для майнинга правил ассоциации на примере покупок в супермаркетах.
Apriori Алгоритм представляет собой алгоритм для поиска частых наборов элементов правил булевых ассоциаций, который может анализировать частые наборы элементов посредством соединения и сокращения алгоритма.
Алгоритм Apriori разделяет процесс обнаружения правил ассоциации на два этапа:
1 Через итерацию извлекают все частые наборы элементов в базе данных транзакций, то есть наборы элементов, поддержка которых не ниже порогового значения, установленного пользователем;
2 Используйте частые наборы элементов для создания правил, которые удовлетворяют минимальному доверию пользователя.
выемка грунта Или признайте, что все частые наборы элементов являются ядром алгоритма и составляют большую часть всего расчета.
Дополните соответствующие знания по частым комплектам предметов:
K -Item set: относится к набору предметов, содержащему K предметов;
наборов Частота возникновения: относится к количеству транзакций, содержащих набор элементов, называемых частотой, счетчиком поддержки или счетом набора элементов;
часто Набор элементов: если частота набора элементов больше или равна минимальному порогу подсчета поддержки, это называется набором частых элементов, где набор частых наборов K-элементов обычно записывается как Lk.
ниже Алгоритм описывается непосредственно на примере: как показано в следующей таблице, правила сопоставления алгоритма Apriori используются для добычи наборов частых элементов в наборе данных. (Минимальное количество поддержки 2 )
ID | items |
1 | A,C,D |
2 | B,C,E |
3 | A,B,C,E |
4 | B,E |
Конкретный процесс заключается в следующем:
Конкретные результаты анализа:
первый Подсканирование: C1 подсчитывается для каждого продукта-кандидата, потому что число поддержки кандидата равно 1 <минимальное количество поддержки 2, поэтому часто удаляется из 1 набора элементов L1;
второй Подсканирование: сгенерируйте кандидата C2 из L1 и подсчитайте кандидата C2, сравните число поддержки кандидатов и минимальное количество поддержки 2, чтобы получить частый набор из 2 элементов L2;
третий Подсканирование. Процесс подключения и сокращения L2 с помощью алгоритма Apriori для создания набора элементов C3 кандидата 3 выглядит следующим образом:
< Подмножества из двух элементов , и в A, B, C>, где не является подмножеством L2 из 2 элементов, поэтому оно встречается не часто. удалить;
< Подмножества двух элементов , и в A, C, E>, где не является подмножеством L2 из двух элементов, поэтому оно не часто с C3 удалить;
< Подмножества из двух элементов B, C, E>, и , все его подмножества из двух элементов являются элементами L2, которые сохраняются в C3.
через Алгоритм Apriori генерирует набор подходящих наборов элементов 3 после соединения L2, и отсечение равно C3 = . При подсчете продуктов-кандидатов, поскольку он равен минимальному количеству поддержки 2, это часто набор из 3 элементов L3 И поскольку в 4-членном наборе есть только один, C4 — это пустой набор, и алгоритм завершается 。
(9) Пример: частые наборы элементов генерируют строгие правила ассоциации
Правило сильной ассоциации: если правило R: X => Y удовлетворяет поддержке (X => Y)> = supmin (минимальная поддержка, она используется для измерения минимальной важности правила, которое должно быть удовлетворено) и уверенности (X => Y)> = confmin (минимальная достоверность, представляющая минимальную надежность, которой должно соответствовать правило ассоциации), относится к правилу ассоциации X => Y как к правилу строгой ассоциации, в противном случае правило ассоциации X => Y является правилом слабой ассоциации.
ID | items |
1 | A,C,D |
2 | B,C,E |
3 | A,B,C,E |
4 | B,E |
существующий A, B, C, D, E пять видов таблицы записей транзакций товаров, найти все частые наборы товаров, предполагая, что минимальная поддержка> = 50%, минимальная достоверность> = 50%.
для Правило ассоциации R: A => B, тогда:
поддержка (Поддержка): Это отношение количества транзакций, содержащих как А, так и В в транзакции, к числу всех транзакций.
Put Доверие: это отношение количества транзакций с участием A и B к количеству транзакций с участием A.
тогда Для комбинации наборов элементов в L1 рассчитайте их поддержку отдельно. Среди них набор элементов появляется один раз в T3, и его поддержка = 1/4 = 25%, что меньше минимальной поддержки 50%, поэтому Удалить и аналогичным образом получить наборы элементов L2 。
Тогда, как показано ниже, да L2 Наборы элементов объединяются, и более трех элементов фильтруются и, наконец, рассчитываются L3 наборов 。
Наконец, рассчитайте уровень достоверности, как показано на рисунке ниже.
(10) код Python
На основе приведенного выше примера мы используем код для достижения
Сначала установите Pymining
pip install pymining
from pymining import itemmining, assocrules
Определите набор данных
transactions = ((‘a’, ‘c’, ‘d’), (‘b’, ‘c’, ‘e’), (‘a’,’b’, ‘c’, ‘e’), (‘b’, ‘e’))
relim_input = itemmining.get_relim_input(transactions)
report = itemmining.relim(relim_input, min_support=2)
rules1 = assocrules.mine_assoc_rules(report, min_support=2, min_confidence=0.5)
Простой способ решить алгоритм Apriori с нуля
Среди методов машинного обучения — ассоциации, корреляции, классификации и кластеризации — акцент в этом руководстве сделан на обучении ассоциативным правилам, по которым выявляется набор элементов и атрибутов, встречающихся вместе в таблице .
Обучение ассоциативным правилам
Обучение ассоциативным правилам — одна из важнейших концепций машинного обучения. Применяется в анализе рыночной корзины и статистики посещения сайтов, непрерывном производстве и т. д. Анализ рыночной корзины — это метод, используемый в крупных розничных сетях для выявления ассоциативных связей между товарами. Для его понимания показателен пример супермаркета, где все покупаемые вместе продукты раскладываются на полках рядом.
В обучении ассоциативным правилам выделяют три типа алгоритмов.
Введение в APRIORI
В основе Apriori — поиск частотных множеств элементов в наборе данных. Этот алгоритм построен на ассоциациях и корреляциях между наборами элементов. Он применяется на рекомендательных платформах — там, где мы обычно видим «вам также может понравиться».
Источник: dzen.ru