コード例 #1
0
        /// <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();
        }