在给出坐标(纬度和经度)时,确定主要访问过的地点

时间:2015-06-06 02:33:11

标签: machine-learning cluster-analysis data-analysis

我正在开展一个项目,在这个项目中,人们访问的位置是按纬度和经度捕获的,并分析所有这些坐标以确定最常访问的地点。

我最终检索了人们访问的所有坐标,并将这些数据发送到数据库并将其写入文本文件。我试图通过从文本文件中检索数据来聚类数据。由于我对机器学习完全陌生,我发现很难弄清楚如何处理数据。

所以有人可以通过分析我所拥有的坐标来帮助我找出一个正确的方法来识别主要访问过的地方吗?

1 个答案:

答案 0 :(得分:0)

如上所述,这个问题有很多缺失的信息,但我会理解我的理解。

我可以想到两个场景,解决每个场景的方法并不是我真正认为的机器学习方法。第一种情况是您已将纬度/经度归因于最终位置,例如“白金汉宫的游客”,它将具有与之相关的设定纬度/经度坐标。然后,您就可以生成一个(Monument_lat,Monument_lon,weight)列表,其中weight是归属于该位置的访客数量。然后,如同建议的那样,仅仅是按重量对列表进行排序的情况。我不清楚为什么你认为这不是最有效的方式(列表排序是微不足道和快速的)。

另一种情况涉及来自手机的原始纬度/经度数据,您可能具有非常相似的纬度/长度对,但不完全相同。您希望将这些分组到单个位置。您可以将感兴趣的区域划分为小的矩形区域,在该区域中存储区域的每个角的纬度/经度数据。然后运行光线投射算法来求解多边形点problem,从而将原始纬度/经度数据归因于一个区域,并找到每个区域的中心坐标以应用“权重”。

我不知道您使用的是哪种语言,但是有一种用于Python的开源光线投射算法。根据您的问题范围,您可能需要进行轻微的更改。首先,如果您按照纪念碑名称定义位置并且没有太多,则可以使用Google地图并定义自己的区域的纬度/长角,以便作为列表存储。如果你对以纪念碑名称方式进行分类不感兴趣,只需将整个区域划分为均匀的矩形。如果您想要在整个国家/地区使用10米精度,那么您需要拥有不同大小的区域层以最大限度地减少计算工作量。您可以将国家划分为10x10km的正方形,然后在该比例上进行射线投射以进行粗略的分类阶段,然后在10x10km区域内以10x10m的比例进行另一次射线投射。