Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/09/10 17:28:32 (14 years ago)
Author:
gkronber
Message:

Added first version of architecture altering operators for ADFs. #290 (Implement ADFs)

File:
1 edited

Legend:

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

    r3253 r3294  
    3939  [StorableClass]
    4040  public abstract class SymbolicRegressionEvaluator : SingleSuccessorOperator, ISymbolicRegressionEvaluator {
     41    private const string QualityParameterName = "Quality";
     42    private const string FunctionTreeParameterName = "FunctionTree";
     43    private const string RegressionProblemDataParameterName = "RegressionProblemData";
     44    private const string NumberOfEvaluatedNodexParameterName = "NumberOfEvaluatedNodes";
    4145    #region ISymbolicRegressionEvaluator Members
    4246
    4347    public ILookupParameter<DoubleValue> QualityParameter {
    44       get { return (ILookupParameter<DoubleValue>)Parameters["Quality"]; }
     48      get { return (ILookupParameter<DoubleValue>)Parameters[QualityParameterName]; }
    4549    }
    4650
    4751    public ILookupParameter<SymbolicExpressionTree> FunctionTreeParameter {
    48       get { return (ILookupParameter<SymbolicExpressionTree>)Parameters["FunctionTree"]; }
     52      get { return (ILookupParameter<SymbolicExpressionTree>)Parameters[FunctionTreeParameterName]; }
    4953    }
    5054
    51     public ILookupParameter<Dataset> DatasetParameter {
    52       get { return (ILookupParameter<Dataset>)Parameters["Dataset"]; }
     55    public ILookupParameter<RegressionProblemData> RegressionProblemDataParameter {
     56      get { return (ILookupParameter<RegressionProblemData>)Parameters[RegressionProblemDataParameterName]; }
    5357    }
    5458
    55     public ILookupParameter<StringValue> TargetVariableParameter {
    56       get { return (ILookupParameter<StringValue>)Parameters["TargetVariable"]; }
    57     }
     59    //public ILookupParameter<IntValue> SamplesStartParameter {
     60    //  get { return (ILookupParameter<IntValue>)Parameters["SamplesStart"]; }
     61    //}
    5862
    59     public ILookupParameter<IntValue> SamplesStartParameter {
    60       get { return (ILookupParameter<IntValue>)Parameters["SamplesStart"]; }
    61     }
    62 
    63     public ILookupParameter<IntValue> SamplesEndParameter {
    64       get { return (ILookupParameter<IntValue>)Parameters["SamplesEnd"]; }
    65     }
     63    //public ILookupParameter<IntValue> SamplesEndParameter {
     64    //  get { return (ILookupParameter<IntValue>)Parameters["SamplesEnd"]; }
     65    //}
    6666
    6767    public ILookupParameter<DoubleValue> NumberOfEvaluatedNodesParameter {
    68       get { return (ILookupParameter<DoubleValue>)Parameters["NumberOfEvaluatedNodes"]; }
     68      get { return (ILookupParameter<DoubleValue>)Parameters[NumberOfEvaluatedNodexParameterName]; }
    6969    }
    7070
     
    7373    public SymbolicRegressionEvaluator()
    7474      : base() {
    75       Parameters.Add(new LookupParameter<DoubleValue>("Quality", "The quality of the evaluated symbolic regression solution."));
    76       Parameters.Add(new LookupParameter<SymbolicExpressionTree>("FunctionTree", "The symbolic regression solution encoded as a symbolic expression tree."));
    77       Parameters.Add(new LookupParameter<Dataset>("Dataset", "The data set on which the symbolic regression solution should be evaluated."));
    78       Parameters.Add(new LookupParameter<StringValue>("TargetVariable", "The target variable of the symbolic regression solution."));
    79       Parameters.Add(new LookupParameter<IntValue>("SamplesStart", "The start index of the partition of the data set on which the symbolic regression solution should be evaluated."));
    80       Parameters.Add(new LookupParameter<IntValue>("SamplesEnd", "The end index of the partition of the data set on which the symbolic regression solution should be evaluated."));
    81       Parameters.Add(new LookupParameter<DoubleValue>("NumberOfEvaluatedNodes", "The number of evaluated nodes so far (for performance measurements.)"));
     75      Parameters.Add(new LookupParameter<DoubleValue>(QualityParameterName, "The quality of the evaluated symbolic regression solution."));
     76      Parameters.Add(new LookupParameter<SymbolicExpressionTree>(FunctionTreeParameterName, "The symbolic regression solution encoded as a symbolic expression tree."));
     77      Parameters.Add(new LookupParameter<RegressionProblemData>(RegressionProblemDataParameterName, "The data set on which the symbolic regression solution should be evaluated."));
     78      Parameters.Add(new LookupParameter<DoubleValue>(NumberOfEvaluatedNodexParameterName, "The number of evaluated nodes so far (for performance measurements.)"));
    8279    }
    8380
    8481    public override IOperation Apply() {
    8582      SymbolicExpressionTree solution = FunctionTreeParameter.ActualValue;
    86       Dataset dataset = DatasetParameter.ActualValue;
    87       StringValue targetVariable = TargetVariableParameter.ActualValue;
    88       IntValue samplesStart = SamplesStartParameter.ActualValue;
    89       IntValue samplesEnd = SamplesEndParameter.ActualValue;
     83      RegressionProblemData regressionProblemData = RegressionProblemDataParameter.ActualValue;
    9084      DoubleValue numberOfEvaluatedNodes = NumberOfEvaluatedNodesParameter.ActualValue;
    9185     
    92       QualityParameter.ActualValue = new DoubleValue(Evaluate(solution, dataset, targetVariable, samplesStart, samplesEnd, numberOfEvaluatedNodes));
     86      QualityParameter.ActualValue = new DoubleValue(Evaluate(solution, regressionProblemData.Dataset, regressionProblemData.TargetVariable, regressionProblemData.TrainingSamplesStart, regressionProblemData.TrainingSamplesEnd, numberOfEvaluatedNodes));
    9387      return null;
    9488    }
Note: See TracChangeset for help on using the changeset viewer.