Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/07/11 14:23:26 (13 years ago)
Author:
mkommend
Message:

#1418: Added symbolic data analysis problems.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/DataAnalysis Refactoring/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Evaluators/SymbolicDataAnalysisEvaluator.cs

    r5616 r5618  
    4646    private const string RelativeNumberOfEvaluatedSamplesParameterName = "RelativeNumberOfEvaluatedSamples";
    4747
     48    public override bool CanChangeName { get { return false; } }
     49
    4850    #region parameter properties
    4951    public IValueLookupParameter<IRandom> RandomParameter {
     
    6062    }
    6163
    62     public IValueLookupParameter<IntValue> SamplesStartParameter {
    63       get { return (IValueLookupParameter<IntValue>)Parameters[SamplesStartParameterName]; }
     64    public IFixedValueParameter<IntValue> SamplesStartParameter {
     65      get { return (IFixedValueParameter<IntValue>)Parameters[SamplesStartParameterName]; }
    6466    }
    65     public IValueLookupParameter<IntValue> SamplesEndParameter {
    66       get { return (IValueLookupParameter<IntValue>)Parameters[SamplesEndParameterName]; }
     67    public IFixedValueParameter<IntValue> SamplesEndParameter {
     68      get { return (IFixedValueParameter<IntValue>)Parameters[SamplesEndParameterName]; }
    6769    }
    6870
     
    7476    }
    7577
    76     public IValueParameter<PercentValue> RelativeNumberOfEvaluatedSamplesParameter {
    77       get { return (IValueParameter<PercentValue>)Parameters[RelativeNumberOfEvaluatedSamplesParameterName]; }
     78    public IFixedValueParameter<PercentValue> RelativeNumberOfEvaluatedSamplesParameter {
     79      get { return (IFixedValueParameter<PercentValue>)Parameters[RelativeNumberOfEvaluatedSamplesParameterName]; }
    7880    }
    7981    #endregion
     
    9395    }
    9496    public IntValue SamplesStart {
    95       get { return SamplesStartParameter.ActualValue; }
     97      get { return SamplesStartParameter.Value; }
    9698    }
    9799    public IntValue SamplesEnd {
    98       get { return SamplesEndParameter.ActualValue; }
     100      get { return SamplesEndParameter.Value; }
    99101    }
    100102    public DoubleValue UpperEstimationLimit {
     
    118120      Parameters.Add(new ValueLookupParameter<IRandom>(RandomParameterName, "The random generator to use."));
    119121      Parameters.Add(new ValueLookupParameter<ISymbolicDataAnalysisTreeInterpreter>(SymbolicDataAnalysisTreeInterpreterParameterName, "The interpreter that should be used to calculate the output values of the symbolic data analysis tree."));
    120       Parameters.Add(new LookupParameter<SymbolicExpressionTree>(SymbolicExpressionTreeParameterName, "The symbolic data analysis solution encoded as a symbolic expression tree."));
     122      Parameters.Add(new LookupParameter<ISymbolicExpressionTree>(SymbolicExpressionTreeParameterName, "The symbolic data analysis solution encoded as a symbolic expression tree."));
    121123      Parameters.Add(new ValueLookupParameter<T>(ProblemDataParameterName, "The problem data on which the symbolic data analysis solution should be evaluated."));
    122       Parameters.Add(new ValueLookupParameter<IntValue>(SamplesStartParameterName, "The start index of the dataset partition on which the symbolic data analysis solution should be evaluated."));
    123       Parameters.Add(new ValueLookupParameter<IntValue>(SamplesEndParameterName, "The end index of the dataset partition on which the symbolic data analysis solution should be evaluated."));
     124      Parameters.Add(new FixedValueParameter<IntValue>(SamplesStartParameterName, "The start index of the dataset partition on which the symbolic data analysis solution should be evaluated.", new IntValue()));
     125      Parameters.Add(new FixedValueParameter<IntValue>(SamplesEndParameterName, "The end index of the dataset partition on which the symbolic data analysis solution should be evaluated.", new IntValue()));
    124126      Parameters.Add(new ValueLookupParameter<DoubleValue>(UpperEstimationLimitParameterName, "The upper limit that should be used as cut off value for the output values of symbolic data analysis trees."));
    125127      Parameters.Add(new ValueLookupParameter<DoubleValue>(LowerEstimationLimitParameterName, "The lower limit that should be used as cut off value for the output values of symbolic data analysis trees."));
    126       Parameters.Add(new ValueParameter<PercentValue>(RelativeNumberOfEvaluatedSamplesParameterName, "The relative number of samples of the dataset partition, which should be randomly chosen for evaluation between the start and end index.", new PercentValue(1)));
     128      Parameters.Add(new FixedValueParameter<PercentValue>(RelativeNumberOfEvaluatedSamplesParameterName, "The relative number of samples of the dataset partition, which should be randomly chosen for evaluation between the start and end index.", new PercentValue(1)));
    127129    }
    128130
    129131    protected IEnumerable<int> GenerateRowsToEvaluate() {
    130132      int seed = RandomParameter.ActualValue.Next();
     133
    131134      if (SamplesEnd.Value < SamplesStart.Value) throw new ArgumentException("Start value is larger than end value.");
    132135      int count = (int)((SamplesEnd.Value - SamplesStart.Value) * RelativeNumberOfEvaluatedSamples.Value);
    133136      if (count == 0) count = 1;
    134       return RandomEnumerable.SampleRandomNumbers(seed, SamplesEnd.Value, SamplesStart.Value, count)
     137      return RandomEnumerable.SampleRandomNumbers(seed, SamplesStart.Value, SamplesEnd.Value, count)
    135138        .Where(i => i < ProblemDataParameter.ActualValue.TestPartitionStart.Value || ProblemDataParameter.ActualValue.TestPartitionEnd.Value <= i);
    136139    }
Note: See TracChangeset for help on using the changeset viewer.