Changeset 15319 for branches/SimplifierViewsProgress/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression.Views/3.4
- Timestamp:
- 08/10/17 13:49:26 (7 years ago)
- Location:
- branches/SimplifierViewsProgress/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression.Views/3.4
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SimplifierViewsProgress/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression.Views/3.4/InteractiveSymbolicRegressionSolutionSimplifierView.cs
r14826 r15319 22 22 using System; 23 23 using System.Collections.Generic; 24 using System. Linq;24 using System.Threading.Tasks; 25 25 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; 26 26 using HeuristicLab.Problems.DataAnalysis.Symbolic.Views; … … 54 54 double impactValue, replacementValue, newQualityForImpactsCalculation; 55 55 calculator.CalculateImpactAndReplacementValues(Content.Model, node, Content.ProblemData, Content.ProblemData.TrainingIndices, out impactValue, out replacementValue, out newQualityForImpactsCalculation); 56 Progress.ProgressValue += 1.0 / (tree.Length - 2); 56 57 impactAndReplacementValues.Add(node, new Tuple<double, double>(impactValue, replacementValue)); 57 58 } … … 59 60 } 60 61 61 protected override void btnOptimizeConstants_Click(object sender, EventArgs e) { 62 protected override async void btnOptimizeConstants_Click(object sender, EventArgs e) { 63 const int constOptIterations = 50; 62 64 var model = Content.Model; 63 SymbolicRegressionConstantOptimizationEvaluator.OptimizeConstants(model.Interpreter, model.SymbolicExpressionTree, Content.ProblemData, Content.ProblemData.TrainingIndices, 64 applyLinearScaling: true, maxIterations: 50, updateVariableWeights: true, lowerEstimationLimit: model.LowerEstimationLimit, upperEstimationLimit: model.UpperEstimationLimit); 65 UpdateModel(Content.Model.SymbolicExpressionTree); 65 Progress.Start("Optimizing Constants ...", 0); 66 await Task.Run(() => { 67 SymbolicRegressionConstantOptimizationEvaluator.OptimizeConstants(model.Interpreter, model.SymbolicExpressionTree, Content.ProblemData, Content.ProblemData.TrainingIndices, 68 applyLinearScaling: true, maxIterations: constOptIterations, updateVariableWeights: true, lowerEstimationLimit: model.LowerEstimationLimit, upperEstimationLimit: model.UpperEstimationLimit, 69 iterationReport: (args, func, iter) => { 70 Progress.ProgressValue = (double)iter / (constOptIterations + 1); // (maxIterations + 1) iterations are reported 71 }); 72 }); 73 UpdateModel(Content.Model.SymbolicExpressionTree); // UpdateModel calls Progress.Finish 66 74 } 67 75 } -
branches/SimplifierViewsProgress/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression.Views/3.4/SymbolicRegressionSolutionView.cs
r14185 r15319 51 51 private void btn_SimplifyModel_Click(object sender, EventArgs e) { 52 52 var view = new InteractiveSymbolicRegressionSolutionSimplifierView(); 53 view.Show(); // open view first that a progress can be displayed when setting the content 53 54 view.Content = (SymbolicRegressionSolution)this.Content.Clone(); 54 view.Show();55 55 } 56 56
Note: See TracChangeset
for help on using the changeset viewer.