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()); } }
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); }
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); }
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); }