原文链接:http://tecdat.cn/?p=5658

原文出处:拓端数据部落公众号

创建主题网络

通过分析文本和共同作者社交网络来研究社会科学、计算机和信息学方面的出版物。

我遇到的一个问题是:如何衡量主题之间的关系(相关性)?我想创建一个连接类似主题的网络可视化,并帮助用户更轻松地浏览大量主题。

数据准备

我们的第一步是加载LDA输出的主题矩阵。LDA有两个输出:词主题矩阵和文档主题矩阵。

作为加载文件的替代方法,您可以使用topicmodels包lda函数的输出来创建单词主题和文档主题矩阵。

# 加载到作者主题矩阵中,第一列是单词
author.topic <- read.csv("topics.csv", stringsAsFactors = F)
# 加载到单词-主题矩阵中,第一列是单词# 重命名主题
colnames(author.topic) <- c("author_name",name$topic_name)

与标准LDA不同,我运行了“以作者为中心”的LDA,其中所有作者的摘要被合并并被视为每个作者的一个文档。这是因为我的最终目标是使用主题建模作为信息检索过程来确定研究人员的专业知识。

创建静态网络

在下一步中,我使用每个主题的单词概率之间的相关性创建一个网络。

首先,我决定只保留具有显着相关性(0.2+相关性)的关系(边)。我使用0.2,因为它对100个观察样本具有0.05的统计显着性水平。

cor_threshold <- .2
接下来,我们使用相关矩阵来创建igraph数据结构,删除所有具有小于0.2最小阈值相关性的边。library(igraph)
让我们绘制一个简单的igraph网络。title( cex.main=.8)

每个数字代表一个主题,每个主题都有编号识别它。

使用社区检测,特别是igraph中的标签传播算法来确定网络中的群集。

clp <- cluster_label_prop(graph)
class(clp)

社区检测发现了13个社区,以及多个孤立主题的社区(即没有任何联系的主题)。

与我最初的观察结果类似,该算法找到了我们在第一个图中识别的三个主要聚类,但也添加了其他较小的聚类,这些聚类似乎不适合三个主要聚类中的任何一个。

V(graph)$community <- clp$membership
V(graph)$degree <- degree(graph, v = V(graph))

动态可视化

在本节中,我们将使用visNetwork交互式网络图。

首先,让我们调用库并运行visIgraph交互式网络,设置在igraph结构(图形)上运行。

我们通过创建visNetwork数据结构,然后将列表分成两个数据帧:节点和边。

data <- toVisNetworkData(graph)nodes <- data[[1]]

删除没有连接的节点(主题)(度= 0)。

nodes <- nodes[nodes$degree != 0,]

添加颜色和其他网络参数来改善网络。

library(RColorBrewer)
col <- brewer.pal(12, "Set3")[as.factor(nodes$community)]
nodes$shape <- "dot"s$betweenness))+.2)*20
# 节点大小
nodes$color.highlight.background <- "orange"

最后,用交互式图表创建我们的网络。您可以使用鼠标滚轮进行缩放。

visNetwork(nodes, edges) %>%visOptions(highlightNearest = TRUE, selectedBy = "community", nodesIdSelection = TRUE)

首先,有两个下拉菜单。第一个下拉列表允许您按名称查找任何主题(按单词概率排名前五个单词)。

第二个下拉列表突出显示了我们算法中检测到的社区。

最大的三个似乎是:

  • 计算(灰色,簇4)
  • 社交(绿蓝,簇1)
  • 健康(黄色,簇2)

检测到的较小社区有什么独特之处?你能解释一下吗?


最受欢迎的见解

1.探析大数据期刊文章研究热点

2.618网购数据盘点-剁手族在关注什么

3.r语言文本挖掘tf-idf主题建模,情感分析n-gram建模研究

4.python主题建模可视化lda和t-sne交互式可视化

5.疫情下的新闻数据观察

6.python主题lda建模和t-sne可视化

7.r语言中对文本数据进行主题模型topic-modeling分析

8.主题模型:数据聆听人民网留言板的那些“网事”

9.python爬虫进行web抓取lda主题语义数据分析

