用Spark和DBSCAN对地理定位数据进行聚类
机器学习,特别是聚类算法,可以用来确定哪些地理区域经常被一个用户访问和签到而哪些区域不是。这样的地理分析使多种服务成为可能,比如基于地理位置的推荐系统,先进的安全系统,或更通常来说,提供更个性化的用户体验。
在这篇文章中,我会确定对每个人来说特定的地理活动区域,讨论如何从大量的定位事件中(比如在餐厅或咖啡馆的签到)获取用户的活动区域来构建基于位置的服务。举例来说,这种系统可以识别一个用户经常外出吃晚饭的区域。
使用DBSCAN聚类算法
首先,我们需要选择一种适用于定位数据的聚类算法,可以基于提供的数据点的局部密度确定用户的活动区域。DBSCAN算法是一个不错的选择,因为它自下而上地选择一个点并在一个给定的距离寻找更多的点。然后通过重复这个过程扩展寻找新的点来扩展类簇,直到无法再扩大为止。
这个算法可以通过两个参数进行调试: ε,用来确定离

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
阿里云MaxCompute(大数据)公开数据集---带你玩转人工智能
目前阿里云MaxCompute大数据产品已经免费向全部用户开放了多种公用数据集。在此之前,获取,分析,下载自定义的大型分析数据集需要数小时乃至数天才能完成。 而现在阿里云的任何用户都可以通过基于大数据计算服务[MaxCompute]( https://www.aliyun.com/product/odps) 的数据工场[DataWorks]( https://data.aliyun.com/product/ide)快速、便捷的分析这些公用数据集。 开通MaxCompute&数据工场的教程参考: https://help.aliyun.com/document_detail/27803.html 我们将股票价格、房产、影视等多种类型的数据免费开放给用户,使得大家免去了复杂的数据获取、上传、清洗等过程,可以直接进入数据分析阶段,通过这种
- 下一篇
[ElasticSearch]嵌套对象之嵌套类型
nested类型是一种特殊的对象object数据类型(specialised version of the object datatype ),允许对象数组彼此独立地进行索引和查询。 1. 对象数组如何扁平化 内部对象object字段的数组不能像我们所期望的那样工作。 Lucene没有内部对象的概念,所以Elasticsearch将对象层次结构扁平化为一个字段名称和值的简单列表。 例如,以下文件: curl -XPUT 'localhost:9200/my_index/my_type/1?pretty' -H 'Content-Type: application/json' -d' { "group" : "fans", "user" : [ { "first" : "John", "last" : "Smith" }, { "first" : "Alice", "last" : "White" } ] } ' 说明 user字段被动态的添加为object类型的字段。 在内部其转换成一个看起来像下面这样的文档: { "group" : "fans", "user.first" : [ ...
相关文章
文章评论
共有0条评论来说两句吧...