Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/07/09 19:08:18 (15 years ago)
Author:
gkronber
Message:

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/3.3/StandardGP.cs

    r2319 r2341  
    2525using HeuristicLab.Modeling;
    2626using HeuristicLab.Operators;
     27using System;
    2728
    2829namespace HeuristicLab.GP.StructureIdentification.TimeSeries {
    2930  public class StandardGP : HeuristicLab.GP.StructureIdentification.StandardGP, ITimeSeriesAlgorithm {
    30     public override IOperator ProblemInjector {
    31       get {
    32         CombinedOperator algo = (CombinedOperator)Engine.OperatorGraph.InitialOperator;
    33         return algo.OperatorGraph.InitialOperator.SubOperators[1];
    34       }
    35       set {
    36         CombinedOperator algo = (CombinedOperator)Engine.OperatorGraph.InitialOperator;
    37         algo.OperatorGraph.InitialOperator.RemoveSubOperator(1);
    38         value.Name = "ProblemInjector";
    39         algo.OperatorGraph.InitialOperator.AddSubOperator(value, 1);
    40       }
     31    public int MinTimeOffset {
     32      get { return GetVariableInjector().GetVariable("MinTimeOffset").GetValue<IntData>().Data; }
     33      set { GetVariableInjector().GetVariable("MinTimeOffset").GetValue<IntData>().Data = value; }
    4134    }
    42    
    43     protected override IOperator CreateFunctionLibraryInjector() {
    44       return new FunctionLibraryInjector();
     35
     36    public int MaxTimeOffset {
     37      get { return GetVariableInjector().GetVariable("MaxTimeOffset").GetValue<IntData>().Data; }
     38      set { GetVariableInjector().GetVariable("MaxTimeOffset").GetValue<IntData>().Data = value; }
     39    }
     40
     41    public bool UseEstimatedTargetValue {
     42      get { return GetVariableInjector().GetVariable("UseEstimatedTargetValue").GetValue<BoolData>().Data; }
     43      set { GetVariableInjector().GetVariable("UseEstimatedTargetValue").GetValue<BoolData>().Data = value; }
    4544    }
    4645
    4746    protected override IOperator CreateProblemInjector() {
    48       return new ProblemInjector();
     47      return DefaultTimeSeriesOperators.CreateProblemInjector();
    4948    }
    5049
    51     protected override IOperator CreateBestSolutionProcessor() {
    52       SequentialProcessor seq = new SequentialProcessor();
    53       seq.AddSubOperator(base.CreateBestSolutionProcessor());
    54       seq.AddSubOperator(BestSolutionProcessor);
    55       return seq;
     50    protected override IOperator CreateFunctionLibraryInjector() {
     51      return DefaultTimeSeriesOperators.CreateFunctionLibraryInjector();
    5652    }
    5753
    58     public override IEditor CreateEditor() {
    59       return new StandardGpEditor(this);
     54    protected override IOperator CreatePostProcessingOperator() {
     55      return DefaultTimeSeriesOperators.CreatePostProcessingOperator();
    6056    }
    6157
    62     public override IView CreateView() {
    63       return new StandardGpEditor(this);
    64     }
    65 
    66     internal static IOperator BestSolutionProcessor {
    67       get {
    68         SequentialProcessor seq = new SequentialProcessor();
    69         TheilInequalityCoefficientEvaluator trainingTheil = new TheilInequalityCoefficientEvaluator();
    70         trainingTheil.GetVariableInfo("SamplesStart").ActualName = "ActualTrainingSamplesStart";
    71         trainingTheil.GetVariableInfo("SamplesEnd").ActualName = "ActualTrainingSamplesEnd";
    72         trainingTheil.GetVariableInfo("TheilInequalityCoefficient").ActualName = "TrainingTheilInequalityCoefficient";
    73         trainingTheil.GetVariableInfo("TheilInequalityCoefficientBias").ActualName = "TrainingTheilInequalityCoefficientBias";
    74         trainingTheil.GetVariableInfo("TheilInequalityCoefficientVariance").ActualName = "TrainingTheilInequalityCoefficientVariance";
    75         trainingTheil.GetVariableInfo("TheilInequalityCoefficientCovariance").ActualName = "TrainingTheilInequalityCoefficientCovariance";
    76 
    77         TheilInequalityCoefficientEvaluator validationTheil = new TheilInequalityCoefficientEvaluator();
    78         validationTheil.GetVariableInfo("SamplesStart").ActualName = "ActualValidationSamplesStart";
    79         validationTheil.GetVariableInfo("SamplesEnd").ActualName = "ActualValidationSamplesEnd";
    80         validationTheil.GetVariableInfo("TheilInequalityCoefficient").ActualName = "ValidationTheilInequalityCoefficient";
    81         validationTheil.GetVariableInfo("TheilInequalityCoefficientBias").ActualName = "ValidationTheilInequalityCoefficientBias";
    82         validationTheil.GetVariableInfo("TheilInequalityCoefficientVariance").ActualName = "ValidationTheilInequalityCoefficientVariance";
    83         validationTheil.GetVariableInfo("TheilInequalityCoefficientCovariance").ActualName = "ValidationTheilInequalityCoefficientCovariance";
    84 
    85         TheilInequalityCoefficientEvaluator testTheil = new TheilInequalityCoefficientEvaluator();
    86         testTheil.GetVariableInfo("SamplesStart").ActualName = "ActualTestSamplesStart";
    87         testTheil.GetVariableInfo("SamplesEnd").ActualName = "ActualTestSamplesEnd";
    88         testTheil.GetVariableInfo("TheilInequalityCoefficient").ActualName = "TestTheilInequalityCoefficient";
    89         testTheil.GetVariableInfo("TheilInequalityCoefficientBias").ActualName = "TestTheilInequalityCoefficientBias";
    90         testTheil.GetVariableInfo("TheilInequalityCoefficientVariance").ActualName = "TestTheilInequalityCoefficientVariance";
    91         testTheil.GetVariableInfo("TheilInequalityCoefficientCovariance").ActualName = "TestTheilInequalityCoefficientCovariance";
    92 
    93         SimpleEvaluator trainingEvaluator = new SimpleEvaluator();
    94         trainingEvaluator.GetVariableInfo("SamplesStart").ActualName = "ActualTrainingSamplesStart";
    95         trainingEvaluator.GetVariableInfo("SamplesEnd").ActualName = "ActualTrainingSamplesEnd";
    96         trainingEvaluator.GetVariableInfo("Values").ActualName = "PredictedValuesTraining";
    97 
    98         SimpleEvaluator validationEvaluator = new SimpleEvaluator();
    99         validationEvaluator.GetVariableInfo("SamplesStart").ActualName = "ValidationSamplesStart";
    100         validationEvaluator.GetVariableInfo("SamplesEnd").ActualName = "ValidationSamplesEnd";
    101         validationEvaluator.GetVariableInfo("Values").ActualName = "PredictedValuesValidation";
    102 
    103         SimpleEvaluator testEvaluator = new SimpleEvaluator();
    104         testEvaluator.GetVariableInfo("SamplesStart").ActualName = "TestSamplesStart";
    105         testEvaluator.GetVariableInfo("SamplesEnd").ActualName = "TestSamplesEnd";
    106         testEvaluator.GetVariableInfo("Values").ActualName = "PredictedValuesTest";
    107 
    108         LinechartInjector trainingChartInjector = new LinechartInjector();
    109         trainingChartInjector.GetVariableValue<IntData>("NumberOfLines", null, false).Data = 2;
    110         trainingChartInjector.GetVariableInfo("Values").ActualName = "PredictedValuesTraining";
    111         trainingChartInjector.GetVariableInfo("Linechart").ActualName = "LinechartTrainingPredictedValues";
    112 
    113         LinechartInjector validationChartInjector = new LinechartInjector();
    114         validationChartInjector.GetVariableValue<IntData>("NumberOfLines", null, false).Data = 2;
    115         validationChartInjector.GetVariableInfo("Values").ActualName = "PredictedValuesValidation";
    116         validationChartInjector.GetVariableInfo("Linechart").ActualName = "LinechartValidationPredictedValues";
    117 
    118         LinechartInjector testChartInjector = new LinechartInjector();
    119         testChartInjector.GetVariableValue<IntData>("NumberOfLines", null, false).Data = 2;
    120         testChartInjector.GetVariableInfo("Values").ActualName = "PredictedValuesTest";
    121         testChartInjector.GetVariableInfo("Linechart").ActualName = "LinechartTestPredictedValues";
    122 
    123         seq.AddSubOperator(trainingTheil);
    124         seq.AddSubOperator(validationTheil);
    125         seq.AddSubOperator(testTheil);
    126         seq.AddSubOperator(trainingEvaluator);
    127         seq.AddSubOperator(trainingChartInjector);
    128         seq.AddSubOperator(validationEvaluator);
    129         seq.AddSubOperator(validationChartInjector);
    130         seq.AddSubOperator(testEvaluator);
    131         seq.AddSubOperator(testChartInjector);
    132 
    133         return seq;
    134       }
     58    protected override VariableInjector CreateGlobalInjector() {
     59      VariableInjector injector = base.CreateGlobalInjector();
     60      injector.AddVariable(new HeuristicLab.Core.Variable("MinTimeOffset", new IntData()));
     61      injector.AddVariable(new HeuristicLab.Core.Variable("MaxTimeOffset", new IntData()));
     62      injector.AddVariable(new HeuristicLab.Core.Variable("UseEstimatedTargetValue", new BoolData()));
     63      return injector;
    13564    }
    13665  }
Note: See TracChangeset for help on using the changeset viewer.