Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/30/15 16:46:16 (9 years ago)
Author:
gkronber
Message:

#2448: added storable attribute to collection of individual solutions and recreate solutions in after-deserialization hook only when the collection is empty.

Location:
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.4/Implementation
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ClassificationEnsembleSolution.cs

    r12509 r12816  
    4949    }
    5050
     51    [Storable]
    5152    private readonly ItemCollection<IClassificationSolution> classificationSolutions;
    5253    public IItemCollection<IClassificationSolution> ClassificationSolutions {
     
    6667    [StorableHook(HookType.AfterDeserialization)]
    6768    private void AfterDeserialization() {
    68       foreach (var model in Model.Models) {
    69         IClassificationProblemData problemData = (IClassificationProblemData)ProblemData.Clone();
    70         problemData.TrainingPartition.Start = trainingPartitions[model].Start;
    71         problemData.TrainingPartition.End = trainingPartitions[model].End;
    72         problemData.TestPartition.Start = testPartitions[model].Start;
    73         problemData.TestPartition.End = testPartitions[model].End;
    74 
    75         classificationSolutions.Add(model.CreateClassificationSolution(problemData));
     69      if (!classificationSolutions.Any()) {
     70        foreach (var model in Model.Models) {
     71          IClassificationProblemData problemData = (IClassificationProblemData)ProblemData.Clone();
     72          problemData.TrainingPartition.Start = trainingPartitions[model].Start;
     73          problemData.TrainingPartition.End = trainingPartitions[model].End;
     74          problemData.TestPartition.Start = testPartitions[model].Start;
     75          problemData.TestPartition.End = testPartitions[model].End;
     76
     77          classificationSolutions.Add(model.CreateClassificationSolution(problemData));
     78        }
    7679      }
    7780      RegisterClassificationSolutionsEventHandler();
  • trunk/sources/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionEnsembleSolution.cs

    r12509 r12816  
    5050    }
    5151
     52    [Storable]
    5253    private readonly ItemCollection<IRegressionSolution> regressionSolutions;
    5354    public IItemCollection<IRegressionSolution> RegressionSolutions {
     
    6768    [StorableHook(HookType.AfterDeserialization)]
    6869    private void AfterDeserialization() {
    69       foreach (var model in Model.Models) {
    70         IRegressionProblemData problemData = (IRegressionProblemData)ProblemData.Clone();
    71         problemData.TrainingPartition.Start = trainingPartitions[model].Start;
    72         problemData.TrainingPartition.End = trainingPartitions[model].End;
    73         problemData.TestPartition.Start = testPartitions[model].Start;
    74         problemData.TestPartition.End = testPartitions[model].End;
    75 
    76         regressionSolutions.Add(model.CreateRegressionSolution(problemData));
     70      if (!regressionSolutions.Any()) {
     71        foreach (var model in Model.Models) {
     72          IRegressionProblemData problemData = (IRegressionProblemData)ProblemData.Clone();
     73          problemData.TrainingPartition.Start = trainingPartitions[model].Start;
     74          problemData.TrainingPartition.End = trainingPartitions[model].End;
     75          problemData.TestPartition.Start = testPartitions[model].Start;
     76          problemData.TestPartition.End = testPartitions[model].End;
     77
     78          regressionSolutions.Add(model.CreateRegressionSolution(problemData));
     79        }
    7780      }
    7881      RegisterRegressionSolutionsEventHandler();
Note: See TracChangeset for help on using the changeset viewer.