подходящий алгоритм для поиска ассоциаций

#associations #data-mining

#ассоциации #интеллектуальный анализ данных

Вопрос:

у меня есть набор данных, подобный следующему

 1=> aa,ser,sdf,gg,er,we <br/>
2=> gg,aa,uy,de,or,qq<br/>
3=> aa,er,we,uy<br/>
4=> oo,aa,gg,tr,dw<br/>
5=> iu,gg,re,de,ser<br/>
  

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

«aa», «aa» и «gg», «oo»

и т.д…
всякий раз, когда я называю элемент, должны отображаться другие элементы, которые часто используются с ним. Какой тип алгоритма / algorithms подходит для использования в подобной ситуации?

Ответ №1:

Разделите все это на одну большую таблицу с двумя столбцами:

 num,wrd
===,===
1,aa
1,er
1,gg
1,sdf
1,ser
1,we
2,aa
2,dd
...
5,re
5,ser
  

Оттуда проще запрашивать то, что вы хотите. Например,

 select wrd, count(*) from words group by wrd order by count(*) desc;
  

Ответ №2:

Изучение правил ассоциации может быть простым и быстрым вариантом.

Существует множество вариантов в зависимости от того, как вы хотите настроить решение. Проверьте этот опрос по теме.