Changeset 18180 for branches/3138_Shape_Constraints_Transformations/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression.Views/3.4/InteractiveSymbolicRegressionSolutionSimplifierView.cs
- Timestamp:
- 01/10/22 10:15:25 (2 years ago)
- Location:
- branches/3138_Shape_Constraints_Transformations
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3138_Shape_Constraints_Transformations
- Property svn:mergeinfo changed
-
branches/3138_Shape_Constraints_Transformations/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression.Views
- Property svn:mergeinfo changed
-
branches/3138_Shape_Constraints_Transformations/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression.Views/3.4/InteractiveSymbolicRegressionSolutionSimplifierView.cs
r17430 r18180 42 42 43 43 var tree = Content?.Model?.SymbolicExpressionTree; 44 btnOptimize Constants.Enabled = tree != null && SymbolicRegressionConstantOptimizationEvaluator.CanOptimizeConstants(tree);44 btnOptimizeParameters.Enabled = tree != null && SymbolicRegressionParameterOptimizationEvaluator.CanOptimizeParameters(tree); 45 45 } 46 46 … … 51 51 } 52 52 53 protected override ISymbolicExpressionTree Optimize Constants(ISymbolicExpressionTree tree, IProgress progress) {54 const int constOptIterations = 50;53 protected override ISymbolicExpressionTree OptimizeParameters(ISymbolicExpressionTree tree, IProgress progress) { 54 const int iterations = 50; 55 55 const int maxRepetitions = 100; 56 56 const double minimumImprovement = 1e-10; … … 64 64 do { 65 65 prevResult = result; 66 result = SymbolicRegression ConstantOptimizationEvaluator.OptimizeConstants(model.Interpreter, tree, regressionProblemData, regressionProblemData.TrainingIndices,67 applyLinearScaling: true, maxIterations: constOptIterations, updateVariableWeights: true, lowerEstimationLimit: model.LowerEstimationLimit, upperEstimationLimit: model.UpperEstimationLimit,66 result = SymbolicRegressionParameterOptimizationEvaluator.OptimizeParameters(model.Interpreter, tree, regressionProblemData, regressionProblemData.TrainingIndices, 67 applyLinearScaling: true, maxIterations: iterations, updateVariableWeights: true, lowerEstimationLimit: model.LowerEstimationLimit, upperEstimationLimit: model.UpperEstimationLimit, 68 68 iterationCallback: (args, func, obj) => { 69 double newProgressValue = progress.ProgressValue + (1.0 / ( constOptIterations + 2) / maxRepetitions); // (constOptIterations + 2) iterations are reported69 double newProgressValue = progress.ProgressValue + (1.0 / (iterations + 2) / maxRepetitions); // (iterations + 2) iterations are reported 70 70 progress.ProgressValue = Math.Min(newProgressValue, 1.0); 71 71 });
Note: See TracChangeset
for help on using the changeset viewer.