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

Например, скажем, у нас есть товары, купленные у 5 клиентов. Клиент 1 купил хлеб и молоко. Клиент 2 купил хлеб, подгузники, пиво и яйца. Клиент 3 купил молоко, подгузник, пиво и колу. Клиент 4 купил хлеб, молоко, пеленки и пиво. Клиент 5 купил хлеб, молоко, подгузник и колу.

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

{подгузник} → {пиво},

{Молоко, хлеб} → {яйца, сода}

{Пиво, Хлеб} → {Молоко}

Некоторые другие примеры взяты из Code Review (Python) и CranR Project. Одна из лучших статей написана автором. Laurel Powell и Stanford University имеют одни из лучших пояснений к видео на YouTube, а отличный исходный код GitHub взят из (Python) и Krunal3103 (R). Другие области применения технологий включают маркетинг, интернет вещей, картирование генов, управление молочным стадом, прогнозирование погоды или поиск сходных свойств у ядовитых грибов.

На следующей неделе я завершу серию из пяти частей о неконтролируемом машинном обучении, посвященную частому росту паттернов.

Первоначально опубликовано на http://thedatalass.com 20 июня 2017 г.