Class LearnHierarchicalTree<Point>

All Implemented Interfaces:

public class LearnHierarchicalTree<Point> extends Object implements VerbosePrint
The graph is constructed using a depth first search. Each level has its own k-means algorithm. Labeling results are used to segment points for each branch before going to the next level.
  • Field Details

    • minimumPointsForChildren

      public ConfigLength minimumPointsForChildren
      If a node has less than this number of points it will not spawn children. This is intended to avoid over fitting. If relative then it will be relative to the total number of points.
    • listPoints

      protected final DogArray<PackedArray<Point>> listPoints
    • listKMeans

      protected final DogArray<StandardKMeans<Point>> listKMeans
    • listWeights

      protected final DogArray<DogArray_F64> listWeights
    • pointsRequiredForChildren

      protected int pointsRequiredForChildren
    • totalPoints

      protected int totalPoints
    • verbose

      @Nullable protected @Nullable PrintStream verbose
  • Constructor Details

    • LearnHierarchicalTree

      public LearnHierarchicalTree(BoofLambdas.Factory<PackedArray<Point>> factoryStorage, BoofLambdas.Factory<StandardKMeans<Point>> factoryKMeans, long randomSeed)
      Constructor which specifies factories for internal data structures which are dynamic bsaed on the maximum number of levels
      factoryStorage - Factory for point storage
      factoryKMeans - Factory for new K-Means instances
      randomSeed - Seed used in random number generators
  • Method Details