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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/YWP_2016/article/details/54837668

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


(注:实验数据为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  可视化结果

 

 

没有更多推荐了,返回首页