public Problem(IComponentInvalidator <T> invalidator, IHeuristicValueCalculator <T> calculator, ISolutionQualityEvaluator <T> evaluator, ILocalSearch <T> localSearch) { this._invalidator = invalidator; this._calculator = calculator; this._evaluator = evaluator; this._localSearch = localSearch; }
public static BayesianNetworkClassifier CreateABCMinerClassifier(int seed, int iterations, int colonySize, int convergence, int dependencies, Dataset trainingSet, DataMining.ClassificationMeasures.IClassificationQualityMeasure qualityEvaluator, IHeuristicValueCalculator <Edge> calculator, bool performLocalSearch, bool fireEvents) { DataMining.Utilities.RandomUtility.Initialize(seed); CyclicRelationInvalidator invalidator = new CyclicRelationInvalidator(); BayesianClassificationQualityEvaluator evaluator = new BayesianClassificationQualityEvaluator(qualityEvaluator); BackwardRemovalLocalSearch localSearch = new BackwardRemovalLocalSearch(evaluator); Problem <Edge> problem = new Problem <Edge>(invalidator, calculator, evaluator, localSearch); ABCMiner abcminer = new ABCMiner(iterations, colonySize, convergence, problem, dependencies, performLocalSearch); abcminer.Dataset = trainingSet; if (fireEvents) { abcminer.OnPostAntSolutionContruction += new EventHandler(abclassifier_OnPostAntSolutionContruction); abcminer.OnPostColonyIteration += new EventHandler(abclassifier_OnPostColonyIteration); } BayesianNetworks.Model.BayesianNetworkClassifier bnclassifier = abcminer.CreateClassifier() as BayesianNetworkClassifier; return(bnclassifier); }
public static BayesianMultinetClassifier CreateGMNAntBayesianClassification(int seed, int iterations, int colonySize, int convergence, int dependencies, Dataset trainingSet, ISolutionQualityEvaluator <Edge> qualityEvaluator, IHeuristicValueCalculator <Edge> calculator, bool fireEvents) { DataMining.Utilities.RandomUtility.Initialize(seed); CyclicRelationInvalidator invalidator = new CyclicRelationInvalidator(); BackwardRemovalLocalSearch localSearch = new BackwardRemovalLocalSearch(qualityEvaluator); Problem <Edge> problem = new Problem <Edge>(invalidator, calculator, qualityEvaluator, localSearch); ABCMinerGMN mnabcminer = new ABCMinerGMN(iterations, colonySize, convergence, problem, dependencies, trainingSet); if (fireEvents) { mnabcminer.OnPostAntSolutionContruction += new EventHandler(abclassifier_OnPostAntSolutionContruction); mnabcminer.OnPostColonyIteration += new EventHandler(GMNabclassifier_OnPostColonyIteration); } mnabcminer.Work(); BayesianNetworks.Model.BayesianMultinetClassifier mnbclassifier = mnabcminer.MultinetBayesianClassifier; return(mnbclassifier); }