Python主题建模LDA模型、t-SNE 降维聚类、词云可视化文本挖掘新闻组数据集2

简介: Python主题建模LDA模型、t-SNE 降维聚类、词云可视化文本挖掘新闻组数据集

Python主题建模LDA模型、t-SNE 降维聚类、词云可视化文本挖掘新闻组数据集1:https://developer.aliyun.com/article/1485101

每个话题的前N个关键词词云

虽然你已经看到了每个主题中的主题关键词是什么,但字数大小与权重成正比的词云是很好的可视化方法。

# 1. 每个主题中前N个词的词云
from matplotlib import pyplot as plt
from worcloud mport WrCloud,STOPWODS
clod = WordClud(stopwds=stp_ords,
                  barounolr='white',
                 
                  reer_oronal=1.0)
plt.sow()

主题关键词的字数

当涉及主题中的关键字时,关键字的重要性(权重)很重要。除此之外,这些单词在文档中出现的频率也很有趣。

让我们在同一图表中绘制字数和每个关键字的权重。

您要关注出现在多个主题中的词以及相对频率大于权重的词。通常,这些词变得不那么重要。我在下面绘制的图表是在开始时将几个这样的词添加到停用词列表并重新运行训练过程的结果。

tops = l_mdl.swtcs(foatd=Fase)
    
# 绘制主题关键词的字数和权重图
fig, as = pltuls(2, 2, fiiz=(16,10), sey=rue, di=160)
fig.tigh\_lyut\_pad=2)    
plt.shw()

按主题着色的句子图表

文档中的每个单词都代表 4 个主题之一。让我们根据给定文档中的每个单词所属的主题 id 为其着色。

# 对N个句子进行着色的句子
      for i, ax in eumate(xes):
            cour = corp\[i-1\] 。
            topprcs, wrdits, wrdihius = ldacopr
