Changeset 16041 for branches/2904_CalculateImpacts/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/RegressionSolutionVariableImpactsView.cs
- Timestamp:
- 08/03/18 10:55:23 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2904_CalculateImpacts/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/RegressionSolutionVariableImpactsView.cs
r16035 r16041 165 165 //Calculate original quality-values (via calculator, default is R²) 166 166 OnlineCalculatorError error; 167 IEnumerable<double> targetValuesPartition = rows.Select(v => problemData.TargetVariableValues.ElementAt(v)); 168 IEnumerable<double> estimatedValuesPartition = rows.Select(v => estimatedValues.ElementAt(v)); 167 IEnumerable<double> targetValuesPartition = problemData.Dataset.GetDoubleValues(problemData.TargetVariable, rows); 168 IEnumerable<double> estimatedValuesPartition = Content.GetEstimatedValues(rows); 169 169 170 var originalCalculatorValue = RegressionSolutionVariableImpactsCalculator.CalculateVariableImpact(targetValuesPartition, estimatedValuesPartition, out error); 170 171 if (error != OnlineCalculatorError.None) throw new InvalidOperationException("Error during calculation."); … … 175 176 progress.Status = string.Format("Calculating impact for variable {0} ({1} of {2})", variableName, i, count); 176 177 177 double impact = RegressionSolutionVariableImpactsCalculator.CalculateImpact(variableName, model, modifiableDataset, rows, targetValuesPartition, originalCalculatorValue, replMethod, factorReplMethod); 178 double impact = 0; 179 //If the variable isn't used for prediction, it has zero impact. 180 if (model.VariablesUsedForPrediction.Contains(variableName)) { 181 impact = RegressionSolutionVariableImpactsCalculator.CalculateImpact(variableName, model, modifiableDataset, rows, targetValuesPartition, originalCalculatorValue, replMethod, factorReplMethod); 182 } 178 183 impacts.Add(new Tuple<string, double>(variableName, impact)); 179 184 }
Note: See TracChangeset
for help on using the changeset viewer.