Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/22/10 18:41:07 (14 years ago)
Author:
gkronber
Message:

Minor improvements. #938 (Data types and operators for regression problems)

Location:
trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/ISymbolicRegressionEvaluator.cs

    r3452 r3491  
    4040    IValueLookupParameter<IntValue> SamplesStartParameter { get; }
    4141    IValueLookupParameter<IntValue> SamplesEndParameter { get; }
    42     ILookupParameter<DoubleValue> NumberOfEvaluatedNodesParameter { get; }
    4342  }
    4443}
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/SymbolicRegressionEvaluator.cs

    r3462 r3491  
    4646    private const string SamplesStartParameterName = "SamplesStart";
    4747    private const string SamplesEndParameterName = "SamplesEnd";
    48     private const string NumberOfEvaluatedNodexParameterName = "NumberOfEvaluatedNodes";
    4948    #region ISymbolicRegressionEvaluator Members
    5049
     
    7372    }
    7473
    75     public ILookupParameter<DoubleValue> NumberOfEvaluatedNodesParameter {
    76       get { return (ILookupParameter<DoubleValue>)Parameters[NumberOfEvaluatedNodexParameterName]; }
    77     }
    7874    #endregion
    7975    #region properties
     
    10399      Parameters.Add(new ValueLookupParameter<IntValue>(SamplesStartParameterName, "The start index of the dataset partition on which the symbolic regression solution should be evaluated."));
    104100      Parameters.Add(new ValueLookupParameter<IntValue>(SamplesEndParameterName, "The end index of the dataset partition on which the symbolic regression solution should be evaluated."));
    105       Parameters.Add(new LookupParameter<DoubleValue>(NumberOfEvaluatedNodexParameterName, "The number of evaluated nodes so far (for performance measurements.)"));
    106101    }
    107102
    108103    public override IOperation Apply() {
    109       DoubleValue numberOfEvaluatedNodes = NumberOfEvaluatedNodesParameter.ActualValue;
    110104      QualityParameter.ActualValue = new DoubleValue(Evaluate(SymbolicExpressionTreeInterpreter, SymbolicExpressionTree, RegressionProblemData.Dataset,
    111         RegressionProblemData.TargetVariable, SamplesStart, SamplesEnd, numberOfEvaluatedNodes));
     105        RegressionProblemData.TargetVariable, SamplesStart, SamplesEnd));
    112106      return null;
    113107    }
     
    117111      Dataset dataset,
    118112      StringValue targetVariable,
    119       IntValue samplesStart, IntValue samplesEnd,
    120       DoubleValue numberOfEvaluatedNodes);
     113      IntValue samplesStart, IntValue samplesEnd);
    121114  }
    122115}
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/SymbolicRegressionMeanSquaredErrorEvaluator.cs

    r3462 r3491  
    4141  [StorableClass]
    4242  public class SymbolicRegressionMeanSquaredErrorEvaluator : SymbolicRegressionEvaluator {
    43     protected override double Evaluate(ISymbolicExpressionTreeInterpreter interpreter, SymbolicExpressionTree solution, Dataset dataset, StringValue targetVariable, IntValue samplesStart, IntValue samplesEnd, DoubleValue numberOfEvaluatedNodes) {
     43    protected override double Evaluate(ISymbolicExpressionTreeInterpreter interpreter, SymbolicExpressionTree solution, Dataset dataset, StringValue targetVariable, IntValue samplesStart, IntValue samplesEnd) {
    4444      double mse = Calculate(interpreter, solution, dataset, targetVariable.Value, samplesStart.Value, samplesEnd.Value);
    45       numberOfEvaluatedNodes.Value += solution.Size * (samplesEnd.Value - samplesStart.Value);
    4645      return mse;
    4746    }
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/SymbolicRegressionProblem.cs

    r3480 r3491  
    7373      get { return (ValueParameter<IntValue>)Parameters["MaxExpressionDepth"]; }
    7474    }
    75     public ValueParameter<DoubleValue> NumberOfEvaluatedNodesParameter {
    76       get { return (ValueParameter<DoubleValue>)Parameters["NumberOfEvaluatedNodes"]; }
    77     }
    7875    public ValueParameter<IntValue> MaxFunctionDefiningBranchesParameter {
    7976      get { return (ValueParameter<IntValue>)Parameters["MaxFunctionDefiningBranches"]; }
     
    159156      Parameters.Add(new ValueParameter<IntValue>("MaxFunctionDefiningBranches", "Maximal number of automatically defined functions.", new IntValue(3)));
    160157      Parameters.Add(new ValueParameter<IntValue>("MaxFunctionArguments", "Maximal number of arguments of automatically defined functions.", new IntValue(3)));
    161       Parameters.Add(new ValueParameter<DoubleValue>("NumberOfEvaluatedNodes", "The total number of evaluated function tree nodes (for performance measurements.)", new DoubleValue()));
    162158      Parameters.Add(new ValueParameter<ISingleObjectiveSolutionsVisualizer>("Visualizer", "The operator which should be used to visualize symbolic regression solutions.", visualizer));
    163159
     
    323319        op.SymbolicExpressionTreeParameter.ActualName = SolutionCreator.SymbolicExpressionTreeParameter.ActualName;
    324320        op.RegressionProblemDataParameter.ActualName = DataAnalysisProblemDataParameter.Name;
    325         op.NumberOfEvaluatedNodesParameter.ActualName = NumberOfEvaluatedNodesParameter.Name;
    326321      }
    327322      foreach (SymbolicExpressionTreeCrossover op in Operators.OfType<SymbolicExpressionTreeCrossover>()) {
Note: See TracChangeset for help on using the changeset viewer.