copr
            wodoac = (lmod2word\[wd
(lmod2word\[wd, tpic\[0\]) or w, tpc in odid_opcs\]    
            
            # 绘制矩形区域
            tpcred = soted(tpps, key= x: (x\[1\]), rvese=True)
            word_pos = 0.06
           
    plt.subdt(wsace=0, hsace=0)
  
    plt.show()

文件中讨论最多的话题是什么?

让我们计算归因于每个主题的文档总数。

# 对N个句子进行着色
    主导话题 = 
    话题百分比 = 
    for i, crp in euete(opu_el):
        topcs, wordics, wrlues = moelcrp
crp
        dopic = soted(torcs, key = lmda x: x\[1\], reerse=Tue)0
00
0 。
doics, toages = topent(mol=lda, copus=crus,en=-)            
# 每个文档中主导话题的分布
dfc = dh\_dc.t\_frme(ame='cunt').eeinex()
# 按实际权重计算的总主题分布
topweig = pd.DaaFae(\[dct(t) for t in toges\] )
# 每个主题的前三个关键词
 \[(i, tpic) for i, tocs in lda.shcs(fted=Flse)
                                 for j, (tic, wt) in eae(toic)if j < 3)

让我们做两个图:

  1. 通过将文档分配给该文档中权重最大的主题来计算每个主题的文档数。
  2. 通过总结每个主题对各自文档的实际权重贡献来计算每个主题的文档数量。
from mtpltli.tiker import ucFattr
# 绘图
fig, (ax1, ax2) = pl.supot(1, 2)
# 按主要议题分布的议题
ax1.bar(data=df_dc)
# 按主题权重的主题分布
ax2.ar(x='iex', hegh='cout', dat=dfoc, with=.5, 
plt.sow()

t-SNE(t分布-随机邻近嵌入)聚类图

让我们使用 t-SNE(t分布-随机邻近嵌入)算法在 2D 空间中可视化文档集群。

# 获取话题权重和主导话题 ------------
# 获取主题权重
for i, row_list:
    tophts.apd(\[w for i, w in rost0
0\] )
# 主题权重的数组    
arr = pd.Dame(tohts).fna(0).vales
# 保持良好的分离点(可选)
rr = arp.aax(rr)>0.35
p.aax(rr) > 0.35 。
# 每个文档中的主要议题编号
to_n = np.agax(rr, ais=1)
# tSNE降维
tsel = TSE(n=2, vre=1, rae=0, ae=.99, int='pca')
tlda = tsl.frm(arr)
# 使用Bokeh绘制主题集群图
oueook()
n_tics = 4
m
plot.scatter(xda:,
:,)

pyLDAVis

最后,pyLDAVis 是最常用的,也是一种将主题模型中包含的信息可视化的好方法。

pyLDvis.enaok()

结论

我们从头开始导入、清理和处理新闻组数据集构建 LDA 模型。然后我们看到了多种可视化主题模型输出的方法,包括词云,它们直观地告诉您每个主题中哪个主题占主导地位。t-SNE 聚类, pyLDAVis 提供了更多关于主题聚类的细节。


相关文章
|
6天前
|
自然语言处理 数据挖掘 大数据
​「Python大数据」VOC数据统计聚类
使用Python脚本`learning.py`对VOC数据进行分词处理和聚类分析,借助jieba库去除停用词并统计词频。前处理后,筛选出频率最高的2000个名词存入`名词top2000.txt`。关键步骤包括加载自定义词典`luyouqi.txt`和停用词列表`stopwordsfull`。
11 0
​「Python大数据」VOC数据统计聚类
|
5天前
|
机器学习/深度学习 数据采集 算法
Python基于KMeans算法进行文本聚类项目实战
Python基于KMeans算法进行文本聚类项目实战
46 19
|
1天前
|
SQL 并行计算 API
Dask是一个用于并行计算的Python库,它提供了类似于Pandas和NumPy的API,但能够在大型数据集上进行并行计算。
Dask是一个用于并行计算的Python库,它提供了类似于Pandas和NumPy的API,但能够在大型数据集上进行并行计算。
15 9
|
3天前
|
机器学习/深度学习 数据采集 算法
Python实现DBSCAN膨胀聚类模型(DBSCAN算法)项目实战
Python实现DBSCAN膨胀聚类模型(DBSCAN算法)项目实战
|
5天前
|
数据采集 机器学习/深度学习 算法
Python实现用PSO粒子群优化算法对KMeans聚类模型进行优化项目实战
Python实现用PSO粒子群优化算法对KMeans聚类模型进行优化项目实战
|
4天前
|
机器学习/深度学习 数据采集 数据可视化
Python实现支持向量机SVM分类模型线性SVM决策过程的可视化项目实战
Python实现支持向量机SVM分类模型线性SVM决策过程的可视化项目实战
Python实现支持向量机SVM分类模型线性SVM决策过程的可视化项目实战
|
6天前
|
数据采集 自然语言处理 大数据
​「Python大数据」LDA主题分析模型
使用Python进行文本聚类,流程包括读取VOC数据、jieba分词、去除停用词,应用LDA模型(n_components=5)进行主题分析,并通过pyLDAvis生成可视化HTML。关键代码涉及数据预处理、CountVectorizer、LatentDirichletAllocation以及HTML文件的本地化处理。停用词和业务术语列表用于优化分词效果。
11 0
​「Python大数据」LDA主题分析模型
|
6天前
|
机器学习/深度学习 算法 数据挖掘
Python实现聚类(Kmeans)分析客户分组
Python实现聚类(Kmeans)分析客户分组
Python实现聚类(Kmeans)分析客户分组
|
9天前
|
数据采集 机器学习/深度学习 数据可视化
关于Python数据分析项目的简要概述:从CSV加载数据,执行数据预处理,进行数据探索,选择线性回归模型进行训练,评估模型性能并优化,最后结果解释与可视化。
【7月更文挑战第5天】这是一个关于Python数据分析项目的简要概述:从CSV加载数据,执行数据预处理(填充缺失值,处理异常值),进行数据探索(可视化和统计分析),选择线性回归模型进行训练,评估模型性能并优化,最后结果解释与可视化。此案例展示了数据科学的典型流程。
31 2
|
5天前
|
数据采集 算法 搜索推荐
Python基于RFM模型和K-Means聚类算法进行航空公司客户价值分析
Python基于RFM模型和K-Means聚类算法进行航空公司客户价值分析