Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/02/10 19:10:35 (14 years ago)
Author:
gkronber
Message:

Improved code for analyzers for SVR and symbolic regression. #1009

Location:
trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.3
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.3/LinearRegression.cs

    r3886 r3892  
    120120
    121121    protected override void Problem_Reset(object sender, EventArgs e) {
    122       TrainingSamplesStartParameter.ActualValue = Problem.DataAnalysisProblemData.TrainingSamplesStart;
    123       TrainingSamplesEndParameter.ActualValue = Problem.DataAnalysisProblemData.TrainingSamplesEnd;     
     122      UpdateAlgorithmParameterValues();
    124123      base.Problem_Reset(sender, e);
    125124    }
     
    129128      solutionCreator.DataAnalysisProblemDataParameter.ActualName = Problem.DataAnalysisProblemDataParameter.Name;
    130129      evaluator.RegressionProblemDataParameter.ActualName = Problem.DataAnalysisProblemDataParameter.Name;
    131       analyzer.ProblemDataParameter.ActualName = Problem.DataAnalysisProblemDataParameter.Name;
    132       TrainingSamplesStartParameter.ActualValue = Problem.DataAnalysisProblemData.TrainingSamplesStart;
    133       TrainingSamplesEndParameter.ActualValue = Problem.DataAnalysisProblemData.TrainingSamplesEnd;
     130      analyzer.ProblemDataParameter.ActualName = Problem.DataAnalysisProblemDataParameter.Name;
     131      UpdateAlgorithmParameterValues();
    134132      Problem.Reset += new EventHandler(Problem_Reset);
    135133      base.OnProblemChanged();
    136134    }
     135
    137136
    138137    #endregion
     
    145144      solutionCreator.SymbolicExpressionTreeParameter.ActualName = LinearRegressionModelParameterName;
    146145
    147       evaluator.LowerEstimationLimitParameter.Value = new DoubleValue(double.NegativeInfinity);
    148       evaluator.UpperEstimationLimitParameter.Value = new DoubleValue(double.PositiveInfinity);
    149146      evaluator.SymbolicExpressionTreeParameter.ActualName = solutionCreator.SymbolicExpressionTreeParameter.ActualName;
    150147      evaluator.SymbolicExpressionTreeInterpreterParameter.ActualName = ModelInterpreterParameter.Name;
     
    161158      analyzer.QualityParameter.Depth = 0;
    162159      analyzer.SymbolicExpressionTreeInterpreterParameter.ActualName = ModelInterpreterParameter.Name;
    163       analyzer.LowerEstimationLimitParameter.Value = new DoubleValue(double.NegativeInfinity);
    164       analyzer.UpperEstimationLimitParameter.Value = new DoubleValue(double.PositiveInfinity);
    165160
    166161      if (Problem != null) {
     
    171166      }
    172167    }
     168
     169    private void UpdateAlgorithmParameterValues() {
     170      TrainingSamplesStartParameter.ActualValue = Problem.DataAnalysisProblemData.TrainingSamplesStart;
     171      TrainingSamplesEndParameter.ActualValue = Problem.DataAnalysisProblemData.TrainingSamplesEnd;
     172      //var targetValues =
     173      //  Problem.DataAnalysisProblemData.Dataset.GetVariableValues(Problem.DataAnalysisProblemData.TargetVariable.Value,
     174      //  TrainingSamplesStartParameter.Value.Value, TrainingSamplesEndParameter.Value.Value);
     175      //double range = targetValues.Max() - targetValues.Min();
     176      //double lowerEstimationLimit = targetValues.Average() - 10.0 * range;
     177      //double upperEstimationLimit = targetValues.Average() + 10.0 * range;
     178      //evaluator.LowerEstimationLimitParameter.Value = new DoubleValue(lowerEstimationLimit);
     179      //evaluator.UpperEstimationLimitParameter.Value = new DoubleValue(upperEstimationLimit);
     180      //analyzer.LowerEstimationLimitParameter.Value = new DoubleValue(lowerEstimationLimit);
     181      //analyzer.UpperEstimationLimitParameter.Value = new DoubleValue(upperEstimationLimit);
     182    }
    173183    #endregion
    174184  }
  • trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.3/SupportVectorMachine.cs

    r3884 r3892  
    169169
    170170    protected override void Problem_Reset(object sender, EventArgs e) {
    171       TrainingSamplesStartParameter.ActualValue = Problem.DataAnalysisProblemData.TrainingSamplesStart;
    172       TrainingSamplesEndParameter.ActualValue = Problem.DataAnalysisProblemData.TrainingSamplesEnd;
     171      UpdateAlgorithmParameters();
    173172      base.Problem_Reset(sender, e);
    174173    }
     
    179178      evaluator.DataAnalysisProblemDataParameter.ActualName = Problem.DataAnalysisProblemDataParameter.Name;
    180179      analyzer.ProblemDataParameter.ActualName = Problem.DataAnalysisProblemDataParameter.Name;
    181       TrainingSamplesStartParameter.ActualValue = Problem.DataAnalysisProblemData.TrainingSamplesStart;
    182       TrainingSamplesEndParameter.ActualValue = Problem.DataAnalysisProblemData.TrainingSamplesEnd;
     180      UpdateAlgorithmParameters();
    183181      Problem.Reset += new EventHandler(Problem_Reset);
    184182      base.OnProblemChanged();
     
    210208      analyzer.QualityParameter.ActualName = mseEvaluator.MeanSquaredErrorParameter.ActualName;
    211209      analyzer.QualityParameter.Depth = 0;
    212       analyzer.LowerEstimationLimitParameter.Value = new DoubleValue(double.NegativeInfinity);
    213       analyzer.UpperEstimationLimitParameter.Value = new DoubleValue(double.PositiveInfinity);
    214210
    215211      if (Problem != null) {
     
    220216      }
    221217    }
     218
     219    private void UpdateAlgorithmParameters() {
     220      TrainingSamplesStartParameter.ActualValue = Problem.DataAnalysisProblemData.TrainingSamplesStart;
     221      TrainingSamplesEndParameter.ActualValue = Problem.DataAnalysisProblemData.TrainingSamplesEnd;
     222    }
    222223    #endregion
    223224  }
Note: See TracChangeset for help on using the changeset viewer.