Class DBSCANClustering


  • public final class DBSCANClustering
    extends java.lang.Object
    Plain sequential DBSCAN clustering.
    Author:
    thomas.jungblut
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.util.List<java.util.List<de.jungblut.math.DoubleVector>> cluster​(java.util.List<de.jungblut.math.DoubleVector> points, DistanceMeasurer measurer, int minPoints, double epsilon)
      Clusters the given points.
      static java.util.List<de.jungblut.math.DoubleVector> findNoise​(java.util.List<de.jungblut.math.DoubleVector> points, java.util.List<java.util.List<de.jungblut.math.DoubleVector>> clusteringOutput)
      Find the noise in the given clustering, by taking a set difference.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DBSCANClustering

        public DBSCANClustering()
    • Method Detail

      • cluster

        public static java.util.List<java.util.List<de.jungblut.math.DoubleVector>> cluster​(java.util.List<de.jungblut.math.DoubleVector> points,
                                                                                            DistanceMeasurer measurer,
                                                                                            int minPoints,
                                                                                            double epsilon)
        Clusters the given points.
        Parameters:
        points - the points to cluster.
        measurer - the distance measurer to use.
        minPoints - the number of minimum points in a cluster.
        epsilon - the radius of a point from which we find neighbours.
        Returns:
        the assignments of the points. Points that are not included are classified as noise.
      • findNoise

        public static java.util.List<de.jungblut.math.DoubleVector> findNoise​(java.util.List<de.jungblut.math.DoubleVector> points,
                                                                              java.util.List<java.util.List<de.jungblut.math.DoubleVector>> clusteringOutput)
        Find the noise in the given clustering, by taking a set difference.
        Returns:
        a list of points that were classified as noise.