public static BayesianNetworkClassifier CreateGreedyBayesianClassifier(int maxDependencies, int maxEvaluations, Dataset trainingSet, DataMining.ClassificationMeasures.IClassificationQualityMeasure qualityEvaluator, bool fireEvents) { CyclicRelationInvalidator invalidator = new CyclicRelationInvalidator(); invalidator.MaxDependencies = maxDependencies; BayesianClassificationQualityEvaluator evaluator = new BayesianClassificationQualityEvaluator(qualityEvaluator); evaluator.ValidationSet = trainingSet; BackwardRemovalLocalSearch localSearch = new BackwardRemovalLocalSearch(evaluator); Problem <Edge> problem = new Problem <Edge>(invalidator, null, evaluator, localSearch); GHC hcblassifier = new GHC(0, 0, 0, problem, maxEvaluations, trainingSet, trainingSet); if (fireEvents) { hcblassifier.OnPostEvaluation += new EventHandler(hcblassifier_OnPostEvaluation); hcblassifier.OnProgress += new EventHandler(hcblassifier_OnProgress); } hcblassifier.Work(); BayesianNetworks.Model.BayesianNetworkClassifier bnclassifier = hcblassifier.BayesianNetworkClassifier; return(bnclassifier); }
public static BayesianNetworkClassifier CreateABCMinerPlusIClassifier(int seed, int iterations, int colonySize, int localColonySize, int convergence, int maxParents, Dataset trainingSet, DataMining.ClassificationMeasures.IClassificationQualityMeasure measure, bool performLocalSearch, bool fireEvents) { DataMining.Utilities.RandomUtility.Initialize(seed); VariableTypeAssigmentInvalidator invalidator1 = new VariableTypeAssigmentInvalidator(); BayesianClassificationQualityEvaluator evaluator = new BayesianClassificationQualityEvaluator(measure); SimpleVariableTypeAssignmentLocalSearch localSearch1 = new SimpleVariableTypeAssignmentLocalSearch(evaluator); DefaultHeuristicCalculator <VariableTypeAssignment> calculator1 = new DefaultHeuristicCalculator <VariableTypeAssignment>(); Problem <VariableTypeAssignment> problem1 = new Problem <VariableTypeAssignment>(invalidator1, calculator1, evaluator, localSearch1); CyclicRelationInvalidator invalidator2 = new CyclicRelationInvalidator(); BackwardRemovalLocalSearch localSearch2 = new BackwardRemovalLocalSearch(evaluator); CMICalculator calculator = new CMICalculator(); Problem <Edge> problem2 = new Problem <Edge>(invalidator2, calculator, evaluator, localSearch2); ABCMinerPlusI abcMinerPlusI = new ABCMinerPlusI(iterations, colonySize, localColonySize, convergence, problem2, problem1, maxParents, trainingSet, performLocalSearch); if (fireEvents) { abcMinerPlusI.ABCAlgorithm.OnPostAntSolutionContruction += new EventHandler(abclassifier_OnPostAntSolutionContruction); abcMinerPlusI.ABCAlgorithm.OnPostColonyIteration += new EventHandler(abclassifier_OnPostColonyIteration); abcMinerPlusI.ABCMinerAlgorithm.OnPostAntSolutionContruction += new EventHandler(abclassifier_OnPostAntSolutionContruction); abcMinerPlusI.ABCMinerAlgorithm.OnPostColonyIteration += new EventHandler(abclassifier_OnPostColonyIteration); } BayesianNetworks.Model.BayesianNetworkClassifier bnclassifier = abcMinerPlusI.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); }
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); }