拓端tecdat|R语言社区主题检测算法应用案例相关推荐

  1. 拓端tecdat|R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险

    最近我们被客户要求撰写关于冠心病风险的研究报告,包括一些图形和统计输出. 相关视频:R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险 逻辑回归Logistic模型原理和R语言分类预测冠 ...

  2. 拓端tecdat|R语言用LOESS(局部加权回归)季节趋势分解(STL)进行时间序列异常检测

    最近我们被客户要求撰写关于LOESS(局部加权回归)的研究报告,包括一些图形和统计输出. 这篇文章描述了一种对涉及季节性和趋势成分的时间序列的中点进行建模的方法.我们将对一种叫做STL的算法进行研究, ...

  3. 拓端tecdat|R语言线性回归和时间序列分析北京房价影响因素可视化案例

    最近我们被客户要求撰写关于北京房价影响因素的研究报告,包括一些图形和统计输出. 目的 房价有关的数据可能反映了中国近年来的变化: 人们得到更多的资源(薪水),期望有更好的房子 人口众多 独生子女政策: ...

  4. 拓端tecdat|R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系

    最近我们被客户要求撰写关于向量误差修正模型的研究报告,包括一些图形和统计输出. 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以 ...

  5. 拓端tecdat荣获掘金社区入驻新人奖

    2021年7月,由掘金发起了"入驻成长礼"颁奖活动.本次活动邀请到知名开发者.服务机构代表等业界人士. 据了解,掘金社区"新入驻创作者礼"主要对已经积累了一定历 ...

  6. 拓端tecdat荣获2022年度51CTO博主之星

    相信技术,传递价值,这是51CTO每一个技术创作者的动力与信念,2022 年度,拓端tecdat 作为新锐的数据分析咨询公司,在51CTO平台上,不断的输出优质的技术文章,分享前沿创新技术,输出最佳生 ...

  7. 数据分享|R语言关联规则挖掘apriori算法挖掘评估汽车性能数据

    全文链接:http://tecdat.cn/?p=32092 我们一般把一件事情发生,对另一件事情也会产生影响的关系叫做关联.而关联分析就是在大量数据中发现项集之间有趣的关联和相关联系(形如" ...

  8. 基于R语言的梯度推进算法介绍

    简介 通常来说,我们可以从两个方面来提高一个预测模型的准确性:完善特征工程(feature engineering)或是直接使用Boosting算法.通过大量数据科学竞赛的试炼,我们可以发现人们更钟爱 ...

  9. R语言-岭回归的代码与案例解读

    应用岭回归的场景有很多. 本文介绍的是 在应用多元线性回归时 遇到多重共线性问题,且无法删除变量或者增加样本量的情况下,应用岭回归的情况. 案例:互联网经济对中国经济增长影响 基础模型:C-D生产函数 ...

  10. 拓端tecdat|bilibili视频流量数据潜望镜

    最近我们被客户要求撰写关于bilibili视频流量的研究报告,包括一些图形和统计输出. 最新研究表明,中国有超过7亿人在观看在线视频内容.Bilibili,被称为哔哩哔哩或简称为B站,是中国大陆第二个 ...

最新文章

  1. spring vertx_如何在Spring设置Vertx
  2. Mysql5.7使用注意事项随笔
  3. CDN中,字体文件的跨域问题和解决
  4. 编码引出的问题_FileReader读取GBK格式的文件
  5. netflix的准实验面临的主要挑战
  6. iBATIS使用$和#的一些理解
  7. 【Linux】X window与文本模式的切换
  8. 如何使用Xilisoft Video Editor将多个视频文件合并到一个文件中?
  9. 宝塔面板搭建ftp服务器
  10. 计算机基础知识刷题app,计算机考试刷题app
  11. 破解庞加莱猜想数学家曾四五年未发表论文
  12. c++打印素数表(线性筛)
  13. python实现投票问题。
  14. HTTP详解(更新完结)
  15. 20个免费下载PSD设计网站
  16. bat计算机清理原理,科技教程:电脑如何一键清除垃圾bat
  17. 加州大学欧文分校计算机排名,加州大学欧文分校计算机工程硕士排名第30(2020年TFE Times排名)...
  18. IDE新建gradle liferay workspace项目没有项目目录问题解决方案
  19. 《MATLAB SYNTAX》第1章 数据类型
  20. html+css实战144-banner-精品推荐-内容

热门文章

  1. 使用AvgPooling替换AdaptivePooling,池化padding,global average pooling 与 average pooling 的差别
  2. leetcode经典题 刷题题解 python版
  3. 自定义类加载器与热部署
  4. 【数据结构排序】之三选择排序
  5. AHK生成随机但不重复的数字
  6. JavaScript学习之函数的定义方式及调用
  7. EthBox以太坊开发套件,一键安装部署以太坊开发环境
  8. javascript数组特性
  9. Java中的代理模式--静态代理和动态代理
  10. new Random().nextInt