py-mst-dbscan
mst-dbscan算法使用Python实现,算法相关原理和具体细节,请参考:
description
wst-dbscan-test包括八个文件夹(data、gxresult、part1、part1_input、part1_output、part2、part2_input、part2_output)、参考文献和ppt(建议先看ppt了解文章的核心和我所做的工作)
data:包括高雄市疾病数据(该数据与论文数据有所不同需要师弟师妹们自行校正),台湾shp数据,split.py(数据分割代码,代码通用性不高,希望师弟师妹们根据论文自己写出更好的分割的代码)
gxresult:这是我跑出来的结果,input只包含部分数据,output中是最终结果数据。
part1:"stdbscan"文件夹中的代码是在github上下载的stdbscan代码,"Wstdbscan"是根据文章提供的mst-dbscan伪代码复现的(复现结果和文章有差异,希望师弟师妹们帮我找出代码中的问题,一起完善)
part2:复现define transmission cluster(和文章的提供的伪代码有差别,但是逻辑上应该是正确的,结果与文章有差异,希望师弟师妹们提出解决方法一起完善这份代码)
"part1_input、part1_output、part2_input、part2_output"输入输出数据(将分割好后的疾病数据放入part1_input中)
Windows
安装anaconda
配置py2.7环境变量(python2.7在ArcGIS目录下)
下载安装anaconda (python2.7 version) 下载链接
一般anaconda里包含代码所需要的包,如果缺少,请自行下载
Data pre-procession
根据疾病潜伏期的时间阈值将原始病例数据分割成n个时期。
- 数据分割python代码(wst-dbscan\data\split.py)
MST-DBSCAN
对每个时期的疾病事件进行时空密度聚类(mst-dbscan)。
将分割好后的病例数据作为输入数据 (Part1_input)对每个时期的病例数据进行聚类
运行聚类python代码(wst-dbscan\Part1\Wstdbscan\Wmain.py)
Define diffusion
根据聚类关系,确认每个时期的扩散类型。
- 运行part2 python代码(wst-dbscan\Part2\main.py)