提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
当我们在进行LDA主题分析时,想要把主题和词汇之间的关系以网络图的形式呈现出来时,可以使用一款叫做Gephi的工具来帮助我们画出这个主题关系网络图。这种图形化展示方式可以清晰地显示主题之间的关联,同时展示出主题内部的词汇分布,帮助我们更加直观地理解不同主题之间的联系。
先预览结果
一、准备数据
这份数据是LDA主题分析后的主题—词,使用python代码转换格式后保存在link.csv里
部分代码
// A code block
var foo = 'bar';
// An highlighted block
import pandas as pd
import jieba
from collections import Counter
# 读取文件
df = pd.read_excel('4LDA主题-词分布4.xlsx')
df.head()
# 提取主题词列(从topic0_word至topic3_word)
topic_columns = [df[f'topic{i}_word'] for i in range(4)] # 可更改主题数
topic_columns1 = [df[f'topic{i}_distribution'] for i in range(4)] # 可更改主题数
# 提取前10行
topic_word_columns_10 = [column[:25] for column in topic_columns]
topic_word_columns1_10 = [column[:25] for column in topic_columns1]
# 创建新的 DataFrame
all_dfs = [] # 用于存储 temp_df
for i, column in enumerate(topic_word_columns_10):
topic_name = f'主题{i + 1}'
topic_words = column.tolist()
# 使用 topic_word_columns1_10 中的值作为 value 列的数据
value_data = [int(v * 100) for v in topic_word_columns1_10[i]] # 保留整数
temp_df = pd.DataFrame({'source': [topic_name] * len(topic_words), 'target': topic_words, 'value': value_data})
all_dfs.append(temp_df)
# 检查 all_dfs 是否为空
if all_dfs:
new_df = pd.concat(all_dfs, ignore_index=True)
# 将结果保存为 Excel 文件
new_df.to_csv('links.csv', index=False)
print("结果已保存为 links.xlsx")
else:
print("Error: No data to concatenate.")
保存的.csv文件格式如下
二、操作步奏
1.打开gephi 》文件》导入电子表格 ==》选择文件
打开gephi 》文件》导入电子表格 》选择文件》点击下一步==》点击完成==》选择无向==》点击确定
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
2.置节点和边的属性
1.选择模块化==》运行
3、设置节点的大小颜色
点击概览==》1节点==》2排名==》3点击Modularity Class==》4设置节点颜色==》5设置节点大小
最后点击应用
4、设置边的颜色
点击边==》点击颜色==》点击排名==》选择边的权重==》点击应用
5、选择布局
6、预览结果
7、添加加文字标签
8、预览结果
9、勾选==》2勾选显示文字==》3设置中文字体大小==》4显示边==》5刷新
总结获完整练习素材
在进行LDA主题分析时,使用Gephi等工具可将主题与词汇关系可视化为网络图,帮助更好理解主题结构。想在CSDN分享这一过程?记得关注以下步骤:
准备数据并导入至Gephi;
设计网络图布局和美化效果;
导出网络图准备在CSDN展示;
撰写博客分享经验和成果。
更多技术尽在CSDN,欢迎关注我的魏 jy8608888。写作顺利!如需帮助,记得随时联系我哦。