- Timestamp:
- 07/31/18 13:26:33 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2904_CalculateImpacts/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/RegressionSolutionVariableImpactsView.cs
r16034 r16035 160 160 int count = originalVariableOrdering.Count; 161 161 int i = 0; 162 163 foreach (var variable in originalVariableOrdering) { 162 var modifiableDataset = ((Dataset)(problemData.Dataset).Clone()).ToModifiable(); 163 IEnumerable<int> rows = RegressionSolutionVariableImpactsCalculator.GetPartitionRows(dataPartition, problemData); 164 165 //Calculate original quality-values (via calculator, default is R²) 166 OnlineCalculatorError error; 167 IEnumerable<double> targetValuesPartition = rows.Select(v => problemData.TargetVariableValues.ElementAt(v)); 168 IEnumerable<double> estimatedValuesPartition = rows.Select(v => estimatedValues.ElementAt(v)); 169 var originalCalculatorValue = RegressionSolutionVariableImpactsCalculator.CalculateVariableImpact(targetValuesPartition, estimatedValuesPartition, out error); 170 if (error != OnlineCalculatorError.None) throw new InvalidOperationException("Error during calculation."); 171 172 foreach (var variableName in originalVariableOrdering) { 164 173 if (cancellationToken.Token.IsCancellationRequested) { return null; } 165 174 progress.ProgressValue = (double)++i / count; 166 progress.Status = string.Format("Calculating impact for variable {0} ({1} of {2})", variable , i, count);167 168 double impact = RegressionSolutionVariableImpactsCalculator.CalculateImpact(variable , model, problemData, Content.EstimatedValues, dataPartition, replMethod, factorReplMethod);169 impacts.Add(new Tuple<string, double>(variable , impact));175 progress.Status = string.Format("Calculating impact for variable {0} ({1} of {2})", variableName, i, count); 176 177 double impact = RegressionSolutionVariableImpactsCalculator.CalculateImpact(variableName, model, modifiableDataset, rows, targetValuesPartition, originalCalculatorValue, replMethod, factorReplMethod); 178 impacts.Add(new Tuple<string, double>(variableName, impact)); 170 179 } 171 180
Note: See TracChangeset
for help on using the changeset viewer.