- Timestamp:
- 09/15/09 14:01:47 (15 years ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Modeling/3.2/DefaultClassificationOperators.cs
r2354 r2356 22 22 using HeuristicLab.Core; 23 23 using HeuristicLab.DataAnalysis; 24 using HeuristicLab.GP.Interfaces;25 24 using HeuristicLab.Operators; 26 25 using HeuristicLab.Modeling; 27 26 using HeuristicLab.Data; 28 27 29 namespace HeuristicLab. GP.StructureIdentification.Classification{30 public static class DefaultClassification AlgorithmOperators {28 namespace HeuristicLab.Modeling { 29 public static class DefaultClassificationOperators { 31 30 public static IOperator CreatePostProcessingOperator() { 31 CombinedOperator op = new CombinedOperator(); 32 op.Name = "Classification model analyzer"; 33 32 34 SequentialProcessor seq = new SequentialProcessor(); 33 seq.AddSubOperator(Default StructureIdentificationAlgorithmOperators.CreatePostProcessingOperator());35 seq.AddSubOperator(DefaultRegressionOperators.CreatePostProcessingOperator()); 34 36 35 UniformSequentialSubScopesProcessor subScopesProc = new UniformSequentialSubScopesProcessor();36 SequentialProcessor individualProc = new SequentialProcessor();37 subScopesProc.AddSubOperator(individualProc);38 seq.AddSubOperator(subScopesProc);39 37 SimpleAccuracyEvaluator trainingAccuracy = new SimpleAccuracyEvaluator(); 40 38 trainingAccuracy.Name = "TrainingAccuracyEvaluator"; … … 52 50 testAccuracy.GetVariableInfo("Values").ActualName = "TestValues"; 53 51 54 individualProc.AddSubOperator(trainingAccuracy); 55 individualProc.AddSubOperator(validationAccuracy); 56 individualProc.AddSubOperator(testAccuracy); 57 return seq; 52 SimpleConfusionMatrixEvaluator trainingConfusionMatrixEvaluator = new SimpleConfusionMatrixEvaluator(); 53 trainingConfusionMatrixEvaluator.Name = "TrainingConfusionMatrixEvaluator"; 54 trainingConfusionMatrixEvaluator.GetVariableInfo("Values").ActualName = "TrainingValues"; 55 trainingConfusionMatrixEvaluator.GetVariableInfo("ConfusionMatrix").ActualName = "TrainingConfusionMatrix"; 56 SimpleConfusionMatrixEvaluator validationConfusionMatrixEvaluator = new SimpleConfusionMatrixEvaluator(); 57 validationConfusionMatrixEvaluator.Name = "ValidationConfusionMatrixEvaluator"; 58 validationConfusionMatrixEvaluator.GetVariableInfo("Values").ActualName = "ValidationValues"; 59 validationConfusionMatrixEvaluator.GetVariableInfo("ConfusionMatrix").ActualName = "ValidationConfusionMatrix"; 60 SimpleConfusionMatrixEvaluator testConfusionMatrixEvaluator = new SimpleConfusionMatrixEvaluator(); 61 testConfusionMatrixEvaluator.Name = "TestConfusionMatrixEvaluator"; 62 testConfusionMatrixEvaluator.GetVariableInfo("Values").ActualName = "TestValues"; 63 testConfusionMatrixEvaluator.GetVariableInfo("ConfusionMatrix").ActualName = "TestConfusionMatrix"; 64 65 seq.AddSubOperator(trainingAccuracy); 66 seq.AddSubOperator(validationAccuracy); 67 seq.AddSubOperator(testAccuracy); 68 seq.AddSubOperator(trainingConfusionMatrixEvaluator); 69 seq.AddSubOperator(validationConfusionMatrixEvaluator); 70 seq.AddSubOperator(testConfusionMatrixEvaluator); 71 72 op.OperatorGraph.AddOperator(seq); 73 op.OperatorGraph.InitialOperator = seq; 74 75 return op; 58 76 } 59 77 60 78 public static IOperator CreateProblemInjector() { 61 CombinedOperator op = new CombinedOperator(); 62 op.Name = "ProblemInjector"; 63 SequentialProcessor seq = new SequentialProcessor(); 64 seq.AddSubOperator(new ProblemInjector()); 65 seq.AddSubOperator(new TargetClassesCalculator()); 66 op.OperatorGraph.AddOperator(seq); 67 op.OperatorGraph.InitialOperator = seq; 68 return op; 79 return DefaultRegressionOperators.CreateProblemInjector(); 69 80 } 70 81 71 public static void SetModelData(IAnalyzerModel model, IScope scope) { 72 model.SetResult("TrainingAccuracy", scope.GetVariableValue<DoubleData>("TrainingAccuracy", true).Data); 73 model.SetResult("ValidationAccuracy", scope.GetVariableValue<DoubleData>("ValidationAccuracy", true).Data); 74 model.SetResult("TestAccuracy", scope.GetVariableValue<DoubleData>("TestAccuracy", true).Data); 82 public static IAnalyzerModel PopulateAnalyzerModel(IScope modelScope, IAnalyzerModel model) { 83 DefaultRegressionOperators.PopulateAnalyzerModel(modelScope, model); 84 model.SetResult("TrainingAccuracy", modelScope.GetVariableValue<DoubleData>("TrainingAccuracy", false).Data); 85 model.SetResult("ValidationAccuracy", modelScope.GetVariableValue<DoubleData>("ValidationAccuracy", false).Data); 86 model.SetResult("TestAccuracy", modelScope.GetVariableValue<DoubleData>("TestAccuracy", false).Data); 87 return model; 75 88 } 76 89 }
Note: See TracChangeset
for help on using the changeset viewer.