Существует хорошо зарекомендовавшее себя семейство техник, предназначенных именно для варианта использования, представленного в вашем Вопросе.Учитывая родословную и умственный отбор библиотек, реализующих эти методы, они не очень хорошо известны даже многим аналитикам данных.
Этот класс методов называется Частые наборы предметов (или Частое изучение наборов предметов);также используются термины Правила ассоциации и анализ рынка Баксет, но последние встречаются гораздо реже.(Кроме того, возможно, смутно звучащие имена способствуют их относительной безвестности).
Первое предложение arules background Docs ( arules - это пакет R, реализующий правила связывания):
Распространение наборов частых предметов и правил связывания - это популярный и хорошо изученный метод обнаружения интересных связей между переменными в больших наборах данных.
Таксономически AR / FI является неконтролируемой техникой машинного обучения, которая в соответствии с HTF является упрощением «поиска ударов» или «поиска режима»
ВВ любом случае, эти два термина, используемые сами по себе или вместе, являются лучшими исходными терминами запроса для веб-поиска.Вы найдете записи Википедии для обоих терминов;один для Правила ассоциации - хороший обзор высокого уровня, но достаточно подробный для программиста.Итак, эти два термина описывают технику;«Apriori» и «Eclat» являются двумя наиболее широко используемыми реализациями оригинального алгоритма правил ассоциации, который изначально был разработан в IBM Almaden Research.
Чтобы использовать apriori , вы передаете вполя базы данных, которые вы хотите проверить алгоритмом на ассоциацию;Вы также переходите в пороговую ассоциацию - он же уровень поддержки .я обычно выбираю 5%, затем настраиваю его в одну или другую сторону, пока не получу нужное мне количество правил (чем выше уровень поддержки, тем меньше правил вернется).
Что apriori Возвращает сами правила ассоциации.
Если вы хотите, чтобы библиотека Python выполняла AR / FI, тогда я знаю только Orange (могут быть и другие).(Как вы, наверное, знаете, у Orange есть графический интерфейс, но у него есть приятный скриптовый интерфейс для python).Я никогда не использовал Orange, но я просто кратко ознакомился с модулем «Правила ассоциации», и, похоже, он реализован аналогично библиотекам AR, которые я лично использовал. учебник (на python), я подумал, что это очень хорошо.
Моя рекомендация может заключаться в том, чтобы получить доступ к сильной поддержке R для AR / FI через Python, используя привязки R, RPy2 .
R является единственным языком / платформой, которые используются для Правил ассоциации , и у меня есть все пять библиотек AR / FI.Для моего первого проекта AR / FI мой выбор R не имел ничего общего с доступностью или качеством библиотек AR / FI, а скорее с простыми в использовании драйверами реляционных баз данных (для MySQL, PostgreSQL и SQLite);теперь есть также драйверы / привязки для наиболее часто используемых баз данных транзакций NoSQL, таких как MongoDB и CouchDB.Драйверы / привязки MySQL позволили мне подключиться к моей базе данных через R и передать данные напрямую алгоритму apriori .