Changeset 3462 for trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/SymbolicRegressionSolution.cs
- Timestamp:
- 04/21/10 15:21:34 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/SymbolicRegressionSolution.cs
r3442 r3462 36 36 [StorableClass] 37 37 public sealed class SymbolicRegressionSolution : DataAnalysisSolution { 38 public new SymbolicRegressionModel Model { 39 get { return (SymbolicRegressionModel)base.Model; } 40 set { base.Model = value; } 38 private SymbolicRegressionModel model; 39 public SymbolicRegressionModel Model { 40 get { return model; } 41 set { 42 if (model != value) { 43 if (value == null) throw new ArgumentNullException(); 44 model = value; 45 OnModelChanged(EventArgs.Empty); 46 } 47 } 41 48 } 42 49 43 50 public SymbolicRegressionSolution() : base() { } 44 51 public SymbolicRegressionSolution(DataAnalysisProblemData problemData, SymbolicRegressionModel model) 45 : base(problemData, model) { 52 : base(problemData) { 53 this.model = model; 54 RecalculateEstimatedValues(); 55 } 56 57 public event EventHandler ModelChanged; 58 private void OnModelChanged(EventArgs e) { 59 RecalculateEstimatedValues(); 60 var listeners = ModelChanged; 61 if (listeners != null) 62 listeners(this, e); 63 } 64 65 protected override void OnProblemDataChanged(EventArgs e) { 66 RecalculateEstimatedValues(); 67 } 68 69 private void RecalculateEstimatedValues() { 70 estimatedValues = model.GetEstimatedValues(ProblemData.Dataset, 0, ProblemData.Dataset.Rows).ToList(); 71 OnEstimatedValuesChanged(EventArgs.Empty); 72 } 73 74 private List<double> estimatedValues; 75 public override IEnumerable<double> EstimatedValues { 76 get { 77 return estimatedValues.AsEnumerable(); 78 } 79 } 80 81 public override IEnumerable<double> EstimatedTrainingValues { 82 get { 83 int start = ProblemData.TrainingSamplesStart.Value; 84 int n = ProblemData.TrainingSamplesEnd.Value - start; 85 return estimatedValues.Skip(start).Take(n).ToList(); 86 } 87 } 88 89 public override IEnumerable<double> EstimatedTestValues { 90 get { 91 int start = ProblemData.TestSamplesStart.Value; 92 int n = ProblemData.TestSamplesEnd.Value - start; 93 return estimatedValues.Skip(start).Take(n).ToList(); 94 } 46 95 } 47 96 }
Note: See TracChangeset
for help on using the changeset viewer.