类 DBSCANClusterer<T extends Clusterable>

java.lang.Object
org.hipparchus.clustering.Clusterer<T>
org.hipparchus.clustering.DBSCANClusterer<T>
类型参数:
T - 要聚类的点的类型

public class DBSCANClusterer<T extends Clusterable> extends Clusterer<T>
DBSCAN(具有噪声的基于密度的空间聚类应用)算法。

DBSCAN算法基于密度连接的概念形成聚类,即点p与另一个点q密度连接,如果存在一系列点pi,其中i = 1 .. n且p1 = p和pn = q,使得每对<pi,pi+1>是直接密度可达的。点q从点p直接密度可达,如果它在该点的ε-邻域内。

任何不是从形成的聚类密度可达的点都被视为噪声,因此不会出现在结果中。

该算法需要两个参数:

  • eps:定义点的ε-邻域的距离
  • minPoints:形成聚类所需的最小密度连接点数
另请参阅:
  • 构造器详细资料

    • DBSCANClusterer

      public DBSCANClusterer(double eps, int minPts) throws MathIllegalArgumentException
      创建一个新的DBSCANClusterer实例。

      默认距离度量将使用欧几里德距离。

      参数:
      eps - 要考虑的邻域的最大半径
      minPts - 形成聚类所需的最小点数
      抛出:
      MathIllegalArgumentException - 如果eps < 0.0minPts < 0
    • DBSCANClusterer

      public DBSCANClusterer(double eps, int minPts, DistanceMeasure measure) throws MathIllegalArgumentException
      创建一个新的DBSCANClusterer实例。
      参数:
      eps - 要考虑的邻域的最大半径
      minPts - 形成聚类所需的最小点数
      measure - 要使用的距离度量
      抛出:
      MathIllegalArgumentException - 如果eps < 0.0minPts < 0
  • 方法详细资料

    • getEps

      public double getEps()
      返回要考虑的邻域的最大半径。
      返回:
      邻域的最大半径
    • getMinPts

      public int getMinPts()
      返回形成聚类所需的最小点数。
      返回:
      形成聚类所需的最小点数
    • cluster

      public List<Cluster<T>> cluster(Collection<T> points) throws NullArgumentException
      执行DBSCAN聚类分析。
      指定者:
      cluster 在类中 Clusterer<T extends Clusterable>
      参数:
      points - 要聚类的点
      返回:
      聚类的列表
      抛出:
      NullArgumentException - 如果数据点为null