Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/15/09 14:01:47 (15 years ago)
Author:
gkronber
Message:

Moved common (not algorithm specific) model analyzer code (same operator tree in all regression/classification/time-series-prognosis engines) to HL.Modeling. #625, #705, #739.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.SupportVectorMachines/3.2/TimeSeriesSupportVectorRegression.cs

    r2354 r2356  
    5757    }
    5858
    59     protected override IOperator CreateInitialization() {
    60       SequentialProcessor seq = new SequentialProcessor();
    61       seq.Name = "Initialization";
    62       seq.AddSubOperator(CreateGlobalInjector());
    63       ProblemInjector probInjector = new ProblemInjector();
    64       seq.AddSubOperator(probInjector);
    65       seq.AddSubOperator(new RandomInjector());
    66       return seq;
     59    protected override IOperator CreateProblemInjector() {
     60      return DefaultTimeSeriesOperators.CreateProblemInjector();
    6761    }
    6862
     
    7468    }
    7569
    76     protected override IOperator CreateModelAnalyser() {
    77       CombinedOperator op = new CombinedOperator();
    78       op.Name = "Model Analyzer";
    79       SequentialProcessor seq = new SequentialProcessor();
    80       seq.AddSubOperator(base.CreateModelAnalyser());
    81       SequentialSubScopesProcessor seqSubScopeProc = new SequentialSubScopesProcessor();
    82       SequentialProcessor seqProc = new SequentialProcessor();
    83 
    84       SupportVectorEvaluator trainingEvaluator = new SupportVectorEvaluator();
    85       trainingEvaluator.Name = "TrainingEvaluator";
    86       trainingEvaluator.GetVariableInfo("SVMModel").ActualName = "Model";
    87       trainingEvaluator.GetVariableInfo("SamplesStart").ActualName = "TrainingSamplesStart";
    88       trainingEvaluator.GetVariableInfo("SamplesEnd").ActualName = "TrainingSamplesEnd";
    89       trainingEvaluator.GetVariableInfo("Values").ActualName = "TrainingValues";
    90 
    91       SimpleTheilInequalityCoefficientEvaluator trainingTheilUCalculator = new SimpleTheilInequalityCoefficientEvaluator();
    92       trainingTheilUCalculator.Name = "TrainingTheilInequalityEvaluator";
    93       trainingTheilUCalculator.GetVariableInfo("Values").ActualName = "TrainingValues";
    94       trainingTheilUCalculator.GetVariableInfo("TheilInequalityCoefficient").ActualName = "TrainingTheilInequalityCoefficient";
    95       SimpleTheilInequalityCoefficientEvaluator validationTheilUCalculator = new SimpleTheilInequalityCoefficientEvaluator();
    96       validationTheilUCalculator.Name = "ValidationTheilInequalityEvaluator";
    97       validationTheilUCalculator.GetVariableInfo("Values").ActualName = "ValidationValues";
    98       validationTheilUCalculator.GetVariableInfo("TheilInequalityCoefficient").ActualName = "ValidationTheilInequalityCoefficient";
    99       SimpleTheilInequalityCoefficientEvaluator testTheilUCalculator = new SimpleTheilInequalityCoefficientEvaluator();
    100       testTheilUCalculator.Name = "TestTheilInequalityEvaluator";
    101       testTheilUCalculator.GetVariableInfo("Values").ActualName = "TestValues";
    102       testTheilUCalculator.GetVariableInfo("TheilInequalityCoefficient").ActualName = "TestTheilInequalityCoefficient";
    103 
    104       seqProc.AddSubOperator(trainingEvaluator);
    105       seqProc.AddSubOperator(trainingTheilUCalculator);
    106       seqProc.AddSubOperator(validationTheilUCalculator);
    107       seqProc.AddSubOperator(testTheilUCalculator);
    108 
    109       seq.AddSubOperator(seqSubScopeProc);
    110       seqSubScopeProc.AddSubOperator(seqProc);
    111 
    112       op.OperatorGraph.AddOperator(seq);
    113       op.OperatorGraph.InitialOperator = seq;
    114       return op;
     70    protected override IOperator CreateModelAnalyzerOperator() {
     71      return DefaultTimeSeriesOperators.CreatePostProcessingOperator();
    11572    }
    11673
    117 
    11874    protected override IAnalyzerModel CreateSVMModel(IScope bestModelScope) {
    119       IAnalyzerModel model = base.CreateSVMModel(bestModelScope);
    120 
    121       model.SetResult("TrainingTheilInequalityCoefficient", bestModelScope.GetVariableValue<DoubleData>("TrainingTheilInequalityCoefficient", false).Data);
    122       model.SetResult("ValidationTheilInequalityCoefficient", bestModelScope.GetVariableValue<DoubleData>("ValidationTheilInequalityCoefficient", false).Data);
    123       model.SetResult("TestTheilInequalityCoefficient", bestModelScope.GetVariableValue<DoubleData>("TestTheilInequalityCoefficient", false).Data);
    124 
     75      var model = new AnalyzerModel();
     76      model.SetMetaData("Cost", bestModelScope.GetVariableValue<DoubleData>("Cost", false).Data);
     77      model.SetMetaData("Nu", bestModelScope.GetVariableValue<DoubleData>("Nu", false).Data);
     78      DefaultTimeSeriesOperators.PopulateAnalyzerModel(bestModelScope, model);
    12579      return model;
    12680    }
Note: See TracChangeset for help on using the changeset viewer.