Changeset 3294 for trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/SymbolicRegressionEvaluator.cs
- Timestamp:
- 04/09/10 17:28:32 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/SymbolicRegressionEvaluator.cs
r3253 r3294 39 39 [StorableClass] 40 40 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"; 41 45 #region ISymbolicRegressionEvaluator Members 42 46 43 47 public ILookupParameter<DoubleValue> QualityParameter { 44 get { return (ILookupParameter<DoubleValue>)Parameters[ "Quality"]; }48 get { return (ILookupParameter<DoubleValue>)Parameters[QualityParameterName]; } 45 49 } 46 50 47 51 public ILookupParameter<SymbolicExpressionTree> FunctionTreeParameter { 48 get { return (ILookupParameter<SymbolicExpressionTree>)Parameters[ "FunctionTree"]; }52 get { return (ILookupParameter<SymbolicExpressionTree>)Parameters[FunctionTreeParameterName]; } 49 53 } 50 54 51 public ILookupParameter< Dataset> DatasetParameter {52 get { return (ILookupParameter< Dataset>)Parameters["Dataset"]; }55 public ILookupParameter<RegressionProblemData> RegressionProblemDataParameter { 56 get { return (ILookupParameter<RegressionProblemData>)Parameters[RegressionProblemDataParameterName]; } 53 57 } 54 58 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 //} 58 62 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 //} 66 66 67 67 public ILookupParameter<DoubleValue> NumberOfEvaluatedNodesParameter { 68 get { return (ILookupParameter<DoubleValue>)Parameters[ "NumberOfEvaluatedNodes"]; }68 get { return (ILookupParameter<DoubleValue>)Parameters[NumberOfEvaluatedNodexParameterName]; } 69 69 } 70 70 … … 73 73 public SymbolicRegressionEvaluator() 74 74 : 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.)")); 82 79 } 83 80 84 81 public override IOperation Apply() { 85 82 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; 90 84 DoubleValue numberOfEvaluatedNodes = NumberOfEvaluatedNodesParameter.ActualValue; 91 85 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)); 93 87 return null; 94 88 }
Note: See TracChangeset
for help on using the changeset viewer.