STING算法的两个参数: • 网格的步长——确定空间网格划分 • 密度阈值——网格中对象数量大于等于该阈值表示该网格为稠密网格 STING网格建立流程 1 .首先我们先划分一些层次...[1497412999075_3899_1497412999367.jpg] CLIQUE算法的两个参数: • 网格的步长——确定空间网格划分 • 密度阈值——网格中对象数量大于等于该阈值表示该网格为稠密网格...如果数据在某一k-1维空间中不密集,那么数据在k维空间中也是不密集 3、 遍历所有网格,判断当前网格是否为“未处理”,若不是“未处理”状态,则处理下一个网格;若是“未处理”状态,则进行步骤4~8处理,...WaveCluster算法需要两个参数: • 网格的步长——确定空间网格划分 • 密度阈值——网格中对象数量大于等于该阈值表示该网格为稠密网格 WaveCluster算法流程...(3)发现任意形状的类簇:许多聚类算法基于距离(欧式距离或曼哈顿距离)来量化对象之间的相似度。基于这种方式,我们往往只能发现相似尺寸和密度的球状类簇或者凸型类簇。
具体如下: 1、算法的处理能力:处理大的数据集的能力(即算法复杂度);处理数据噪声的能力;处理任意形状,包括有间隙的嵌套的数据的能力; 2、算法是否需要预设条件:是否需要预先知道聚类个数,是否需要用户给出领域知识...1.2算法流程 以下流程以自下向上为例。 1. 将每个对象看作一类,计算两两之间的最小距离; 2. 将距离最小的两个类合并成一个新类; 3. 重新计算新类与所有类之间的距离; 4....重复2、3,直到所有点都被处理 DBSCAN聚类算法原理的基本要点:确定半径eps的值 ①DBSCAN算法需要选择一种距离度量,对于待聚类的数据集中,任意两个点之间的距离,反映了点之间的密度,说明了点与点是否能够聚到同一类中...4.2算法流程 这些算法用不同的网格划分方法,将数据空间划分成为有限个单元(cell)的网格结构,并对网格数据结构进行了不同的处理,但核心步骤是相同的: 1、 划分网格 2、 使用网格单元内数据的统计信息对数据进行压缩表达...这是一种非常特殊的距离算法,它可以计算两个不同长度的向量的距离,也可以对两对向量中不同时间段内的数据做匹配。DTW主要用在时间序列的部分场合里。
聚类的基本概念 1.1 定义 聚类是数据挖掘中的概念,就是按照某个特定标准(如距离)把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能地大...1.4 衡量聚类算法优劣的标准 处理大的数据集的能力; 处理任意形状,包括有间隙的嵌套的数据的能力; 算法处理的结果与数据输入的顺序是否相关,也就是说算法是否独立于数据输入顺序; 处理数据噪声的能力;...算法流程: 将每个对象看作一类,计算两两之间的最小距离; 将距离最小的两个类合并成一个新类; 重新计算新类与所有类之间的距离; 重复1、2,直到所有类最后合并成一类。...输入层对应一个高维的输入向量,输出层由一系列组织在2维网格上的有序节点构成,输入节点与输出节点通过权重向量连接。学习过程中,找到与之距离最短的输出层单元,即获胜单元,对其更新。...2.5 基于网格的聚类算法 基于网格的方法把对象空间量化为有限数目的单元,形成一个网格结构。所有的聚类操作都在这个网格结构(即量化空间)上进行。
其目标划分的原则是组内(内部)距离最小化,而组间(外部)距离最大化。在商业上,聚类可以帮助市场分析人员从消费者数据库中区分出不同的消费群体,并且概括出每一类消费者的消费模式或消费习惯。...层次分析方法 BIRCH算法(平衡迭代规约和聚类),CURE算法(代表点聚类)和CHAMELEON算法(动态模型)。优点:可以自动发现任意形状和大小的聚类,不需要预先指定聚类个数。...) 距离或相似度的度量方法 数值型或类别型数据可选多种距离度量方法,如欧几里德距离、曼哈顿距离等优点:不需要预先指定簇的数量,可用于发现任意形状的簇...曼哈顿距离(Manhattan Distance) 曼哈顿距离衡量两个向量之间沿坐标轴的总距离。在二维空间中,曼哈顿距离等于两个点横坐标差的绝对值加上纵坐标差的绝对值。...在二维空间中,切比雪夫距离等于两个点横坐标差的最大绝对值和纵坐标差的最大绝对值中的较大值。优点:对异常值不敏感,适用于稀疏数据。缺点:不考虑维度之间的相关性。
其目标划分的原则是组内(内部)距离最小化,而组间(外部)距离最大化。在商业上,聚类可以帮助市场分析人员从消费者数据库中区分出不同的消费群体,并且概括出每一类消费者的消费模式或消费习惯。...层次分析方法 BIRCH算法(平衡迭代规约和聚类),CURE算法(代表点聚类)和CHAMELEON算法(动态模型)。 优点:可以自动发现任意形状和大小的聚类,不需要预先指定聚类个数。...层次聚类(Hierarchical Clustering) 距离或相似度的度量方法 数值型或类别型数据 可选多种距离度量方法,如欧几里德距离、曼哈顿距离等 优点:不需要预先指定簇的数量,可用于发现任意形状的簇...曼哈顿距离(Manhattan Distance) 曼哈顿距离衡量两个向量之间沿坐标轴的总距离。在二维空间中,曼哈顿距离等于两个点横坐标差的绝对值加上纵坐标差的绝对值。...在二维空间中,切比雪夫距离等于两个点横坐标差的最大绝对值和纵坐标差的最大绝对值中的较大值。 优点:对异常值不敏感,适用于稀疏数据。缺点:不考虑维度之间的相关性。
具体在产品技术上的实现原理,也很容易理解: 1)现在移动端(ios、android等),通过系统的API很容易抓到用户当前的位置(即经纬度数据); 2)根据第1步中的经纬度数据,很容易计算出两个点之间的距离...)GEODIST:返回两个给定位置之间的距离; 4)GEOHASH:返回一个或多个位置对象的Geohash表示; 5)GEORADIUS:以给定的经纬度为中心,返回目标集合中与中心的距离不超过给定最大距离的所有位置对象...范围单位:m | km | ft | mi --> 米 | 千米 | 英尺 | 英里 额外参数: - WITHDIST:在返回位置对象的同时,将位置对象与中心之间的距离也一并返回。...两个参数选项,在调用georadius时是否真的只查询了主实例,还是进行了只读封装。...在实际搜索时,首先会根据搜索半径计算geohash网格等级(即右图中网格大小等级),并确定九宫格位置(即红色九宫格位置信息);再依次查找计算九宫格中的点(蓝点和红点)与中心点的距离,最终筛选出距离范围内的点
1 定义 聚类是数据挖掘中的概念,就是按照某个特定标准(如距离)把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能地大。...算法流程: 将每个对象看作一类,计算两两之间的最小距离; 将距离最小的两个类合并成一个新类; 重新计算新类与所有类之间的距离; 重复1、2,直到所有类最后合并成一类。...输入层对应一个高维的输入向量,输出层由一系列组织在2维网格上的有序节点构成,输入节点与输出节点通过权重向量连接。学习过程中,找到与之距离最短的输出层单元,即获胜单元,对其更新。...3.5 基于网格的聚类算法 基于网格的方法把对象空间量化为有限数目的单元,形成一个网格结构。所有的聚类操作都在这个网格结构(即量化空间)上进行。...COD (Clustering with Ob2structed Distance) 就是处理这类问题的典型算法 , 其主要思想是用两点之间的障碍距离取代了一般的欧氏距离来计算其间的最小距离。
: 返回两个给定位置之间的距离; GEOHASH: 返回一个或多个位置对象的Geohash表示; GEORADIUS: 以给定的经纬度为中心,返回目标集合中与中心的距离不超过给定最大距离的所有位置对象;...范围单位:m | km | ft | mi --> 米 | 千米 | 英尺 | 英里 额外参数: WITHDIST:在返回位置对象的同时,将位置对象与中心之间的距离也一并返回。...两个参数选项,在调用georadius时是否真的只查询了主实例,还是进行了只读封装。...在实际搜索时,首先会根据搜索半径计算geohash网格等级(即右图中网格大小等级),并确定九宫格位置(即红色九宫格位置信息);再依次查找计算九宫格中的点(蓝点和红点)与中心点的距离,最终筛选出距离范围内的点...并可推算出Redis中GEORADIUS查找附近的人功能,时间复杂度为:O(N+log(M)),其中N为指定半径范围内的位置元素数量,而M则是被九宫格圈住计算距离的元素的数量。
聚类分析就是在无监督学习下数据对象的探索合适的簇的过程,在探索过程中,簇与簇之间的数据对象差异越来越明显,簇内的数据对象之间差异越来越小。...聚类算法的相似度量 聚类的最终目标就是在已知无标签的数据集上找到合适的簇,将这些无标签的数据合理的划分到合适的簇中。其中簇内的样本的相似度很高,不同簇的样本间相似度很低。...基于层次的聚类算法通常会用平均距离,最大距离,最小距离作为衡量距离的方法,算法如果使用最大距离来度量类与类的距离时,称为最远邻聚类算法;当使用最小距离作为衡量类与类之间的距离时,称为邻聚类算法。...如果一个点p的邻域内所包含密度可达对象点数目大于指定个数,则需要创建一个以点p为核心的新类。...算法的优点: 比传统的kmeans聚类算法普适性更强,不仅可以用于凸数据,对于任意形状的数据空间也能得到很好的聚类。 算法的缺点: 在进行聚类之前需要设置具体应用的尺度参数,通常需要一些经验。
: 返回两个给定位置之间的距离; GEOHASH: 返回一个或多个位置对象的Geohash表示; GEORADIUS: 以给定的经纬度为中心,返回目标集合中与中心的距离不超过给定最大距离的所有位置对象...范围单位:m | km | ft | mi --> 米 | 千米 | 英尺 | 英里 额外参数: - WITHDIST:在返回位置对象的同时,将位置对象与中心之间的距离也一并返回。...两个参数选项,在调用georadius时是否真的只查询了主实例,还是进行了只读封装。...在实际搜索时,首先会根据搜索半径计算geohash网格等级(即右图中网格大小等级),并确定九宫格位置(即红色九宫格位置信息);再依次查找计算九宫格中的点(蓝点和红点)与中心点的距离,最终筛选出距离范围内的点...并可推算出Redis中GEORADIUS查找附近的人功能,时间复杂度为:O(N+log(M)) 其中N为指定半径范围内的位置元素数量,而M则是被九宫格圈住计算距离的元素的数量。
: 返回两个给定位置之间的距离; GEOHASH: 返回一个或多个位置对象的Geohash表示; GEORADIUS: 以给定的经纬度为中心,返回目标集合中与中心的距离不超过给定最大距离的所有位置对象;...范围单位:m | km | ft | mi --> 米 | 千米 | 英尺 | 英里 额外参数: - WITHDIST:在返回位置对象的同时,将位置对象与中心之间的距离也一并返回。...两个参数选项,在调用georadius时是否真的只查询了主实例,还是进行了只读封装。...在实际搜索时,首先会根据搜索半径计算geohash网格等级(即右图中网格大小等级),并确定九宫格位置(即红色九宫格位置信息);再依次查找计算九宫格中的点(蓝点和红点)与中心点的距离,最终筛选出距离范围内的点...并可推算出Redis中GEORADIUS查找附近的人功能,时间复杂度为:O(N+log(M)) 其中N为指定半径范围内的位置元素数量,而M则是被九宫格圈住计算距离的元素的数量。
GEODIST:返回两个给定位置之间的距离。 GEOHASH:返回一个或多个位置对象的 GeoHASH 表示。...范围单位:m | km | ft | mi --> 米 | 千米 | 英尺 | 英里 额外参数: WITHDIST:在返回位置对象的同时,将位置对象与中心之间的距离也一并返回。...在调用 GEORADIUS 时是否真的只查询了主实例,还是进行了只读封装。感兴趣的朋友可以自己研究下。...再依次查找计算九宫格中的点(蓝点和红点)与中心点的距离,最终筛选出距离范围内的点(红点)。 算法分析 为什么要用这种算法策略进行查询,或者说这种策略的优势在哪,让我们以问答的方式进行分析说明。...其中 N 为指定半径范围内的位置元素数量,而 M 则是被九宫格圈住计算距离的元素的数量。 结合 Redis 本身基于内存的存储特性,在实际使用过程中有非常高的运行效率。
: 返回两个给定位置之间的距离; GEOHASH: 返回一个或多个位置对象的Geohash表示; GEORADIUS: 以给定的经纬度为中心,返回目标集合中与中心的距离不超过给定最大距离的所有位置对象;...范围单位:m | km | ft | mi --> 米 | 千米 | 英尺 | 英里 额外参数: WITHDIST:在返回位置对象的同时,将位置对象与中心之间的距离也一并返回。...两个参数选项,在调用georadius时是否真的只查询了主实例,还是进行了只读封装。...在实际搜索时,首先会根据搜索半径计算geohash网格等级(即右图中网格大小等级),并确定九宫格位置(即红色九宫格位置信息);再依次查找计算九宫格中的点(蓝点和红点)与中心点的距离,最终筛选出距离范围内的点...其中N为九宫格范围内的位置元素数量(要算距离);M是指定层级格子的数量,log(M)是跳表结构中找到每个格子首元素的时间复杂度(这个过程一般会进行9次)。
: 返回两个给定位置之间的距离; GEOHASH: 返回一个或多个位置对象的Geohash表示; GEORADIUS: 以给定的经纬度为中心,返回目标集合中与中心的距离不超过给定最大距离的所有位置对象;...范围单位:m | km | ft | mi --> 米 | 千米 | 英尺 | 英里 额外参数: - WITHDIST:在返回位置对象的同时,将位置对象与中心之间的距离也一并返回。...两个参数选项,在调用georadius时是否真的只查询了主实例,还是进行了只读封装。...在实际搜索时,首先会根据搜索半径计算geohash网格等级(即右图中网格大小等级),并确定九宫格位置(即红色九宫格位置信息);再依次查找计算九宫格中的点(蓝点和红点)与中心点的距离,最终筛选出距离范围内的点...其中N为九宫格范围内的位置元素数量(要算距离);M是指定层级格子的数量,log(M)是跳表结构中找到每个格子首元素的时间复杂度(这个过程一般会进行9次)。
,以及检查点集是否是强凸的函数。...此外,还描述了一些用于计算船体点的特定极值点和子序列的函数,如一组点的上、下船体。 三维凸包3D Convex Hulls 这个包提供了计算三维凸壳的函数,以及检查点集是否是强凸的函数。...孔的方向必须与外轮廓的方向相反,任何轮廓之间不能有交集。一个孔不能在任何其他孔的有界区域内。...迭代单元四舍五入是单元四舍五入的一种修改,其中每个顶点与任何非关联边之间的距离至少为0.5像素。这个包支持这两种方法。...多维度三角剖分dD Triangulations 这个包提供了在欧几里得空间中操作三角函数(纯单纯复合体)的类,这些类的维数可以在编译时或运行时指定。
领取专属 10元无门槛券
手把手带您无忧上云