Example #1
0
        public static void TestKMeans()
        {
            string  datasetFile = folderPath + "\\" + datasetName + ".arff";
            Dataset dataset     = ArffHelper.LoadDatasetFromArff(datasetFile);

            DataMining.ProximityMeasures.ISimilarityMeasure        similarityMeasure = new DataMining.ProximityMeasures.BinaryMatchingSimilarityMeasure();
            DataMining.ProximityMeasures.IClusteringQualityMeasure cohesionEvaluator = new DataMining.ProximityMeasures.CohesionClusteringMeasure();

            double maxQuality = 0;
            double avgQuality = 0;

            for (int i = 0; i < 1; i++)
            {
                int seed = (int)DateTime.Now.Ticks;

                DataMining.Model.ClusteringSolution solution = SingleTest.CreateKMeansClusters(seed, dataset, 5, similarityMeasure, 1000, true);
                double currentQuality = cohesionEvaluator.CalculateQuality(solution);
                Console.WriteLine("Iteration " + i.ToString() + ":" + currentQuality.ToString());
                avgQuality += currentQuality;
                if (currentQuality > maxQuality)
                {
                    maxQuality = currentQuality;
                }
            }

            // avgQuality /= 10;

            // Console.WriteLine("Maximum:" + maxQuality.ToString());
            // Console.WriteLine("Average:" + avgQuality.ToString());
        }
Example #2
0
        public static void TestACOCluster_MB()
        {
            int seed = (int)DateTime.Now.Ticks;

            Console.WriteLine("Start");

            string  datasetFile = folderPath + "\\" + datasetName + ".arff";
            Dataset trainingSet = ArffHelper.LoadDatasetFromArff(datasetFile);
            Dataset testingSet  = ArffHelper.LoadDatasetFromArff(datasetFile);

            DataMining.ProximityMeasures.ISimilarityMeasure        similarityMeasure = new DataMining.ProximityMeasures.ClassBasedSimilarityMeasure(trainingSet);
            DataMining.ProximityMeasures.IClusteringQualityMeasure cohesionEvaluator = new DataMining.ProximityMeasures.CohesionClusteringMeasure();
            DataMining.Model.ClusteringSolution solution = SingleTest.CreateACOClusters_MB(seed, trainingSet, 3, similarityMeasure, 1000, 10, 10, true, true);
            double quality = cohesionEvaluator.CalculateQuality(solution);

            Console.WriteLine("Final Quality:" + quality.ToString());

            Console.WriteLine("End");
        }