/// <summary> /// Recluster the data, starting with an initial classification and further combining points into fewer clusters. /// </summary> void Recluster() { LoadData(); var classifier = new HilbertClassifier(InitialClassification, Configuration.Index.BitsPerDimension) { IndexConfig = Configuration.Index.Budget, MaxNeighborsToCompare = Configuration.HilbertClassifier.MaxNeighborsToCompare, OutlierDistanceMultiplier = Configuration.HilbertClassifier.OutlierDistanceMultiplier, OutlierSize = Configuration.Index.Budget.OutlierSize, UseExactClusterDistance = Configuration.HilbertClassifier.UseExactClusterDistance }; //TODO: Follow this with the DensityClassifier. Timer.Start("Classify by distance"); FinalClassification = classifier.Classify(); Timer.Stop("Classify by distance"); MergeSquareDistance = classifier.MergeSquareDistance; ReclassifyByDensity(); Logger.Info(Summary()); SaveData(); }