Changeset 14718


Ignore:
Timestamp:
03/06/17 16:53:09 (4 years ago)
Author:
mkommend
Message:

#2741: Added possibility for analyzing the test error.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/MultiObjective/SymbolicRegressionMultiObjectiveTrainingBestSolutionAnalyzer.cs

    r14185 r14718  
    4444    private const string MaximumSymbolicExpressionTreeLengthParameterName = "MaximumSymbolicExpressionTreeLength";
    4545    private const string ValidationPartitionParameterName = "ValidationPartition";
     46    private const string AnalyzeTestErrorParameterName = "Analyze Test Error";
    4647
    4748    #region parameter properties
     
    6263      get { return (IValueLookupParameter<IntRange>)Parameters[ValidationPartitionParameterName]; }
    6364    }
     65
     66    public IFixedValueParameter<BoolValue> AnalyzeTestErrorParameter {
     67      get { return (IFixedValueParameter<BoolValue>)Parameters[AnalyzeTestErrorParameterName]; }
     68    }
    6469    #endregion
     70
     71    public bool AnalyzeTestError {
     72      get { return AnalyzeTestErrorParameter.Value.Value; }
     73      set { AnalyzeTestErrorParameter.Value.Value = value; }
     74    }
    6575
    6676    [StorableConstructor]
     
    7484      Parameters.Add(new LookupParameter<IntValue>(MaximumSymbolicExpressionTreeLengthParameterName, "Maximal length of the symbolic expression.") { Hidden = true });
    7585      Parameters.Add(new ValueLookupParameter<IntRange>(ValidationPartitionParameterName, "The validation partition."));
     86      Parameters.Add(new FixedValueParameter<BoolValue>(AnalyzeTestErrorParameterName, "Flag whether the test error should be displayed in the Pareto-Front", new BoolValue(false)));
    7687    }
    7788
     
    8293      if (!Parameters.ContainsKey(ValidationPartitionParameterName))
    8394        Parameters.Add(new ValueLookupParameter<IntRange>(ValidationPartitionParameterName, "The validation partition."));
     95      if (!Parameters.ContainsKey(AnalyzeTestErrorParameterName))
     96        Parameters.Add(new FixedValueParameter<BoolValue>(AnalyzeTestErrorParameterName, "Flag whether the test error should be displayed in the Pareto-Front", new BoolValue(false)));
    8497    }
    8598
     
    135148      qualityToTreeSize.Rows.Add(trainingRow);
    136149
     150      if (AnalyzeTestError) {
     151        var testRow = new ScatterPlotDataRow("Test NMSE", "",
     152          sizeParetoFront.Select(x => new Point2D<double>(x.Model.SymbolicExpressionTree.Length, x.TestNormalizedMeanSquaredError)));
     153        testRow.VisualProperties.PointSize = 8;
     154        qualityToTreeSize.Rows.Add(testRow);
     155      }
     156
    137157      var validationPartition = ValidationPartitionParameter.ActualValue;
    138158      if (validationPartition.Size != 0) {
Note: See TracChangeset for help on using the changeset viewer.