小白自总结【pLSA】实验详细记录

小白记录,如有错误或不妥之处,请大神们赐教吐舌头吐舌头吐舌头嘻嘻嘻


(注:实验数据为POI数据,实验目的是对一定范围内的POI信息进行语义分析,得其主题词——

后来才发现用该数据进行pLSA实验其实是不合适的惊讶快哭了快哭了


图 1  总实验流程

一、           构造栅格单元并各自导出

1.     创建渔网


图 2  创建渔网

2.     构造栅格单元→文档

1)        渔网要素转面


图 3  渔网转面后

2)        渔网新建字段Grid_Num,并使用字段计算器FID字段值赋给Grid_Num

3)        空间连接(Analysis)

图 4  空间连接

4)        导出属性表

图 5

即ArcGIS属性表信息导出至excel:属性表的“表选项”—“导出”(.dbf格式)

5)        在excel打开

在excel打开时,注意打开的文件类型!


图 6  注意选择在excel打开的文件类型

6)        按Grig_Num排序

7)        删除Grig_Num列重复值所在的行,只保留第一行

https://www.kafan.cn/edu/64281416.html

http://www.excel123.cn/Article/exceljichu/201306/988.html

 

问题:双击填充柄未能自动填充公式

原来只是我的数据量太大,看似填充的数据都相同——其实是正在处理,正在变成带公式的数据(右下角显示“4个处理器 +进度如5%”)

3.     excel中的操作


图 7 用excel相关函数对导出表进行“分堆


图 8  部分分堆结果


图 9  excel保留唯一数据


图 10 excel基本操作中的收获

构造出的矩阵存在的问题:数据稀疏,非零条目少——结果几乎全为“NAN”——————后来发现,其实是因为数量不够多,导致矩阵的行/列出现0。


图 11  结果仍行/列全0的原因


图 12  可通过求和函数确定每行/每列是否全为0(自动求和√)


图 13  小技巧:转置


图 14  注意单元格格式

二、           语料的预处理、矩阵构建

具体步骤不再赘述。注意:分训练样本/测试样本时,选典型数据作为训练样本。

python

1)    分词


图 15  jieba分词的python代码

还包括在word、excel的数据操作,具体过程不再赘述。


图 16  注意文本编码格式

2)    构建词-文本矩阵


图 17  构建词文本矩阵的python代码

三、           plsa的matlab实现(部分数据)

 

所用代码:来自码迷网


图 18  部分代码截图

1.     导入数据、存为变量

导入表格数据,存为名为“X”(由此代码)的矩阵数据——在命令行save shuju.mat——在原代码load(‘shuju.mat’);

2.     运行得概率结果


图 19  在命令行的部分结果(迭代了86次)


图 20  xlswrite命令将结果写入excel表中


图 21  得概率数据excel表,可高亮显示max


图 22  可视化结果

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PLSA(Probabilistic Latent Semantic Analysis)是一种基于概率的潜在语义分析方法,用于理解文本的语义信息和主题分布。它主要用于文本挖掘、信息检索和文本分类等领域。 在Python中实现PLSA算法可以使用多种库,如gensim、scikit-learn等。 首先,我们需要准备需要分析的文本数据。接下来,使用gensim库加载数据,并进行数据预处理,例如去除停用词、分词等。接着,使用gensim.models.Plsa模型进行PLSA分析。需要注意的是,模型参数需要根据实际情况设置,包括主题数、迭代次数等。 具体步骤如下: 1. 导入gensim库:`import gensim` 2. 加载数据:`corpus = gensim.corpora.TextCorpus(texts)` 3. 预处理数据:`corpus = corpus.preprocess()` 4. 构建字典:`dictionary = corpus.dictionary` 5. 构建模型:`model = gensim.models.Plsa(corpus, num_topics=10, iterations=100)` 6. 拟合数据:`model.fit()` 7. 查看主题分布:`topic_distribution = model.get_topics()` 8. 对新文本进行主题推断:`topic_inference = model.inference(new_text)` 通过以上步骤,我们就可以得到文本数据的主题分布信息,进而进行进一步的分析和应用。 总结起来,PLSA是一种用于文本挖掘的方法,可以帮助我们理解文本的语义信息和主题分布。在Python中,我们可以使用gensim库来实现PLSA算法,并通过构建模型、拟合数据和推断主题等步骤来进行分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值