Как кластеризировать метки (в задаче многоуровневой классификации), которые в основном отображаются вместе в классе

#python #dataframe #numpy #cluster-analysis #multilabel-classification

#python #фрейм данных #numpy #кластерный анализ #многоуровневая классификация

Вопрос:

для кластеризации меток (в задаче классификации с несколькими метками), которые в основном отображаются вместе во фрейме данных? Например, у меня есть этот фрейм данных:

 text     |   genre
===========================
text 1   | [action,mistery,horror,thriller]
text 2   | [drama,romance]
text 3   | [comedy,drama,romance]
text 4   | [scifi,mystery,horror,thriller]
text 5   | [horror,mystery,thriller]
 

Как я могу кластеризовать тег, который часто появляется вместе?например, жанр «тайна», «ужас», «триллер» часто появляются вместе (3 раза), жанр «драма», «романтика» часто появляются вместе (2 раза).

Комментарии:

1. Каков ожидаемый результат? Может ли это быть отдельный список?

2. например, как кластер, где каждый кластер содержит жанры, которые часто появляются вместе

Ответ №1:

Я думаю, вы хотите выполнять частый анализ шаблонов, также известный как анализ правил ассоциации. Иногда люди называют это изучением правил ассоциации, вот ссылка на эту концепцию в Википедии: https://en.wikipedia.org/wiki/Association_rule_learning .

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