小白记录,如有错误或不妥之处,请大神们赐教嘻嘻嘻
(注:实验数据为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 可视化结果