Free cookie consent management tool by TermsFeed Policy Generator

source: trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/StandardGP.cs @ 2174

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

Implemented #704 (Shuffling of training data (only) in (non-timeseries) modeling algorithms)

File size: 4.2 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 System;
23using System.Collections.Generic;
24using System.Linq;
25using System.Text;
26using HeuristicLab.Core;
27using System.Xml;
28using System.Diagnostics;
29using HeuristicLab.DataAnalysis;
30using HeuristicLab.Random;
31using HeuristicLab.Data;
32using HeuristicLab.Operators;
33using HeuristicLab.Modeling;
34
35namespace HeuristicLab.GP.StructureIdentification.Classification {
36  public class StandardGP : HeuristicLab.GP.StructureIdentification.StandardGP, IClassificationAlgorithm {
37    protected override IOperator CreateBestSolutionProcessor() {
38      IOperator seq = base.CreateBestSolutionProcessor();
39      seq.AddSubOperator(BestSolutionProcessor);
40      return seq;
41    }
42
43    internal static IOperator BestSolutionProcessor {
44      get {
45        SequentialProcessor seq = new SequentialProcessor();
46        AccuracyEvaluator trainingAccuracy = new AccuracyEvaluator();
47        trainingAccuracy.GetVariableInfo("Accuracy").ActualName = "TrainingAccuracy";
48        trainingAccuracy.GetVariableInfo("SamplesStart").ActualName = "ActualTrainingSamplesStart";
49        trainingAccuracy.GetVariableInfo("SamplesEnd").ActualName = "ActualTrainingSamplesEnd";
50
51        AccuracyEvaluator validationAccuracy = new AccuracyEvaluator();
52        validationAccuracy.GetVariableInfo("Accuracy").ActualName = "ValidationAccuracy";
53        validationAccuracy.GetVariableInfo("SamplesStart").ActualName = "ValidationSamplesStart";
54        validationAccuracy.GetVariableInfo("SamplesEnd").ActualName = "ValidationSamplesEnd";
55
56        AccuracyEvaluator testAccuracy = new AccuracyEvaluator();
57        testAccuracy.GetVariableInfo("Accuracy").ActualName = "TestAccuracy";
58        testAccuracy.GetVariableInfo("SamplesStart").ActualName = "TestSamplesStart";
59        testAccuracy.GetVariableInfo("SamplesEnd").ActualName = "TestSamplesEnd";
60
61        ConfusionMatrixEvaluator trainingConfusionMatrix = new ConfusionMatrixEvaluator();
62        trainingConfusionMatrix.GetVariableInfo("ConfusionMatrix").ActualName = "TrainingConfusionMatrix";
63        trainingConfusionMatrix.GetVariableInfo("SamplesStart").ActualName = "ActualTrainingSamplesStart";
64        trainingConfusionMatrix.GetVariableInfo("SamplesEnd").ActualName = "ActualTrainingSamplesEnd";
65
66        ConfusionMatrixEvaluator validationConfusionMatrix = new ConfusionMatrixEvaluator();
67        validationConfusionMatrix.GetVariableInfo("ConfusionMatrix").ActualName = "ValidationConfusionMatrix";
68        validationConfusionMatrix.GetVariableInfo("SamplesStart").ActualName = "ValidationSamplesStart";
69        validationConfusionMatrix.GetVariableInfo("SamplesEnd").ActualName = "ValidationSamplesEnd";
70
71        ConfusionMatrixEvaluator testConfusionMatrix = new ConfusionMatrixEvaluator();
72        testConfusionMatrix.GetVariableInfo("ConfusionMatrix").ActualName = "TestConfusionMatrix";
73        testConfusionMatrix.GetVariableInfo("SamplesStart").ActualName = "TestSamplesStart";
74        testConfusionMatrix.GetVariableInfo("SamplesEnd").ActualName = "TestSamplesEnd";
75
76        seq.AddSubOperator(trainingAccuracy);
77        seq.AddSubOperator(validationAccuracy);
78        seq.AddSubOperator(testAccuracy);
79        seq.AddSubOperator(trainingConfusionMatrix);
80        seq.AddSubOperator(validationConfusionMatrix);
81        seq.AddSubOperator(testConfusionMatrix);
82        return seq;
83      }
84    }
85  }
86}
Note: See TracBrowser for help on using the repository browser.