Changeset 5618 for branches/DataAnalysis Refactoring/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Evaluators/SymbolicDataAnalysisEvaluator.cs
- Timestamp:
- 03/07/11 14:23:26 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DataAnalysis Refactoring/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Evaluators/SymbolicDataAnalysisEvaluator.cs
r5616 r5618 46 46 private const string RelativeNumberOfEvaluatedSamplesParameterName = "RelativeNumberOfEvaluatedSamples"; 47 47 48 public override bool CanChangeName { get { return false; } } 49 48 50 #region parameter properties 49 51 public IValueLookupParameter<IRandom> RandomParameter { … … 60 62 } 61 63 62 public I ValueLookupParameter<IntValue> SamplesStartParameter {63 get { return (I ValueLookupParameter<IntValue>)Parameters[SamplesStartParameterName]; }64 public IFixedValueParameter<IntValue> SamplesStartParameter { 65 get { return (IFixedValueParameter<IntValue>)Parameters[SamplesStartParameterName]; } 64 66 } 65 public I ValueLookupParameter<IntValue> SamplesEndParameter {66 get { return (I ValueLookupParameter<IntValue>)Parameters[SamplesEndParameterName]; }67 public IFixedValueParameter<IntValue> SamplesEndParameter { 68 get { return (IFixedValueParameter<IntValue>)Parameters[SamplesEndParameterName]; } 67 69 } 68 70 … … 74 76 } 75 77 76 public I ValueParameter<PercentValue> RelativeNumberOfEvaluatedSamplesParameter {77 get { return (I ValueParameter<PercentValue>)Parameters[RelativeNumberOfEvaluatedSamplesParameterName]; }78 public IFixedValueParameter<PercentValue> RelativeNumberOfEvaluatedSamplesParameter { 79 get { return (IFixedValueParameter<PercentValue>)Parameters[RelativeNumberOfEvaluatedSamplesParameterName]; } 78 80 } 79 81 #endregion … … 93 95 } 94 96 public IntValue SamplesStart { 95 get { return SamplesStartParameter. ActualValue; }97 get { return SamplesStartParameter.Value; } 96 98 } 97 99 public IntValue SamplesEnd { 98 get { return SamplesEndParameter. ActualValue; }100 get { return SamplesEndParameter.Value; } 99 101 } 100 102 public DoubleValue UpperEstimationLimit { … … 118 120 Parameters.Add(new ValueLookupParameter<IRandom>(RandomParameterName, "The random generator to use.")); 119 121 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.")); 121 123 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())); 124 126 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.")); 125 127 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))); 127 129 } 128 130 129 131 protected IEnumerable<int> GenerateRowsToEvaluate() { 130 132 int seed = RandomParameter.ActualValue.Next(); 133 131 134 if (SamplesEnd.Value < SamplesStart.Value) throw new ArgumentException("Start value is larger than end value."); 132 135 int count = (int)((SamplesEnd.Value - SamplesStart.Value) * RelativeNumberOfEvaluatedSamples.Value); 133 136 if (count == 0) count = 1; 134 return RandomEnumerable.SampleRandomNumbers(seed, Samples End.Value, SamplesStart.Value, count)137 return RandomEnumerable.SampleRandomNumbers(seed, SamplesStart.Value, SamplesEnd.Value, count) 135 138 .Where(i => i < ProblemDataParameter.ActualValue.TestPartitionStart.Value || ProblemDataParameter.ActualValue.TestPartitionEnd.Value <= i); 136 139 }
Note: See TracChangeset
for help on using the changeset viewer.