寻求合适的聚类算法
Seeking appropriate clustering algorithm
我正在分析 GDELT 数据集,我想确定专题集群。大大简化,GDELT 解析新闻文章并提取事件。作为其中的一部分,它识别,比方说,250 "themes" 并标记每个 "event" 它在一列中记录文章中标识的所有主题的分号分隔列表。
在序言中,我提取了 2016 年大约 350,000 个以分号分隔的主题列表,例如以下两个:
- TAX_FNCACT;TAX_FNCACT_QUEEN;CRISISLEX_T11_UPDATESSYMPATHY;CRISISLEX_CRISISLEXREC;军事;TAX_MILITARY_TITLE;TAX_MILITARY_TITLE_SOLDIER;TAX_FNCACT _士兵;USPEC_POLITICS_GENERAL1;WB_1458_HEALTH_PROMOTION_AND_DISEASE_PREVENTION;WB_1462_WATER_SANITATION_AND_HYGIENE;WB_635_PUBLIC_HEALTH;WB_621_HEALTH_NUTRITION_AND_POPULATION;MARITIME_INCIDENT;海事;MANMADE_DISASTER_IMPLIED;
- CRISISLEX_CRISISLEXREC;教育;SOC_POINTSOFINTEREST;SOC_POINTSOFINTEREST_COLLEGE;TAX_FNCACT;TAX_FNCACT_MAN;TAX_ECON_PRICE;SOC_POINTSOFINTEREST _UNIVERSITY;TAX_FNCACT_JUDGES;TAX_FNCACT_CHILD;LEGISLATION;EPU_POLICY;EPU_POLICY_LAW;TAX_FNCACT_CHILDREN;WB_470_EDUCATION;
如您所见,这两个列表都包含 "TAX_FNACT" 和 "CRISISLEX_CRISISLEXREC"。因此,"TAX_FNACT;CRISISLEX_CRISISLEXREC" 是一个包含 2 个项目的集群。对 GDELT 的更好理解告诉我们它不是一个特别有用的集群,但它仍然是一个集群。
理想情况下,我想做的是编写一个列表字典。字典的键是集群中的项目数,值是所有主题集群的元组列表,其中 "key" 个元素与该集群出现的次数配对。这个理想的算法将 运行 直到它识别出最大的集群。
是否已经存在我可以用于此目的的算法?如果存在,它的名称是什么?如果我不得不猜测,我会想象我们已经创建了一些东西来提取 x-item 集群,然后我会从 2->?直到我没有得到任何结果。
聚类在这里效果不佳。
你描述的很像频繁的项目集挖掘。任务是在列表中找到 'items' 的频繁组合。
我正在分析 GDELT 数据集,我想确定专题集群。大大简化,GDELT 解析新闻文章并提取事件。作为其中的一部分,它识别,比方说,250 "themes" 并标记每个 "event" 它在一列中记录文章中标识的所有主题的分号分隔列表。
在序言中,我提取了 2016 年大约 350,000 个以分号分隔的主题列表,例如以下两个:
- TAX_FNCACT;TAX_FNCACT_QUEEN;CRISISLEX_T11_UPDATESSYMPATHY;CRISISLEX_CRISISLEXREC;军事;TAX_MILITARY_TITLE;TAX_MILITARY_TITLE_SOLDIER;TAX_FNCACT _士兵;USPEC_POLITICS_GENERAL1;WB_1458_HEALTH_PROMOTION_AND_DISEASE_PREVENTION;WB_1462_WATER_SANITATION_AND_HYGIENE;WB_635_PUBLIC_HEALTH;WB_621_HEALTH_NUTRITION_AND_POPULATION;MARITIME_INCIDENT;海事;MANMADE_DISASTER_IMPLIED;
- CRISISLEX_CRISISLEXREC;教育;SOC_POINTSOFINTEREST;SOC_POINTSOFINTEREST_COLLEGE;TAX_FNCACT;TAX_FNCACT_MAN;TAX_ECON_PRICE;SOC_POINTSOFINTEREST _UNIVERSITY;TAX_FNCACT_JUDGES;TAX_FNCACT_CHILD;LEGISLATION;EPU_POLICY;EPU_POLICY_LAW;TAX_FNCACT_CHILDREN;WB_470_EDUCATION;
如您所见,这两个列表都包含 "TAX_FNACT" 和 "CRISISLEX_CRISISLEXREC"。因此,"TAX_FNACT;CRISISLEX_CRISISLEXREC" 是一个包含 2 个项目的集群。对 GDELT 的更好理解告诉我们它不是一个特别有用的集群,但它仍然是一个集群。
理想情况下,我想做的是编写一个列表字典。字典的键是集群中的项目数,值是所有主题集群的元组列表,其中 "key" 个元素与该集群出现的次数配对。这个理想的算法将 运行 直到它识别出最大的集群。
是否已经存在我可以用于此目的的算法?如果存在,它的名称是什么?如果我不得不猜测,我会想象我们已经创建了一些东西来提取 x-item 集群,然后我会从 2->?直到我没有得到任何结果。
聚类在这里效果不佳。
你描述的很像频繁的项目集挖掘。任务是在列表中找到 'items' 的频繁组合。