Free cookie consent management tool by TermsFeed Policy Generator

source: trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/DefaultClassificationAlgorithmOperators.cs @ 2341

Last change on this file since 2341 was 2341, checked in by gkronber, 15 years ago

Merged changeset r2330:2340 from #720 refactoring branch to the trunk. (r2331, r2335, r2337, r2340)

File size: 4.9 KB
Line 
1#region License Information
2/* HeuristicLab
3 * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
4 *
5 * This file is part of HeuristicLab.
6 *
7 * HeuristicLab is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * HeuristicLab is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
19 */
20#endregion
21
22using HeuristicLab.Core;
23using HeuristicLab.DataAnalysis;
24using HeuristicLab.GP.Interfaces;
25using HeuristicLab.Operators;
26using HeuristicLab.Modeling;
27using HeuristicLab.Data;
28
29namespace HeuristicLab.GP.StructureIdentification.Classification {
30  internal static class DefaultClassificationAlgorithmOperators {
31    internal static IOperator CreatePostProcessingOperator() {
32      SequentialProcessor seq = new SequentialProcessor();
33      seq.AddSubOperator(DefaultStructureIdentificationAlgorithmOperators.CreatePostProcessingOperator());
34
35      UniformSequentialSubScopesProcessor subScopesProc = new UniformSequentialSubScopesProcessor();
36      SequentialProcessor individualProc = new SequentialProcessor();
37      subScopesProc.AddSubOperator(individualProc);
38      seq.AddSubOperator(subScopesProc);
39      AccuracyEvaluator trainingAccuracy = new AccuracyEvaluator();
40      trainingAccuracy.Name = "TrainingAccuracyEvaluator";
41      trainingAccuracy.GetVariableInfo("Accuracy").ActualName = "TrainingAccuracy";
42      trainingAccuracy.GetVariableInfo("SamplesStart").ActualName = "TrainingSamplesStart";
43      trainingAccuracy.GetVariableInfo("SamplesEnd").ActualName = "TrainingSamplesEnd";
44
45      AccuracyEvaluator validationAccuracy = new AccuracyEvaluator();
46      validationAccuracy.Name = "ValidationAccuracyEvaluator";
47      validationAccuracy.GetVariableInfo("Accuracy").ActualName = "ValidationAccuracy";
48      validationAccuracy.GetVariableInfo("SamplesStart").ActualName = "ValidationSamplesStart";
49      validationAccuracy.GetVariableInfo("SamplesEnd").ActualName = "ValidationSamplesEnd";
50
51      AccuracyEvaluator testAccuracy = new AccuracyEvaluator();
52      testAccuracy.Name = "TestAccuracyEvaluator";
53      testAccuracy.GetVariableInfo("Accuracy").ActualName = "TestAccuracy";
54      testAccuracy.GetVariableInfo("SamplesStart").ActualName = "TestSamplesStart";
55      testAccuracy.GetVariableInfo("SamplesEnd").ActualName = "TestSamplesEnd";
56
57      ConfusionMatrixEvaluator trainingConfusionMatrix = new ConfusionMatrixEvaluator();
58      trainingConfusionMatrix.Name = "TrainingConfusionMatrixEvaluator";
59      trainingConfusionMatrix.GetVariableInfo("ConfusionMatrix").ActualName = "TrainingConfusionMatrix";
60      trainingConfusionMatrix.GetVariableInfo("SamplesStart").ActualName = "TrainingSamplesStart";
61      trainingConfusionMatrix.GetVariableInfo("SamplesEnd").ActualName = "TrainingSamplesEnd";
62
63      ConfusionMatrixEvaluator validationConfusionMatrix = new ConfusionMatrixEvaluator();
64      validationConfusionMatrix.Name = "ValidationConfusionMatrixEvaluator";
65      validationConfusionMatrix.GetVariableInfo("ConfusionMatrix").ActualName = "ValidationConfusionMatrix";
66      validationConfusionMatrix.GetVariableInfo("SamplesStart").ActualName = "ValidationSamplesStart";
67      validationConfusionMatrix.GetVariableInfo("SamplesEnd").ActualName = "ValidationSamplesEnd";
68
69      ConfusionMatrixEvaluator testConfusionMatrix = new ConfusionMatrixEvaluator();
70      testConfusionMatrix.Name = "TestConfusionMatrixEvaluator";
71      testConfusionMatrix.GetVariableInfo("ConfusionMatrix").ActualName = "TestConfusionMatrix";
72      testConfusionMatrix.GetVariableInfo("SamplesStart").ActualName = "TestSamplesStart";
73      testConfusionMatrix.GetVariableInfo("SamplesEnd").ActualName = "TestSamplesEnd";
74
75      individualProc.AddSubOperator(trainingAccuracy);
76      individualProc.AddSubOperator(validationAccuracy);
77      individualProc.AddSubOperator(testAccuracy);
78      individualProc.AddSubOperator(trainingConfusionMatrix);
79      individualProc.AddSubOperator(validationConfusionMatrix);
80      individualProc.AddSubOperator(testConfusionMatrix);
81      return seq;
82    }
83
84    internal static IOperator CreateProblemInjector() {
85      CombinedOperator op = new CombinedOperator();
86      op.Name = "ProblemInjector";
87      SequentialProcessor seq = new SequentialProcessor();
88      seq.AddSubOperator(new ProblemInjector());
89      seq.AddSubOperator(new TargetClassesCalculator());
90      op.OperatorGraph.AddOperator(seq);
91      op.OperatorGraph.InitialOperator = seq;
92      return op;
93    }
94  }
95}
Note: See TracBrowser for help on using the repository browser.