Пример #1
0
 static void OnPostColonyIteration(object sender, EventArgs e)
 {
     if (sender is AntIBMiner)
     {
         AntIBMiner colony = sender as AntIBMiner;
         Console.WriteLine("Iteration [" + colony.CurrentIteration.ToString() + "] - Fitness: " + Math.Round(colony.GlobalBest.Quality * 100, 4).ToString());
     }
     else
     {
         PSOIB swarm = sender as PSOIB;
         Console.WriteLine("Iteration [" + swarm.CurrentIteration.ToString() + "] - Fitness: " + Math.Round(swarm.GlobalBest.Quality * 100, 4).ToString());
     }
 }
Пример #2
0
        public static EnsembleClassifier CreateNCCAntIBMinerClassifier_Ensemble(Dataset trainingSet)
        {
            int classCount      = trainingSet.Metadata.Target.Values.Length;
            int attributesCount = trainingSet.Metadata.Attributes.Length;

            int problemSize = attributesCount + 1;

            AccuracyMeasure                  measure         = new AccuracyMeasure();
            DefaultDistanceMeasure           distanceMeasure = new DefaultDistanceMeasure(2);
            NearestClassClassifier           ncc             = new NearestClassClassifier(distanceMeasure, trainingSet);
            IBClassificationQualityEvaluator evaluator       = new ContinuousACO.ProblemSpecifics.IBClassificationQualityEvaluator(ncc, measure);

            evaluator.LearningSet   = trainingSet;
            evaluator.ValidationSet = trainingSet;
            Problem <double> problem = new Problem <double>(null, null, evaluator, null);

            AntIBMiner         antminer = new AntIBMiner(maxIterations, colonySize, convergenceIterations, problem, problemSize, archive, q, segma, trainingSet);
            EnsembleClassifier aconcc   = antminer.CreateEnsembleClassifier();

            return(aconcc);
        }
Пример #3
0
        public static KNearestNeighbours CreateKNNAntIBMinerClassifier_ClassBasedWeights(Dataset trainingSet, bool useWeightedVote)
        {
            int classCount      = trainingSet.Metadata.Target.Values.Length;
            int attributesCount = trainingSet.Metadata.Attributes.Length;

            int problemSize = (attributesCount * classCount) + 1;

            AccuracyMeasure                  measure         = new AccuracyMeasure();
            DefaultDistanceMeasure           distanceMeasure = new DefaultDistanceMeasure(2);
            KNearestNeighbours               knn             = new KNearestNeighbours(distanceMeasure, trainingSet, useWeightedVote);
            IBClassificationQualityEvaluator evaluator       = new ContinuousACO.ProblemSpecifics.IBClassificationQualityEvaluator(knn, measure);

            evaluator.LearningSet   = trainingSet;
            evaluator.ValidationSet = trainingSet;
            Problem <double> problem = new Problem <double>(null, null, evaluator, null);

            AntIBMiner antminer = new AntIBMiner(maxIterations, colonySize, convergenceIterations, problem, problemSize, archive, q, segma, trainingSet);

            antminer.OnPostColonyIteration += OnPostColonyIteration;

            KNearestNeighbours acoknn = antminer.CreateClassifier() as KNearestNeighbours;

            return(acoknn);
        }
Пример #4
0
        public static EnsembleClassifier CreateGKAntIBMinerClassifier_ClassBaseWeights_Ensemble(Dataset trainingSet)
        {
            int classCount      = trainingSet.Metadata.Target.Values.Length;
            int attributesCount = trainingSet.Metadata.Attributes.Length;

            int problemSize = (attributesCount * classCount) + 1;

            AccuracyMeasure                  measure         = new AccuracyMeasure();
            DefaultDistanceMeasure           distanceMeasure = new DefaultDistanceMeasure(1);
            GaussianKernelEstimator          gke             = new GaussianKernelEstimator(0.5, distanceMeasure, trainingSet);
            IBClassificationQualityEvaluator evaluator       = new ContinuousACO.ProblemSpecifics.IBClassificationQualityEvaluator(gke, measure);

            evaluator.LearningSet   = trainingSet;
            evaluator.ValidationSet = trainingSet;
            Problem <double> problem = new Problem <double>(null, null, evaluator, null);

            AntIBMiner antminer = new AntIBMiner(maxIterations, colonySize, convergenceIterations, problem, problemSize, archive, q, segma, trainingSet);

            antminer.OnPostColonyIteration += OnPostColonyIteration;

            EnsembleClassifier acogke = antminer.CreateEnsembleClassifier();

            return(acogke);
        }