复杂网络中的相似性分析与应用
一、文化领域分析案例
1.1 聚类术语定位
在进行文化领域分析时,我们需要定位每个聚类中使用最频繁的五个术语。为此,我们定义了一个辅助函数 describe_cluster(terms_df) :
HOW_MANY = 5
def describe_cluster(terms_df):
# terms_df 是一个 DataFrame;从 "domain" 中选择匹配的行
rows = domain.join(terms_df, how="inner")
# 计算行总和,对其进行排序,获取最后 HOW_MANY 个
top_N = rows.sum(axis=1).sort_values(ascending=False)[:HOW_MANY]
# 它们有哪些标签?
return top_N.index.values
然后,将分区转换为 DataFrame,按分区 ID 对行进行分组,并调用辅助函数为每个社区命名:
tag_clusters = pd.DataFrame({"part_id": pd.Series(partition)})
results = tag_clusters.groupby("part_id").apply(describe_cluster)
for r in results:
print("-- {}".format("; ".join(r.tolist()
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



