## DBSCAN集群 > 它是一种基于密度的聚类算法:给定一些空间中的一组点,它将紧密堆积在一起的点(具有许多邻近邻居的点)组合在一起,标记为仅在低密度区域中存在的异常点(最近的点)邻居们太远了)。DBSCAN是最常见的聚类算法之一,也是科学文献中引用最多的算法。 > ***** ### 构造函数参数 `$epsilon` - epsilon,两个样本之间的最大距离,以便将它们视为在同一邻域中 `$minSamples` - 要被视为核心点的邻域中的样本数(这包括点本身) `$distanceMetric` - 距离对象,默认为欧几里德 ``` $dbscan = new DBSCAN($epsilon = 2, $minSamples = 3); $dbscan = new DBSCAN($epsilon = 2, $minSamples = 3, new Minkowski($lambda=4)); ``` ***** ## 聚类 要将样本分成簇,只需使用`cluster`方法。它返回带有样本的簇`array`。 ``` $samples = [[1, 1], [8, 7], [1, 2], [7, 8], [2, 1], [8, 9]]; $dbscan = new DBSCAN($epsilon = 2, $minSamples = 3); $dbscan->cluster($samples); // return [0=>[[1, 1], ...], 1=>[[8, 7], ...]] ```