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

Интеллектуальный анализ данных состоит из анализа объемов данных с помощью различных инструментов или методов, которые облегчают этот процесс, таких как, например, априорный алгоритм, FP-Growth, aprioriTID, aprioriHybrid, Eclat, правила Top-k и т. Д. Сегодня применимость интеллектуальный анализ данных можно увидеть во многих областях, таких как медицина, биология или коммерческие предприятия.

Правила ассоциации

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

Наиболее распространенные методы получения этих правил используют два параметра: поддержка и доверие. Первый рассчитывается для набора транзакций T и указывает, какой процент транзакций содержит X.

Поддержка = (количество транзакций, содержащих X) / (общее количество транзакций)

Второй указывает, какой процент транзакций, содержащих X, также содержит Y, и определяется следующим образом:

Доверие = Поддержка (X U Y) / Поддержка (X)

Каждое правило указывает, что если X удовлетворено, существует определенная вероятность, определяемая его уверенностью в том, что Y также удовлетворяется.

Алгоритм априори

Код Github:



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

Пример

Алгоритм FP-Growth (Альтернатива)

Код Github



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

Полный текст статьи на испанском языке



Наборы данных собираются следующим образом:

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

Производительность алгоритмов по количеству сгенерированных правил варьируется в зависимости от поддержки.

Выводы

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